一个程序从源代码到可执行程序的过程
1.词法分析: 利用类似于“有限状态机”的算法,将源代码程序输入到扫描机中,将其中的 字符序列分割成一系列的记号 。
2.语法分析: 语法分析器对由扫描器产生的记号,进行语法分析,产生语法树。由语法分析器输出的 语法树是一种以表达式为节点的树 。上述的代码就是
3.语义分析: 语法分析器只是完成了对表达式语法层面的分析,语义分析器则对 表达式是否有意义 进行判断,其分析的语义是静态语义——在编译期能分期的语义,相对应的动态语义是在运行期才能确定的语义。
4.优化: * 源代码级别的一个优化过程 * ,例如该语句中的(3+8)的值可以在编译期确定,源代码优化器会将整个语法树转换成中间代码——语法树的顺序表示,十分接近目标代码。
如有侵权请及时联系我们处理,转载请注明出处来自
推荐文章