通用编译器原理简述
2021-10-14 本文已影响0人
F_wind
compiler,parse,AST
一般情况下,编译器(compiler)主要做这么几件事情:
- 首先,读取源码进行解析(parse),也就是词法分析,将一些语言特定的关键字、字符串、符号、数字等提取到一个数组中;
- 然后将提取的数据,根据特定语言的规则,构造为抽象语法树(AST,abstract syntax tree),也就是一个深度嵌套的对象;针对于不同用途,编译器会对原始 AST 进行处理,并生成一个新 AST,比如删除注释或者空格、增减分号、高亮标记等操作;
- 最后,再根据新的 AST 生成代码。