抽象语法树AST(Abstract Syntax Tree)

JavaScript执行从读取文件到生成机器码,经历词法分析、语法分析和语义分析。词法分析识别单词符号,生成令牌流;语法分析将令牌流转化为抽象语法树AST;语义分析审查类型,收集类型信息。了解AST对于前端开发者理解插件和工具的实现至关重要。
摘要由CSDN通过智能技术生成

JavaScript 的执行过程

JS执行的第一步是读取 js 文件中的字符流,然后通过词法分析生成令牌流Tokens,之后再通过语法分析生成 AST(Abstract Syntax Tree),最后生成机器码执行。

模版语法-->抽象语法树AST-->渲染函数(h函数)-->虚拟节点(diff在此运行)-->界面生成AST需要用到指针算法和Stack数据结构

什么是AST(抽象语法树)?

抽象语法树(Abstract Syntax Tree,AST),或简称语法树(Syntax tree),是源代码语法结构的一种抽象表示。它以树状的形式表现编程语言的语法结构,树上的每个节点都表示源代码中的一种结构。

为什么要了解AST ?

如果你想了解 前端 常用的一些插件或者工具是如何实现的?那么你就得了解 AST,比如说Javascript转译、代码压缩、css预处理器、elint、pretiier等功能的实现,都是建立在 AST 的基础之上。

JavaScript 是一种解释型脚本语言,与 C、C++ 等语言需要先编译 再运行不同,使用 JavaScript 编写的代码 不需要 编译成目标源码, 可以直接运行(编译和解释是一次性完成的)。

编译 是把 输入的源程序 翻译生成为目标代码(例如,字节码等),并存下来(无论是存在内存中还是磁盘上),后续可直接执行此目标代码,即可以复用;
解释
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值