实验代码
CompilerPrincipalExperiment: 杭电计算机编译原理课程实验
实验有四个,输入均是用命令行参数指明输入文件,输出默认在输入文件同文件夹。
LexicalAnalysis.cc
词法分析程序,把源代码分解成二元组,可以有效识别非法字符和两类注释并且在对应报错位置予以提出。
RegexParser.cc
正规表达式解析程序,可以把正规表达式解析成后缀表达式然后输出可以生成对应的NFA的dot语言的源代码,源代码再经dot工具可以得到使用MYT算法得到的对应正规表达式的NFA。
注意,它的输入是单纯正规表达式
RecursiveDownParsing.cc
递归下降子程序,可以实现LL(1)文法的语句的合法性的鉴别,具体文法见测试样例。
注意,它的输入是经词法分析处理的表达式的二元组
LL1Parser.cc
LL(1)分析程序,可以实现LL(1)文法的语句的合法性的鉴别,具体文法见测试样例。
注意,它的输入是经词法分析处理的表达式的二元组