-
概述
-
编写目的
将C++源文件进行词法分析,生成对应属性的Token记号
-
术语
Token记号: 当扫描程序将字符收集到一个记号中时,它通常是以符号表示这个记号
-
参考资料
<<编译原理及实践>>
-
-
标准和规范
- Kotlin编码规范
- Compose for Desktop
-
限制
- 本项目针对Windows平台的GUI进行生成,若需要跨平台,请修改
build.gradle
中的目标平台
- 本项目针对Windows平台的GUI进行生成,若需要跨平台,请修改
-
总体设计
-
组织结构
- GUI
- 词法分析器
- 替换规则
- 日志
-
处理流程
通过GUI打开文件将文件内容导入至文本框,或直接在文本框上写源码。文本框实时监测内容的变化并向词法分析器发出请求,分析器按照替换窗口中定义的替换规则将源码进行分割并生成对应的token结果列表输出在程序下方的结果显示区。
-
模块间的关系
用户操作图形界面将源码导入到文本框并启动分析程序并将结果返回给图形界面显示
-
-
外部接口
只对外提供词法分析器的接口
可将
输入流
文本字符串
文件对象
作为参数传入并返回token结果列表 -
数据结构
- state: 每个窗口当拥有一个自己的state储存自己的状态信息,窗口会监听state中数据的变化做出显示上的反应
-
容灾设计
错误堆栈信息会通过日志输出到控制台和错误窗口