Skip to content

Releases: whtoo/How_to_implment_PL_in_Antlr4

修订VM完成,实现自定义IR生成code的特性

02 Oct 09:33
Compare
Choose a tag to compare

Highlights

  • 修复CymbolAssembler中的emit语句参数格式错误 (a3c6c8b)
  • 修改Symbol类中的变量名 (a3c6c8b)
  • 增加新的IR节点定义和基本IR抽象求值的代码生成方法 (a42b4f5)
  • 在VM_Design.md中添加了函数定义的示例代码,并对指令集进行了修改 (a42b4f5)
  • 在build.xml中更改了VMInterpreter的输入文件为c.vm (a42b4f5)
  • 增加了对布尔操作数的支持 (a42b4f5)
  • 增加了与布尔操作相关的指令定义 (a42b4f5)
  • 在VMAssembler.g4中增加了布尔操作数的规则 (a42b4f5)
  • 修订了编译步骤描述 (39414e0)
  • 增加变量声明中关于初始化表达式的debug打印 (0b04c36)
  • 增加了编译流程图 (6e01da9)
  • 增加编译步骤流程说明 (fa95c7c)
  • 写下我想做的和为什么我要做 (08d0d3f)
  • 删除无效的不可见字符 (a5e4f70)
  • 修订ep18的描述 (2eb7f64)

Change Log

Bug Fixes

  • 修复CymbolAssembler中的emit语句参数格式错误 (a3c6c8b)

Refactor

  • 修改Symbol类中的变量名 (a3c6c8b)

Feature

  • 增加新的IR节点定义和基本IR抽象求值的代码生成方法 (a42b4f5)

Documentation

  • 在VM_Design.md中添加了函数定义的示例代码,并对指令集进行了修改 (a42b4f5)
  • 修订了编译步骤描述 (39414e0)
  • 增加变量声明中关于初始化表达式的debug打印 (0b04c36)
  • 增加了编译流程图 (6e01da9)
  • 增加编译步骤流程说明 (fa95c7c)
  • 写下我想做的和为什么我要做 (08d0d3f)
  • 删除无效的不可见字符 (a5e4f70)
  • 修订ep18的描述 (2eb7f64)

AST Completed

27 Sep 08:34
a7a051f
Compare
Choose a tag to compare

Highlights

  • Added support for a stack interpreter in ep18
  • Implemented variable scope determination in ep15
  • Implemented variable resolution, type checking, and function scope evaluation in ep16
  • Added static declaration dependencies for functions in ep17
  • Implemented simple structs and file scope in ep19

Change Log

ep18

  • Added support for a stack interpreter (0cc0cf7)

ep15

  • Implemented variable scope determination (caf6172)

ep16

  • Implemented variable resolution, type checking, and function scope evaluation (caf6172)

ep17

  • Added static declaration dependencies for functions (caf6172)

ep19

  • Implemented simple structs and file scope (caf6172)