武汉理工大学计算机学院05级编译原理课程设计。用C++写的一个do-while循环语句的编译程序,用SLR(1)分析方法,中间代码三元式,VS2005平台上运行。其他平台请把代码复制过去即可!
2021-11-23 11:26:17 1.36MB VS2005 编译原理 词法分析 语法分析
1
词法分析部分我们遵从一般的规律进行分析,设计,编写程序,运用一般自动机理论构造状态,将状态转化成程序。语法分析部分我们我们采用ll(1)方法实现,采用ll(1)方法实现语法发分析要求文法满足以下要求:经过压缩,无左递归,无回溯。 本部分内容是语义分析,主要的功能是把根据词法,语法分析的结果生成中间代码!我们采用的中间代码形式是类似四地址码的形式,只有if 和goto 语句,其他的就是算术和逻辑表达式!我们认为我们已经完成了中间代码的生成要求!
1
本课程中所实现的程序为普通C或C++程序,在Windows环境下,属于控制台应用程序。
1
LEX和YACC第二版中文版。LEX是词法分析工具,YACC是语法分析工具,使用这两个工具可以编写编译器等。
2021-11-05 11:57:19 19.52MB LEX YACC 词法分析 语法分析
1
编译原理及实现 词法分析 语法分析 TESTmachine函数 完整 附录C,附录D,附录E
2021-09-24 08:16:29 8KB 编译原理 词法 语法分析 TESTmachine
1
分享自己做的编译原理试验综合程序,包括词法分析、语法分析和逆波兰式!方便大家学习!
2021-09-17 18:40:05 265KB 编译原理
1
包括:设计目的、设计要求、开发环境、分析器模型图、设计原理、框架图、分析过程、主要函数、运行结果 (1)词法分析: 创建一个词法分析程序,它支持对正规文法的分析。必须使用DFA(确定性有限自动机)或NFA(非确定性有限自动机)来实现这一项目。该程序的输入是一个文本文件,包括一组由该正规文法产生的产生式以及待识别源代码字符串。该程序的输出是一个符号表(二元式),它由5种类型符号:关键词,识别符,常量,界符和操作符。 (2)语法分析: 创建一个语法分析程序,它采用LL(1)方法或LR(1)方法。该程序的输入是一个文本文档,包括一组2型文法(上下文无关文法)的产生式和任务1程序输出的符号表。任务2的输出是一个YES或NO,即源代码字符串是否符合本2型文法。
最全代码,课设代码已验证可以直接运行,语法分析用了两种方式实现:LL1以及递归下降分别实现,Predict集也有两种方式实现,具体详见代码。注释全面。
2021-08-06 17:06:40 365KB C++/C
编译原理课程设计,完成了词法分析,语法分析和类型检查,编写语言为JAVA。使用JLEX产生词法分析器。
2021-07-26 21:17:42 591KB 编译 词法分析 语法分析 类型检查
1
对四则混合运算做了些扩展,增加了关键字,表达式最终还是返回一个运算值。 支持操作数:int、double、bool、datetime、string 支持关键字:IF、AND、OR、NOT、TRUE、FALSE、ToString、ToDateTime、ToInt、ToDouble、Len、NowDate 详细信息参见:http://blog.csdn.net/welliu/archive/2011/04/25/6360777.aspx
2021-07-26 20:28:21 174KB C# 表达式解析 词法分析 语法分析
1