分享自己做的编译原理试验综合程序,包括词法分析、语法分析和逆波兰式!方便大家学习!
2021-09-17 18:40:05 265KB 编译原理
1
大连理工大学软件学院编译技术课程——词法分析上机实验 实验目的:对循环语句和条件判断语句编写词法分析编译程序,只能通过一遍扫描完成。 实验要求: (1) 关键字: for if then else while do 所有关键字都是小写。 (2)运算符和分隔符: : = + - * / <= >= ; ( ) # (3)其他标识符(ID)和整型常数(NUM),通过以下正规式定义: ID=letter(letter | digit)* NUM=digit digit* (4)空格由空白、制表符和换行符组成。空格一般用来分隔ID、NUM、运算符、分隔符和关键字,词法分析阶段通常被忽略。 各种词法单元对应的词法记号如下: 词法单元 词法记号 词法单元 词法记号 for 1 : 17 if 2 := 18 then 3 < 20 else 4 21 while 5 23 letter(letter+digit)* 10 >= 24 digit digit* 11 = 25 + 13 ; 26 - 14 ( 27 * 15 ) 28 / 16 # 0 词法分析程序的功能 输入:源程序 输出:二元组(词法记号,属性值/其在符号表中的位置)构成的序列。 例如:对源程序 x:=5; if (x>0) then x:=2*x+1/3; else x:=2/x; # 经词法分析后输出如下序列: (10,’x’)(18, :=) (11,5) (26, ;) (2, if ) (27,( )……
2021-09-17 11:33:55 3KB c++ 编译技术 词法分析
1
编译原理(编译技术)上机《实测可以运行》大连理工大学软件学院编译技术课程——MicroC词法分析上机实验 实验目的:对循环语句和条件判断语句编写词法分析编译程序,只能通过一遍扫描完成。 实验要求: (1) 关键字: for if then else while do until int input output 所有关键字都是小写。 (2) 运算符和分隔符: : = + - * / <= >= ; ( ) # (3) 其他标识符(ID)和整型常数(NUM),通过以下模式定义: ID=letter(letter | digit)* NUM=digit digit* (4) 空格由空白、制表符和换行符组成。空格一般用来分隔ID、NUM、运算符、分隔符和关键字,词法分析阶段通常被忽略。 各种词法单元对应的词法记号如下:
2021-09-15 19:05:31 7KB dut MicroC
1
词法分析器实现与设计实验报告及源程序和测试用例 很全哦 代码都有注释希望对大家有帮助
2021-09-10 20:55:05 148KB 词法分析器 实现 源程序
1
(1) 设计、编制并调试一个词法分析程序,加深对词法分析原理的理解。并掌握在对程序设计语言源程序进行扫描过程中将其分解为各类单词的词法分析方法。 (2) 编制一个读单词过程,从输入的源程序中,识别出各个具有独立意义的单词,即关键字、其他标识符、整型常数、运算符、界符五大类。并依次输入各个单词的内部编码及单词符号自身值(遇到错误时可显示“Error”,然后跳过错误部分继续显示)。
2021-09-10 18:57:38 2.17MB 编译原理 词法分析器 c语言
1
本资源是编译原理实验-词法分析,用c++语言实现,包括mysource.txt 、mytext.txt、output.txt和词法分析.cpp文件,能够实现词法分析功能 设计要求:创建一个词法分析程序,它支持对正规文法的分析。必须使用DFA(确定性有限自动机)或NFA(非确定性有限自动机)来实现这一项目。该程序的输入是一个文本文件,包括一组由该正规文法产生的产生式以及待识别源代码字符串。该程序的输出是一个符号表(二元式),它由5种类型符号:关键词,识别符,常量,界符和操作符。 用子集法将NFA转化为DFA。 配套博文:https://blog.csdn.net/air__Heaven/article/details/120181471
2021-09-08 18:06:31 250KB 编译原理 词法分析 nfa DFA
包括:设计目的、设计要求、开发环境、分析器模型图、设计原理、框架图、分析过程、主要函数、运行结果 (1)词法分析: 创建一个词法分析程序,它支持对正规文法的分析。必须使用DFA(确定性有限自动机)或NFA(非确定性有限自动机)来实现这一项目。该程序的输入是一个文本文件,包括一组由该正规文法产生的产生式以及待识别源代码字符串。该程序的输出是一个符号表(二元式),它由5种类型符号:关键词,识别符,常量,界符和操作符。 (2)语法分析: 创建一个语法分析程序,它采用LL(1)方法或LR(1)方法。该程序的输入是一个文本文档,包括一组2型文法(上下文无关文法)的产生式和任务1程序输出的符号表。任务2的输出是一个YES或NO,即源代码字符串是否符合本2型文法。
python+pyqt5手工编写一个含交互界面的简易词法分析器 @author:x1nge. 编译原理基础实验 基础 在之前的一篇博文中我记录了一个不含交互界面的简易词法分析器程序编写内容 点击此处查看 在本文我将用pyqt5写一个简单的交互界面,也修改了部分代码使得程序更加完整。 具体实验分析 本文全部源码见本文末尾,上次编写的不含交互界面的源码也可点此处下载 交互界面可以用QtDesigner快速编写,或者自己写,我采用的是用可视化界面创建了一个大致的框架,然后再手动添加其他需要的控件,或者微调一些属性。 我简单设计的交互界面如图所示: 有话说: 这边以C和C++为输入语言,其他语言有
2021-09-08 12:52:20 167KB pyqt pyqt5 python
1
编译原理 第03讲 词法分析.pdf
2021-09-01 22:00:32 2.26MB 学习资源
1
通过设计、编制、调试一个具体的词法分析程序,加深对词法分析原理的理解,并掌握在对程序设计语言源程序进行扫描过程中将其分解为各类单词的词法分析方法。
2021-08-30 12:01:41 376KB 编译原理 词法分析器
1