compiler-construction – 将抽象语法树转换为字节代码
发布时间:2020-12-15 03:06:00 所属栏目:Java 来源:网络整理
导读:我正在努力学习构建一个简单的编译器作为业余爱好.我的目标是 Java虚拟机. 我使用ANTLR插件为Eclipse编写了一个简单的语法. 有人告诉我,Antlr生成的AST上有一个已知的方法节点,必须调用. 我打算使用ASM来生成字节码. 那么什么是方法节点?如何从ASM调用它并
我正在努力学习构建一个简单的编译器作为业余爱好.我的目标是
Java虚拟机.
我使用ANTLR插件为Eclipse编写了一个简单的语法. 有人告诉我,Antlr生成的AST上有一个已知的方法节点,必须调用. 那么编译器的语义分析器呢?应该手动编写还是有任何生成器? 解决方法
你在这里问了很多不相关的问题.根据您定义的语言,可能会有您的语言中的方法节点,或者如果您的语言无条件地编译为main(String [])方法,则不会有任何方法节点.
有多种方法可以将AST转换为目标语言.大多数情况下,您不会直接生成代码,而是为您的目标平台生成一个AST,并使用一个树木行者通过一台漂亮的打印机生成代码. 语义分析是编译器的编程.在语法层面上阅读和理解输入是解析.您需要自己编写语义分析器,否则根本就不会编写编译器. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |