1.1 编译对象 1.2 编译功能 3.1 概要设计 3.2 详细设计
2023-03-08 10:03:12 805KB
1
编译原理课程设计 词法分析器 java版 题目要求:把关键字、算符、界符称为语言固有的单词,标识符、常量称为用户自定义的单词。为此设置三个全程量:SYM,ID,NUM 。 SYM:存放每个单词的类别,为内部编码的表示形式。 ID:存放用户所定义的标识符的值,即标识符字符串的机内表示。 NUM:存放用户定义的数。 GETSYM要完成的任务: 1. 滤掉单词间的空格。 2. 识别关键字,用查关键字表的方法识别。当单词是关键字时,将对应的类别放在SYM中。如IF的类别为IFSYM,THEN的类别为THENSYM。 3. 识别标识符,标识符的类别为IDENT,IDRNT放在SYM中,标识符本身的值放在ID中。关键字或标识符的最大长度是10。 4. 拼数,将数的类别NUMBER放在SYM中,数本身的值放在NUM中。 5. 拼由两个字符组成的运算符,如:>=、<=等等,识别后将类别存放在SYM中。 6. 打印源程序,边读入字符边打印。 由于一个单词是由一个或多个字符组成的,所以在词法分析程序GETSYM中定义一个读字符过程GETCH。
2023-03-05 16:48:43 108KB 编译原理 词法分析器 java
1
所使用的开发环境: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