
Grammar extracted by Vadim Zaytsev, see the Grammar Zoo entry for details: dsl/develop/ant/bruneliere/extracted
Source used for this grammar: Hugo Brunelière, AntScripts.ecore, version 1.0, 2007/11/08 [Atlantic]
NamedElement, CommentableElement, Project, Property, Target, TaskElement, Attribute, Task, TaskParameter, String), 0 root (—), 2 top (NamedElement, CommentableElement), 0 bottom (—).[properties], [targets], [defaultTarget], [name], [value] 2, [location], [refid], [resource], [file], [url], [environment], [classpath], [classpathref], [prefix], [if], [unless], [tasks], [depends], [attributes] 2, [elements] 2.NamedElement ::= Attribute
NamedElement ::= Project
NamedElement ::= Target
NamedElement ::= TaskElement
CommentableElement ::= TaskElement
Project ::= [properties]::Property [targets]::Target [defaultTarget]::Target
Property ::= [name]::String [value]::String [location]::String [refid]::String [resource]::String [file]::String [url]::String [environment]::String [classpath]::String [classpathref]::String [prefix]::String
Target ::= [if]::String [unless]::String [tasks]::Task [depends]::Target
TaskElement ::= Task
TaskElement ::= TaskParameter
Attribute ::= [value]::String
Task ::= [attributes]::Attribute [elements]::TaskElement
TaskParameter ::= [attributes]::Attribute [elements]::TaskElement
String ::= string