在语法文件上调用 JavaCC 编译器编译器。
要使用 javacc
任务,请将 target 属性设置为要处理的语法文件的名称。您还需要使用 javacchome 属性指定包含 JavaCC 安装的目录,以便 Apache Ant 可以找到 JavaCC 类。可选地,您还可以设置 outputdirectory 将生成的 文件写入特定目录。否则,JavaCC 会将生成的 文件写入包含语法文件的目录。
此任务仅在语法文件比生成的 .java 文件更新时才调用 JavaCC。JavaCC 假设生成的解析器的 Java 类名与语法文件的名称相同,忽略 .jj。如果不是这种情况,javacc
任务仍然可以工作,但它将始终生成输出文件。
属性 | 描述 | 必需 |
---|---|---|
target | 要处理的语法文件。 | 是 |
javacchome | 包含 JavaCC 发行版的目录。 | 是 |
outputdirectory | 要将生成的 文件写入的目录。如果未设置,则将文件写入包含语法文件的目录。 | 否 |
buildparser | 设置 BUILD_PARSER 语法选项。这是一个布尔选项。 | 否 |
buildtokenmanager | 设置 BUILD_TOKEN_MANAGER 语法选项。这是一个布尔选项。 | 否 |
cachetokens | 设置 CACHE_TOKENS 语法选项。这是一个布尔选项。 | 否 |
choiceambiguitycheck | 设置 CHOICE_AMBIGUITY_CHECK 语法选项。这是一个整数选项。 | 否 |
commontokenaction | 设置 COMMON_TOKEN_ACTION 语法选项。这是一个布尔选项。 | 否 |
debuglookahead | 设置 DEBUG_LOOKAHEAD 语法选项。这是一个布尔选项。 | 否 |
debugparser | 设置 DEBUG_PARSER 语法选项。这是一个布尔选项。 | 否 |
debugtokenmanager | 设置 DEBUG_TOKEN_MANAGER 语法选项。这是一个布尔选项。 | 否 |
errorreporting | 设置 ERROR_REPORTING 语法选项。这是一个布尔选项。 | 否 |
forcelacheck | 设置 FORCE_LA_CHECK 语法选项。这是一个布尔选项。 | 否 |
ignorecase | 设置 IGNORE_CASE 语法选项。这是一个布尔选项。 | 否 |
javaunicodeescape | 设置 JAVA_UNICODE_ESCAPE 语法选项。这是一个布尔选项。 | 否 |
jdkversion | 设置 JDK_VERSION 选项。这是一个字符串选项。 | 否 |
keeplinecolumn | 设置 KEEP_LINE_COLUMN 语法选项。这是一个布尔选项。 | 否 |
lookahead | 设置 LOOKAHEAD 语法选项。这是一个整数选项。 | 否 |
optimizetokenmanager | 设置 OPTIMIZE_TOKEN_MANAGER 语法选项。这是一个布尔选项。 | 否 |
otherambiguitycheck | 设置 OTHER_AMBIGUITY_CHECK 语法选项。这是一个整数选项。 | 否 |
sanitycheck | 设置 SANITY_CHECK 语法选项。这是一个布尔选项。 | 否 |
static | 设置 STATIC 语法选项。这是一个布尔选项。 | 否 |
unicodeinput | 设置 UNICODE_INPUT 语法选项。这是一个布尔选项。 | 否 |
usercharstream | 设置 USER_CHAR_STREAM 语法选项。这是一个布尔选项。 | 否 |
usertokenmanager | 设置 USER_TOKEN_MANAGER 语法选项。这是一个布尔选项。 | 否 |
maxmemory | 分配给分叉 JVM 的最大内存量。自 Ant 1.8.3 起 | 否 |
在语法文件 src/Parser.jj 上调用 JavaCC,将生成的 文件写入 build/src。在调用 JavaCC 时,STATIC 语法选项设置为 true
。
<javacc target="src/Parser.jj" outputdirectory="build/src" javacchome="c:/program files/JavaCC" static="true"/>