在学习AST之前,可以结合此篇博客(浅析代码编译过程 )一起看。
抽象语法树(Abstract Syntax Tree)也称为AST语法树,指的是源代码语法所对应的树状结构。也就是说,对于一种具体编程语言下的源代码,通过构建语法树的形式将源代码中的语句映射到树中的每一个节点上。
如果你查看目前任何主流的项目中的 devDependencies,会发现前些年的不计其数的插件诞生。蜜桃成人网站入口归纳一下有:javascript转译、代码压缩、css预处理器、elint、pretiier,等。有很多js模块蜜桃成人网站入口不会在生产环境用到,但是它们在蜜桃成人网站入口的开发过程中充当着重要的角色。所有的上述工具,不管怎样,都建立在了AST这个巨人的肩膀上。
所有的上述工具,不管怎样,都建立在了AST这个巨人的肩膀上。
一、JavaScript语法解析1、什么是AST抽象语法树
It is a hierarchical program representation that presents source code structure according to the grammar of a programming language, each AST node corresponds to an item of a source code.
估计很多同学看完这段官方的定义一脸懵逼,可以通过一个简单的例子来看语法树具体长什么样子。有如下代码:
蜜桃成人网站入口可以发现,程序代码本身可以被映射成为一棵语法树(实际上,真正AST每个节点会有