程序由若干文件构成,文件中是开发人员编写的文本。
这些文本由一个特殊的程序(编译器)解析,转换成“抽象句法树”(abstract syntax tree, AST)。
AST是去掉了空白、注释和缩进用的制表符或空格之后的数据结构。
编译器把AST转换成一种称为字节码(bytecode)的低层表示。
字节码再传给运行时程序计算,得到最终结果。
也就是说,运行程序就是让运行时计算由编译器从源码解析得来的AST生成的字节码。
综上,步骤如下:
1、把程序解析为AST。
2、把AST编译成字节码。
3、运行时计算字节码。