@@ -68,7 +68,7 @@ const ast = parse(template.trim(), options)
回到正题,我们说 `parser` 是编译器处理源代码的第一步,原因是什么呢?接下来我们讲一讲什么是 `parser`。
-`parser` 是把某种特定格式的文本转换成某种数据结构的程序,其中“特定格式的文本”可以理解为普通的字符串,而 `parser` 的作用就是将这个字符串转换成一种数据结构,并且这个数据结构是编译器能够理解的,因为编译器的后续步骤,比如上面讲过的 语义分析,类型检查/推导,代码优化,代码生成 等等都依赖于该数据结构,正因如此我们才说 `parser` 是编译器处理源代码的第一步,并且这种数据结构是抽象的,我们称其为抽象语法树,即 `AST`。
+`parser` 是把某种特定格式的文本转换成某种数据结构的程序,其中“特定格式的文本”可以理解为普通的字符串,而 `parser` 的作用就是将这个字符串转换成一种数据结构,并且这个数据结构是编译器能够理解的,因为编译器的后续步骤,比如上面提到的 语义分析,类型检查/推导,代码优化,代码生成 等等都依赖于该数据结构,正因如此我们才说 `parser` 是编译器处理源代码的第一步,并且这种数据结构是抽象的,我们常称其为抽象语法树,即 `AST`。