收款定制开发AST原理解析

什么是 AST

收款定制开发抽象语法树(Abstract Syntax Tree)简称 AST,收款定制开发是源代码的抽象语法结构的树状表现形式。webpack、 等很多工具库的核心都是通过抽象语法书这个概念来实现对代码的检查、分析等操作。

// 简单函数function square(n) {    return n * n;} // 转换后的AST{   type: "FunctionDeclaration",   id: {       type: "Identifier",       name: "square"   },   params: [      {           type: "Identifier",           name: "n"      }   ],   ...}

第一步:词法分析,也叫扫描scanner

它读取我们的代码,然后把它们按照预定的规则合并成一个个的标识 tokens。同时,它会移除空白符、注释等。最后,整个代码将被分割进一个 tokens 列表(或者说一维数组)。

const a = 5;// 转换成[{value: 'const', type: 'keyword'}, {value: 'a', type: 'identifier'}, ...]

第二步:语法分析,也称解析器

它会将词法分析出来的数组转换成树形的形式,同时,验证语法。语法如果有错的话,抛出语法错误。

[{value: 'const', type: 'keyword'}, {value: 'a', type: 'identifier'}, ...]// 语法分析后的树形形式{   type: "VariableDeclarator",    id: {       type: "Identifier",       name: "a"   },   ...}

示例

function add(a, b) {    return a + b}

网站建设定制开发 软件系统开发定制 定制软件开发 软件开发定制 定制app开发 app开发定制 app开发定制公司 电商商城定制开发 定制小程序开发 定制开发小程序 客户管理系统开发定制 定制网站 定制开发 crm开发定制 开发公司 小程序开发定制 定制软件 收款定制开发 企业网站定制开发 定制化开发 android系统定制开发 定制小程序开发费用 定制设计 专注app软件定制开发 软件开发定制定制 知名网站建设定制 软件定制开发供应商 应用系统定制开发 软件系统定制开发 企业管理系统定制开发 系统定制开发