本项目是一个基于Python实现的类Rust语言词法和语法分析工具。该工具能够对类Rust源代码进行词法分析和语法分析,并生成可视化的语法树结构。
.cache:预加载的语法分析所用的Action表和GOTO表。检测该文件和语法产生式文件的最后修改时间,如果预加载文件更新,就直接读取。反之重新读取产生式分析。configs:存储类Rust语法规则。data:存储Rust源代码,用于程序测试。lexer:实现词法分析。outputs:存储词法分析结果。lexparser:实现语法分析。static: 展示界面。utils:语法分析树可视化。main.py:通过命令行分析的主程序。entrance.py:网页可视化分析的主程序。README.md: 项目说明文档,包含项目简介、项目结构、环境要求、使用说明、结果显示等内容。requirements.txt: 项目所需的依赖库。
- Python 3.8 及以上版本
- 需要以下库:
- PyQt5
- regex
-
安装依赖库:
pip install -r requirements.txt
-
输入数据: 在
data文件夹下新建rust源代码作为输入数据,在main.py中修改相应路径名称。 -
启动程序: 运行
main.py启动应用程序。
-
词法分析结果: 词法分析结果在
outputs文件夹下的result.json文件中生成。 -
语法分析结果: 程序执行完成后会在新窗口展示语法分析树。
-
错误提示: 如果rust源代码存在语法错误,控制台会给出相应的错误提示。