Windows 平台下的 Visual Studio,需要安装 .NET Core 开发工具 3.1 版本。
本项目没有除了 .NET 基础类库没有其他依赖,将解决方案载入 Visual Studio 直接编译即可。汇编器不是本项目的一部分,它直接以可执行文件提供,需要将压缩包 ILAsm.Win.x64.zip
解压到文件夹 /Compiler/bin/Debug/netcoreapp3.1
下(注意:不要为压缩包中的内容创建子文件夹)。
在项目编译完成后,文件夹 /Compiler/bin/Debug/netcoreapp3.1
下 Compiler.exe
即为编译器的可执行文件。直接运行此程序(无参数)将从标准输入读取 Lisp 代码,编译为 Program.dll
。运行 Program.exe
会调用 Program.dll
,执行编译出的程序。
Compiler.exe
提供几个参数:
-l [FILE]
:将FILE
作为输入编译为库,此时编译出的文件为Library.dll
。-i
:运行解释器。-ii
:运行 REPL。[FILE]
:将FILE
作为输入编译。
- 项目
Compiler
:编译器Assembler
:汇编器调用CIL
:CIL指令及代码生成Instructions
:CIL汇编中使用到的指令定义
Frontend
:前端IL
:中间语言定义Optimization
:优化ControlFlow
:数据流分析
Resources
:CIL导言
- 项目
Runtime
:运行时 CompilerTest
:测试用例及脚本