2013-11-25 143 views
-3

我写一个简单的编程语言(Python中,如果该事项)来测试我的正则表达式解析技巧,我想出了一个问题:应该我的编译器转换代码转换成C++代码,并然后用G ++来把它编译成ELF可执行,或者我应该以某种方式设法编译我的语言的代码转换成字节码(或其他任何东西)?写编程语言:如何编译

+2

大多数编程语言都无法解析的与普通的旧的正则表达式。是的,这会测试你的技能;你可能会失败;问题是,你学到了什么?屡次获得的教训是,人们做这种练习的方式是编写一个“编译器”而不关注文献会导致不好的结果。而且,没有人会感到惊讶。 –

回答

0

可以做到这一点。例如,原来实行的C++(“带类的C”)转换的C++代码为C代码,用一个常规的C编译器编译。当然,这不是它的工作方式。

您最好的选择是开始与海湾合作委员会或LLVM和写入您的语言的新的前端,利用现有的代码生成工具,为众多的架构。