
Grammar extracted by Vadim Zaytsev, see the Grammar Zoo entry for details: meta/modelling/gme/bruneliere/extracted
Source used for this grammar: Hugo Brunelière, FeatureDiagrams 1.0, FeatureDiagrams.ecore, 2005/08/10
Node, Attribute, Root, Child, XORGroup, ORGroup, Integer, String, Boolean), 0 root (—), 1 top (Integer), 0 bottom (—).[description] 3, [preliminary] 4, [object] 2, [attributes] 2, [no_dst] 2, [nx_dst] 2, [cn_dst] 2, [editable], [key], [value], [name] 3, [node], [cn_src], [cx_src], [co_src], [nx_src], [cx_dst], [no_src], [co_dst].Node ::= Root
Node ::= Child
Node ::= [description]::String [preliminary]::Boolean [object]::String [attributes]::Attribute [no_dst]::ORGroup [nx_dst]::XORGroup [cn_dst]::Child
Attribute ::= [description]::String [editable]::Boolean [key]::Boolean [value]::String [name]::String [node]::Node
Root ::= [description]::String [preliminary]::Boolean [object]::String [attributes]::Attribute [no_dst]::ORGroup [nx_dst]::XORGroup [cn_dst]::Child
Child ::= [cn_src]::Node [cx_src]::XORGroup [co_src]::ORGroup
XORGroup ::= [preliminary]::Boolean [name]::String [nx_src]::Node [cx_dst]::Child
ORGroup ::= [preliminary]::Boolean [name]::String [no_src]::Node [co_dst]::Child
Integer ::= integer
String ::= string
Boolean ::= "true" "false"