编程

JS中的二进制操作简介

写这篇博客的起源是在div.io上的一篇文章《你所不知道的JavaScript数组》by 小胡子哥下的评论中的讨论。

因为随着XHR2和现代浏览器的普及,在浏览器当中处理二进制不再向过去那样无所适从,随着Canvas/WebGL等新技术逐渐开始进入大众视野,也会用到一些字节数组或者16位、8位整数等东西。在node.js刚刚发布的4.0版本中,Buffer的底层使用了更符合JS标准的Uint8Array来实现,浏览器和node.js再次向相同的目标靠近了一点点,所以对于JS中处理二进制,我就打算写这篇文章作一个入门性质的流水账,方便一些对二进制处理不了解的同学快速入门,虽然在前端领域用到的不多,不过也可以作为茶余饭后的休闲谈资。

来吧,造个模板引擎轮子——目标代码生成

上篇上上篇,这一篇将介绍在上一篇区分出“模板语言”与“自然语言”的结构之后,如何进行“语法分析”、“语义分析”和“目标代码生成”。

这里几个关键词都加了引号,主要是因为和经典编译原理上定义的几个环节只是意合而非形同,不过用这样经典的三段式结构来打比方也许可以更好理解一些。