Go to file
jackfiled 5e3ea6303e refact: syntax-node (#23)
重构语法树的部分,使用单独的类来抽象不同的非终结符节点。
**同时**,将`Pascal`语法的定义从测试项目中移动到核心项目中,在项目中只维护一份对于`Pascal`语法的定义。

Reviewed-on: PostGuard/Canon#23
2024-04-07 16:47:28 +08:00
.gitea/workflows feat: integration-test (#13) 2024-03-15 14:56:41 +08:00
Canon.Console refact: 将Compiler类移动到Canon.Console中 2024-03-11 11:40:06 +08:00
Canon.Core refact: syntax-node (#23) 2024-04-07 16:47:28 +08:00
Canon.Tests refact: syntax-node (#23) 2024-04-07 16:47:28 +08:00
open_set feat: integration-test (#13) 2024-03-15 14:56:41 +08:00
scripts feat: integration-test (#13) 2024-03-15 14:56:41 +08:00
.editorconfig init: repo 2024-03-09 20:11:27 +08:00
.gitignore feat: integration-test (#13) 2024-03-15 14:56:41 +08:00
Canon.sln feat: integration-test (#13) 2024-03-15 14:56:41 +08:00
README.md add: 自述文件 2024-03-10 19:27:01 +08:00

Canon

简单的Pascal编译器。

项目结构

主要由以下三个项目组成:

  • Canon.Core 核心的编译器库,负责词法分析、语法分析、语义分析和目标代码生成等等一系列工作;
  • Canon.Console编译器的控制台应用程序,负责处理命令行参数和读写文件等等工作;
  • Canon.TestsCanon.Core进行测试的测试库。

开始使用

需要:

  • Dotnet SDK 8.0
  • Visual Studio 2022或者Rider 2023.3.3

才能运行和编辑该项目。