解释器¶
解释器负责将源代码转换为机器指令,它主要包含以下几个部分:
- 词法分析器
- 语法分析器
- 抽象语法树
- 内部对象系统
- 求值器
词法分析器¶
词法分析器将源代码转换为词法单元——构成源代码的最小单位,例如关键字、运算符、分隔符等。 词法分析器会遍历输入的源代码,识别出每个词法单元,并将其存储起来。
语法分析器¶
语法分析器将词法单元转换为抽象语法树(Abstract Syntax Tree,AST),并在这个过程中检查语法是否正确。 之所以使用"抽象"这个词,是因为 AST 省略了源代码中可见的某些细节,比如分号、换行符、空格、注释、括号等。