1.明确目标语言的语法
2.根据语法写出相应的词法分析程序,也可以用工具 LEX 生成
3.消除左递归文法,编写LL0下推自动机
4.根据自动机产生的语法树生成目标代码
5.目标代码优化
其中:
词法分析使用有状态自动机,遍历状态矩阵
语法分析使用LL0下推自动机,具体我也不懂
语法树完全不懂……但是貌似生成的时候要参考符号的优先级
目标代码就是按照语法树下推就行了
1.明确目标语言的语法
2.根据语法写出相应的词法分析程序,也可以用工具 LEX 生成
3.消除左递归文法,编写LL0下推自动机
4.根据自动机产生的语法树生成目标代码
5.目标代码优化
其中:
词法分析使用有状态自动机,遍历状态矩阵
语法分析使用LL0下推自动机,具体我也不懂
语法树完全不懂……但是貌似生成的时候要参考符号的优先级
目标代码就是按照语法树下推就行了