【问题标题】:Definitive Antlr Reference - Chapter 3 and AntlrWorks权威 Antlr 参考 - 第 3 章和 AntlrWorks
【发布时间】:2013-03-12 01:36:47
【问题描述】:

我是 Antlr 的新手,我的设置如下:Windows 7、Java JDK 1.7.0_17、AntlrWorks 1.5、Antlr 3.5。

AntlrWorks Help-About 显示以下信息:

ANTLRWorks 1.5
ANTLR 3.5
字符串模板 v3 3.2.1
StringTemplate v4 4.0.7-SNAPSHOT
Java 1.7.0_17(甲骨文公司)

Definitive Antlr Reference book 的第 3 章介绍了用于表达式求值的示例语法 (Expr.g),我从该书 PDF 版本的超链接中下载了该示例语法。

这本书推荐使用 AntlrWorks,我也是,但是当我在 AntlrWorks 中生成代码 (Ctrl+Shift+G) 时,它会生成没有“throws”子句的代码。

例如AntlrWorks中生成如下:

// $ANTLR start "prog"
// C:\\Users\\Mark\\Documents\\output\\Expr.g:12:1: prog : ( stat )+ ;
public final void prog() throws  {
    try {

注意throws 关键字后面缺少的代码...

如果我使用此命令行从命令提示符生成:
java -cp antlr-3.5-complete.jar org.antlr.Tool Expr.g

我得到这个输出:

// $ANTLR start "prog"
// Expr.g:12:1: prog : ( stat )+ ;
public final void prog() throws RecognitionException {
    try {

我的问题是——如何让 AntlrWorks 生成相同的代码?

【问题讨论】:

    标签: antlr3 antlrworks


    【解决方案1】:

    这是 ANTLRWorks 1.5 中的一个已知问题,已在下一个版本中解决。

    #5: ANTLRworks fails to generate proper Java Code

    【讨论】:

    • 感谢您的快速回复!
    猜你喜欢
    • 2021-05-24
    • 1970-01-01
    • 1970-01-01
    • 2013-10-31
    • 1970-01-01
    • 2023-03-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多