设计一个编译器的基本思路

来源:互联网 发布:东风suv景逸x5 知乎 编辑:程序博客网 时间:2024/06/05 21:50

1.明确目标语言的语法

2.根据语法写出相应的词法分析程序,也可以用工具 LEX 生成

3.消除左递归文法,编写LL0下推自动机

4.根据自动机产生的语法树生成目标代码

5.目标代码优化


其中:

词法分析使用有状态自动机,遍历状态矩阵


语法分析使用LL0下推自动机,具体我也不懂


语法树完全不懂……但是貌似生成的时候要参考符号的优先级


目标代码就是按照语法树下推就行了