AntlrTask

API 文档AntlrTask

从 Antlr 语法文件生成解析器。

属性

属性描述
antlrClasspath

包含 Ant ANTLR 任务实现的 classpath。

arguments

传递给 antlr 进程的命令行参数列表

excludes

排除模式集合。

includes

包含模式集合。

maxHeapSize

forked antlr 进程的最大堆大小 (例如: '1g')。

outputDirectory

生成解析器源文件的目录。

source

应用包含和排除模式后,此任务的源文件。忽略不存在的源文件。

trace

指定所有规则都调用 traceIn/traceOut

traceLexer

指定所有词法分析器规则都调用 traceIn/traceOut

traceParser

指定所有解析器规则都调用 traceIn/traceOut

traceTreeWalker

指定所有树遍历器规则都调用 traceIn/traceOut

方法

方法描述
exclude(excludeSpec)

添加一个排除规范。此方法可以多次调用以追加新的规范。给定的 closure 将 FileTreeElement 作为参数传入。closure 应该返回 true 或 false。示例

exclude(excludes)

添加 ANT 风格的排除模式。此方法可以多次调用以追加新的模式,也可以在一次调用中指定多个模式。如果未提供排除模式,则不会排除任何文件。如果提供了排除模式,则文件必须不匹配任何排除模式才能被处理。

exclude(excludes)

添加 ANT 风格的排除模式。此方法可以多次调用以追加新的模式,也可以在一次调用中指定多个模式。如果未提供排除模式,则不会排除任何文件。如果提供了排除模式,则文件必须不匹配任何排除模式才能被处理。

exclude(excludeSpec)

添加一个排除规范。此方法可以多次调用以追加新的规范。如果未提供排除模式,则不会排除任何文件。如果提供了排除模式,则文件必须不匹配任何排除模式才能被处理。

include(includeSpec)

添加一个包含规范。此方法可以多次调用以追加新的规范。给定的 closure 将 FileTreeElement 作为参数传入。如果未提供包含模式,则此容器中的所有文件都将被包含。如果提供了包含模式,则文件必须至少匹配一个包含模式或规范才能被包含。

include(includes)

添加 ANT 风格的包含模式。此方法可以多次调用以追加新的模式,也可以在一次调用中指定多个模式。如果未提供包含模式,则此容器中的所有文件都将被包含。如果提供了包含模式,则文件必须至少匹配一个包含模式才能被处理。

include(includes)

添加 ANT 风格的包含模式。此方法可以多次调用以追加新的模式,也可以在一次调用中指定多个模式。如果未提供包含模式,则此容器中的所有文件都将被包含。如果提供了包含模式,则文件必须至少匹配一个包含模式才能被处理。

include(includeSpec)

添加一个包含规范。此方法可以多次调用以追加新的规范。如果未提供包含模式,则此容器中的所有文件都将被包含。如果提供了包含模式,则文件必须至少匹配一个包含模式或规范才能被包含。

source(sources)

向此任务添加源文件。给定的源对象将按照 Project.files(java.lang.Object[]) 进行评估。

脚本块

无脚本块

属性详情

FileCollection antlrClasspath

包含 Ant ANTLR 任务实现的 classpath。

使用 antlr 插件时的默认值
project.configurations.antlr

List<String> arguments

传递给 antlr 进程的命令行参数列表

Set<String> excludes

排除模式集合。

Set<String> includes

包含模式集合。

String maxHeapSize

forked antlr 进程的最大堆大小 (例如: '1g')。

使用 antlr 插件时的默认值
null

File outputDirectory

生成解析器源文件的目录。

使用 antlr 插件时的默认值
${project.layout.buildDirectory}/generated-src/antlr/${sourceSet.name}

FileTree source

应用包含和排除模式后,此任务的源文件。忽略不存在的源文件。

源文件的 PathSensitivity 配置为 PathSensitivity.ABSOLUTE。如果您的源文件不那么严格,请在您的子类中覆盖此方法进行相应更改。

使用 antlr 插件时的默认值
sourceSet.antlr

boolean trace

指定所有规则都调用 traceIn/traceOut

使用 antlr 插件时的默认值
false

boolean traceLexer

指定所有词法分析器规则都调用 traceIn/traceOut

使用 antlr 插件时的默认值
false

boolean traceParser

指定所有解析器规则都调用 traceIn/traceOut

使用 antlr 插件时的默认值
false

boolean traceTreeWalker

指定所有树遍历器规则都调用 traceIn/traceOut

使用 antlr 插件时的默认值
false

方法详情

SourceTask exclude(Closure excludeSpec)

添加一个排除规范。此方法可以多次调用以追加新的规范。给定的 closure 将 FileTreeElement 作为参数传入。closure 应该返回 true 或 false。示例

copySpec {
  from 'source'
  into 'destination'
  //an example of excluding files from certain configuration:
  exclude { it.file in configurations.someConf.files }
}

如果未提供排除模式,则不会排除任何文件。如果提供了排除模式,则文件必须不匹配任何排除模式才能被处理。

SourceTask exclude(Iterable<String> excludes)

添加 ANT 风格的排除模式。此方法可以多次调用以追加新的模式,也可以在一次调用中指定多个模式。如果未提供排除模式,则不会排除任何文件。如果提供了排除模式,则文件必须不匹配任何排除模式才能被处理。

SourceTask exclude(String... excludes)

添加 ANT 风格的排除模式。此方法可以多次调用以追加新的模式,也可以在一次调用中指定多个模式。如果未提供排除模式,则不会排除任何文件。如果提供了排除模式,则文件必须不匹配任何排除模式才能被处理。

SourceTask exclude(Spec<FileTreeElement> excludeSpec)

添加一个排除规范。此方法可以多次调用以追加新的规范。如果未提供排除模式,则不会排除任何文件。如果提供了排除模式,则文件必须不匹配任何排除模式才能被处理。

SourceTask include(Closure includeSpec)

添加一个包含规范。此方法可以多次调用以追加新的规范。给定的 closure 将 FileTreeElement 作为参数传入。如果未提供包含模式,则此容器中的所有文件都将被包含。如果提供了包含模式,则文件必须至少匹配一个包含模式或规范才能被包含。

SourceTask include(Iterable<String> includes)

添加 ANT 风格的包含模式。此方法可以多次调用以追加新的模式,也可以在一次调用中指定多个模式。如果未提供包含模式,则此容器中的所有文件都将被包含。如果提供了包含模式,则文件必须至少匹配一个包含模式才能被处理。

SourceTask include(String... includes)

添加 ANT 风格的包含模式。此方法可以多次调用以追加新的模式,也可以在一次调用中指定多个模式。如果未提供包含模式,则此容器中的所有文件都将被包含。如果提供了包含模式,则文件必须至少匹配一个包含模式才能被处理。

SourceTask include(Spec<FileTreeElement> includeSpec)

添加一个包含规范。此方法可以多次调用以追加新的规范。如果未提供包含模式,则此容器中的所有文件都将被包含。如果提供了包含模式,则文件必须至少匹配一个包含模式或规范才能被包含。

SourceTask source(Object... sources)

向此任务添加源文件。给定的源对象将按照 Project.files(java.lang.Object[]) 进行评估。