我正在为学习目的做一个编译器。
它使用针对 c# 代码生成的Antlr工具。
到目前为止,我可以处理语法。词汇,Sintatic,我的测试没问题。
我的目标是生成 CIL 字节码,我对它有点熟悉。
问题是......我不知道“输出”代码的好方法。我想要一些建议,例如生成它。
我的一个想法是创建一个类“编译器”,其中包含与节点相关的大量方法,并在迭代树时调用该方法。
想法:
Class Compiler
{
private AppededStrings = "";
void CreateClass();
void EndClass();
void AddParam();
void setAtributeToTheClass("public");
... and so on ...
}
这是一个好方法吗?我找不到一个专门讨论这个的话题。