实验代码

CompilerPrincipalExperiment: 杭电计算机编译原理课程实验

实验有四个,输入均是用命令行参数指明输入文件,输出默认在输入文件同文件夹。

LexicalAnalysis.cc

词法分析程序,把源代码分解成二元组,可以有效识别非法字符和两类注释并且在对应报错位置予以提出。

RegexParser.cc

正规表达式解析程序,可以把正规表达式解析成后缀表达式然后输出可以生成对应的NFA的dot语言的源代码,源代码再经dot工具可以得到使用MYT算法得到的对应正规表达式的NFA。

注意,它的输入是单纯正规表达式

RecursiveDownParsing.cc

递归下降子程序,可以实现LL(1)文法的语句的合法性的鉴别,具体文法见测试样例。

注意,它的输入是经词法分析处理的表达式的二元组

LL1Parser.cc

LL(1)分析程序,可以实现LL(1)文法的语句的合法性的鉴别,具体文法见测试样例。

注意,它的输入是经词法分析处理的表达式的二元组

实验报告