【发布时间】:2011-11-02 10:39:58
【问题描述】:
我很想了解如何创建特定领域的语言。现在这个域是很基础的,只有一些变量和运行一些循环,if 语句。
编辑:语言将基于非英语,语法非常简单。
我正在考虑以Java虚拟机为目标,即编译成Java字节码。
目前我知道如何使用 ANTLR 编写一些简单的语法。
我知道 ANTLR 创建了一个词法分析器和解析器,但我该如何从这里继续前进?
- 关于语义分析:必须手动编写还是有一些工具可以创建?
- 如何将词法分析器和解析器的输出转换为 Java 字节码?
- 我知道有 ASM 或 BCEL 之类的库,但具体的程序是什么?
- 是否有任何框架可以做到这一点?如果有,最简单的是什么?
【问题讨论】:
-
其实这个项目是搁置的,很抱歉我忘记了这个问题,我会在2个月内看看xtext。我也觉得@IraBaxter 的回答也不错,所以我先去接受 Rui 的回答吧
标签: jvm code-generation antlr dsl bytecode