gpt4 book ai didi

java - 如何为ANTLR指定目标包?

转载 作者:行者123 更新时间:2023-12-01 22:39:31 26 4
gpt4 key购买 nike

如果我打电话:

java org.antlr.Tool -o outdir sources/com/example/Java5.g

...使用antlr-3.1.3,解析器和词法分析器代码将在目录outdir/sources/com/example中生成。但生成的类没有任何 package 语句。我需要它们在 com.example 包中。

有没有办法指定目标包?

最佳答案

ANTLR 提供了一个 header 工具,允许您包含包和导入。您将其包含在 *.g 语法文件中:

@header {
package org.xmlcml.cml.converters.antlr;
import java.util.HashMap;
}

您可能在词法分析器中也需要它:

@lexer::header {package org.xmlcml.cml.converters.antlr;}

如果您需要添加一些成员和代码:

@members {
HashMap<String, Object> objectMap = new HashMap<String, Object>();
//...

private void addArrayValue(String content) {
//... code required by snippets in the grammar

}
}

关于java - 如何为ANTLR指定目标包?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58505312/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com