Skip to content

Latest commit

 

History

History
22 lines (20 loc) · 1.67 KB

README.md

File metadata and controls

22 lines (20 loc) · 1.67 KB

sompiler

使用方法

  1. 进入 sompiler/
  2. 在终端运行 npm install 下载包
  3. 在终端运行 npm run dev 启动服务
  4. 进入网页端即可进行 词法分析、语法分析、语义分析、目标代码 生成
  5. 进入 TM Running Environment ,终端下运行 main.exe ,输入文件名,即可执行目标代码

项目结构

  • lexicon/ 建立Token数据结构,词法符号LexicalType枚举结构;扫描源程序的字符序列,识别每一个单词机器种类,最后表示成Token形式。
  • syntax/ 采用递归下降法进行语法分析。建立语法树节点,以及各种需要用到的枚举等数据结构;扫描Token形式的源程序,最终形成语法树结构,返回语法树根节点。
  • semantics/ 建立类型的内部表示、标识符的内部表示、语义分析表项、枚举类型等数据结构;检查源程序的语法树有无语义错误,将语义信息存入语法树对应节点中。
  • gencode/ 建立TM寄存器枚举结构;将语法树以及对应的语义信息转换为TM汇编代码。
  • TM Running Environment/ TM虚拟机的执行环境。