关键字:产生式
  • JavaScript语法(一):在script标签写export为什么会抛错?
    脚本和模块首先,JavaScript 有两种源文件,一种叫做脚本,一种叫做模块。这个区分是在 ES6 引入了模块机制开始的,在 ES5 和之前的版本中,就只有一种 ...
  • javaScript语法(预备篇):到底要不要写分号呢?
    在我们介绍 JavaScript 语法的全局结构之前,我们先要探讨一个语言风格问题:究竟要不要写分号。这是一个非常经典的口水问题,“加分号”党和“不写分号”党之间的战争,可谓是经久不息。实际上,行尾使用分号 ...
  • (小实验)理解编译原理:一个四则运算的解释器
    在前面的课程中,我在 JavaScript 和 CSS 的部分,多次提到了编译原理相关的知识。这一部分的知识,如果我们从编译原理“龙书”等正规的资料中学习,就会耗费掉不少的时间,所以我在这里设计了一个小实验,帮助你快速理解编译原理相关 ...
  • javaScript执行(二):闭包和执行上下文到底是怎么回事?
    在上一课,我们了解了 JavaScript 执行中最粗粒度的任务:传给引擎执行的代码段。并且,我们还根据“由 JavaScript 引擎发起”还是“由宿主发起”,分成了宏观任务和微观任务,接下来我们继续去看一看更细的执行粒度。 ...
  • 精读《手写 JSON Parser》
    1 引言 JSON.parse 是浏览器内置的 API,但如果面试官让你实现一个怎么办?好在有人已经帮忙做了这件事,本周我们一起精读这篇 <a href="https://li ...
  • 精读《手写 SQL 编译器 - 文法介绍》
    1 引言 文法用来描述语言的语法规则,所以不仅可以用在编程语言上,也可用在汉语、英语上。 2 精读 我们将一块语法规则称为 产生式</str ...
  • 精读《手写 SQL 编译器 - 语法分析》
    1 引言 接着上周的文法介绍,本周介绍的是语法分析。 以解析顺序为角度,语法分析分为两种,自顶而下与自底而上。 自顶而下一般采用递归下降方式处理,称为 LL(k),第一个 L ...

暂无数据