# 项目说明
## 词法分析
程序有两个输入:一个文本文档,包括一组 3º型文法(正规文法)的产生式;一个源代码文本文档,包含一组需要识别的字符串(程序代码)。 程序的输出是一个 token(令牌)表,该表由 5 种 token 组成:关键词,标识符,常量,限定符和运算符。
词法分析程序的处理逻辑:根据用户输入的正规文法,生成 NFA,再确定化生成 DFA,根据 DFA 编写识别 token 的程序,从头到尾从左至右识别用户输入的源代码,生成 token 列表(三元组:所在行号,类别,token 内容)。该程序可以准确识别:科学计数法形式的常量(如 0.314E+1),复数常量(如10+12i),可检查整数常量的合法性,标识符的合法性(首字符不能为数字等)。
## 语法分析
使用 LR(1) 方法进行语法分析。程序有两个输入:1)一个是文本文档,其中包含 2º型文法(上下文无关文法)的产生式集
合;2)词法分析程序输出的(生成的)token 令牌表。程序的输出包括:YES 或 NO。源代码字符串符合此 2º型文法,或者源代码字符串不符合此 2º型文法);错误提示文件,并给出大致的出错原因。
语法分析程序的处理逻辑:根据用户输入的 2º型文法,生成 Action 及 Goto 表,设计合适的数据结构,判断 token 序列(用户输入的源程序转换)。能演示语法处理的中间过程。
## 图形化界面
为上面的词法分析和语法分析封装一个图形化界面,增加与用户的交互
# 源代码文件结构
├─Main.java
├─lexical
| ├─code.txt
| ├─DFA_.java
| ├─Identifier.java
| ├─Lexer.java
| ├─NFA_.java
| ├─test.txt
| ├─Token.java
| └wenfa.txt
├─gui
| ├─GrammarWindow.java
| ├─LexicalWindow.java
| └MainWindow.java
├─grammar
| ├─First_.java
| ├─Grammar_.java
| ├─Parser_.java
| ├─Set_.java
| ├─yufa.txt
| ├─yufa_design.txt
| └终结符对照表.txt
src文件夹下,是项目的源代码
Main类,整个项目的入口<br>
<hr>
gui包下是与图形化界面编程相关的代码<br>
MainWindow:主窗口类<br>
LexicalWindow:词法分析窗口类<br>
GrammarWindow:语法分析窗口类<br>
resultFrame:语法分析细节展示窗口类<br>
<hr>
lexical包下是词法分析相关的部分<br>
NFA_类:实现NFA的表示与相关处理<br>
DFA_类:实现DFA的表示与相关处理<br>
Lexer类:词法分析主类<br>
Identifier类:辅助类<br>
Token类:三元组表示类<br>
code.txt:源代码文件<br>
wenfa.txt:正规文法文件<br>
<hr>
grammar包下是与语法分析相关的部分:<br>
Grammar_类:处理与存储上下文无关文法相关逻辑的类<br>
First_类:处理与存储First集合相关逻辑的类<br>
Set_类:得到项目集族和ACTION表<br>
Parser_类:语法相关主类<br>
yufa.txt:上下文无关文法<br>
yufa_design.txt:语法设计思路<br>
终结符对照表.txt:将设计思路中的中文转换为字符的对照表<br>
<hr>
图形化界面和词法分析与语法分析的实现是低耦合的,也就是说,如果不需要图形化界面了,可以直接将图形化界面去掉,剩下的部分依然可以正常运行。
没有合适的资源?快使用搜索试试~ 我知道了~
编译原理课程设计项目,实现简单的词法分析和语法分析,并实现图形化界面.zip
共21个文件
java:13个
txt:6个
mf:1个
1.该资源内容由用户上传,如若侵权请联系客服进行举报
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
版权申诉
0 下载量 46 浏览量
2023-11-17
01:04:19
上传
评论
收藏 25KB ZIP 举报
温馨提示
编译原理课程设计项目,实现简单的词法分析和语法分析,并实现图形化界面.zip 1、该资源内项目代码经过严格调试,下载即用确保可以运行! 2、该资源适合计算机相关专业(如计科、人工智能、大数据、数学、电子信息等)正在做课程设计、期末大作业和毕设项目的学生、或者相关技术学习者作为学习资料参考使用。 3、该资源包括全部源码,需要具备一定基础才能看懂并调试代码。 编译原理课程设计项目,实现简单的词法分析和语法分析,并实现图形化界面.zip 1、该资源内项目代码经过严格调试,下载即用确保可以运行! 2、该资源适合计算机相关专业(如计科、人工智能、大数据、数学、电子信息等)正在做课程设计、期末大作业和毕设项目的学生、或者相关技术学习者作为学习资料参考使用。 3、该资源包括全部源码,需要具备一定基础才能看懂并调试代码。 编译原理课程设计项目,实现简单的词法分析和语法分析,并实现图形化界面.zip 1、该资源内项目代码经过严格调试,下载即用确保可以运行! 2、该资源适合计算机相关专业(如计科、人工智能、大数据、数学、电子信息等)正在做课程设计、期末大作业和毕设项目的学生、或者相关技术学习者....
资源推荐
资源详情
资源评论
收起资源包目录
编译原理课程设计项目,实现简单的词法分析和语法分析,并实现图形化界面.zip (21个子文件)
compilePrincipleProject-main
src
META-INF
MANIFEST.MF 57B
com
wqa
compiler
gui
LexicalWindow.java 4KB
MainWindow.java 1KB
GrammarWindow.java 5KB
lexical
DFA_.java 6KB
NFA_.java 2KB
Lexer.java 6KB
Identifier.java 2KB
Token.java 450B
test.txt 716B
wenfa.txt 2KB
code.txt 262B
grammar
yufa_design.txt 1KB
Grammar_.java 2KB
Parser_.java 8KB
Set_.java 11KB
First_.java 3KB
终结符对照表.txt 324B
yufa.txt 277B
Main.java 782B
README.md 3KB
共 21 条
- 1
资源评论
辣椒种子
- 粉丝: 4108
- 资源: 5737
下载权益
C知道特权
VIP文章
课程特权
开通VIP
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功