25th-engineer / Compile_Experiment_LR_1

Hefei University of Technology Principle of Compiler experiment: LR (1) grammar analysis. The core code implemented by Scala and the GUI by Java. -- 合肥工业大学《编译原理》实验:LR(1)文法分析。核心代码是Scala;Java实现GUI。

Home Page:https://blog.csdn.net/u25th_engineer/article/details/102789976

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Compile_Experiment_LR1

合肥工业大学编译原理实验LR(1)文法分析,Scala实现;Java实现GUI。



开发环境:

硬件:

Dell G3 3579;

软件:

OS:Ubuntu 16.04.06;
IDE:InterLRiJ IDEA Ultimate Edition(2019.1.3);
编程语言:Scala、Java。

完成情况:

代码行数:

①纯粹自己写的、不含GUI代码、不含注释、不含空行:736;
②含参考而来的GUI代码与各类注释:1474;

数据结构与算法设计:

①核心代码部分,均为自己参照书上的算法,用极为朴素的方法实现(Scala,736);
②GUI的编写参考“菊花侠”大佬的手笔,Java封装实现界面;
③界面还有待改进的地方,如:表格2可以加个滚动条。

程序截图:

图 1 开始界面
开始界面
图 2 选择文件
选择文件
图 3 分析界面
分析界面
图 4 显示初始文法
显示初始文法
图 5 分析完成(输入表达死为“i+i*i”)
分析完成(输入表达死为“i+i*i”)
图 6 分析完成(输入表达死为“i+i*i”,手动把单元格拉长了些)
分析完成(输入表达死为“i+i*i”,手动把单元格拉长了些

About

Hefei University of Technology Principle of Compiler experiment: LR (1) grammar analysis. The core code implemented by Scala and the GUI by Java. -- 合肥工业大学《编译原理》实验:LR(1)文法分析。核心代码是Scala;Java实现GUI。

https://blog.csdn.net/u25th_engineer/article/details/102789976


Languages

Language:Scala 97.8%Language:Java 2.2%