作业指导书

Goal

本次大作业为编写一个编译器前端(包括词法分析器和语法分析器),(1)使用自动机理论 编写词法分析器,(2)自上而下或者自下而上的语法分析方法编写语法分析器

1、手工编写 C–语言的词法分析器,理解词法分析器的工作原理,熟练掌握高级语言 的单词符号的正规式表示,词法分析器的工作流程并编写源代码,识别出单词的二元属性, 填写符号表

2、手工编写 C–语言的语法分析器,理解自上而下/自下而上的语法分析算法的工作原 理;理解词法分析与语法分析之间的关系。语法分析器的输入为 C–语言源代码,输出为按 扫描顺序进行推导或归约的正确/错误的判别结果,以及按照最左推导顺序/规范规约顺序生 成语法树所用的产生式序列

Part1 - 词法分析器

词法分析源码

Part2 - 语法分析器

成果展示