Skip to content

Geraldxm/sompiler

 
 

Repository files navigation

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虚拟机的执行环境。

About

SNL Compiler in TypeScript.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • TypeScript 70.5%
  • C++ 23.9%
  • Vue 4.4%
  • JavaScript 0.6%
  • HTML 0.3%
  • C 0.2%
  • CSS 0.1%