所使用的开发环境:Windows10、python(PyCharm)环境 注意,main.py里面有一个写函数,如果没有该位置可能会出错,建议注释掉。 课题功能: 创建一个词法分析程序,该程序支持分析常规语法。使用DFA(确定性有限自动机)来实现此程序。 程序有两个输入:1)一个文本文档,包括一组3º语法(正规文法)的产生式;2)一个源代码文本文档,包含一组需要识别的字符串。 程序的输出是一个token(令牌)表,该表由5种token组成:关键词,标识符,常量,限定符和运算符。 项目简介: 词法分析器读入三型文法,将三型文法构建成一个起点和一个终点的NFA,然后将NFA用子集法构造成DFA,创建DFA的索引表,后续读取要扫描的代码,将代码中的每个词依次带入DFA的索引表进行状态转换,如果到达终态说明词符合文法要求,输出token列表(三元组:所在行号,类别,token 内容)如果出错会输出另一种三元组(行号, 对错判定, token内容),并将token列表写入txt文件供任务二LR(1)语法分析器来使用,同时也会将结果输出到result.txt文件来观测。
2023-03-05 14:33:24 7.3MB python 编译原理 课程设计 词法分析器
1
东南大学编译原理课程设计完整版源码和实验报告
2023-03-02 14:48:45 59KB 东南大学
1
实现了目标代码生成,实现了数组、自增、循环、结构体、函数
2023-01-18 20:32:22 53.73MB 华科大 编译原理 课程设计
1
编译原理课程设计报告\LR1语法分析器自动识别.rar
1
类c语言的编译器
2022-12-22 10:24:38 2.62MB c
1
编译原理课程设计LR0分析实验报告
2022-12-18 18:19:21 720KB 编译原理
1
算符优先文法完整版,程序实现了几乎整个算符优先文法的自动化分析,并且展示到GUI界面上,可由用户输入任何文法和输入串,算符优先文法则正常分析,非算符优先文法则提示错误信息,并且整个程序在一些方面设计了优化程序体验
2022-12-14 22:50:19 6KB java 算符优先文法 编译原理
1
从键盘上输入一字符串(包括字母、数字等),最后以“;”结束, 编写程序将字符串中的小写字母变成大写字母,并去除字符串中得空格符 从键盘上输入一字符串(包括字母、数字等),最后以";"结束,编写程序识别出其中的无符号数。 无符号数文法规则可定义如下: <无符号数>→<无符号实数>|<无符号整数> <无符号实数>→<无符号整数>.<数字串>[E<比例因子>]|<无符号整数>E<比例因子> <比例因子>→<有符号整数> <有符号整数>→[+|-]<无符号整数> <无符号整数>→<数字串> <数字串>→<数字>{<数字>} <数字>→0|1|2……8|9
2022-12-11 22:14:19 906B 词法分析 无符号数文法规则 识别
1
编译原理课程设计,内含词法分析+语法分析源代码;课程设计报告;使用说明
2022-12-09 03:30:35 1.38MB 编译原理 课程设计
1
扩充语言成份:“if 条件 then 语句系列1 else 语句系列2”。 扩充语言成份:“do while 语句系列 until 条件” 扩充语言成份: ①“for 变量= 初值 to 终值 do begin 语句系列 end” ②“for 变量= 初值 downto 终值 do begin 语句系列 end” 其中,语句①中循环变量的步长为1,语句②中循环变量的步长为-1。
2022-11-30 22:56:41 62KB 编译原理
1