
Grammar extracted by Vadim Zaytsev, see the Grammar Zoo entry for details: §wip/atl/METAH/extracted
Source used for this grammar: Julien Baudry, MetaH 1.0, METAH.ecore, 2006/05/27
METAHFile, METAHEntry, Package, PackageImplementation, Data, Attribute, ProcessDeclaration, ProcessImplementation, ProcessAttribute, Process, Port, Connection, MacroDeclaration, MacroImplementation, Boolean, Integer, String), 0 root (—), 2 top (METAHFile, Boolean), 0 bottom (—).[entries], [packName], [data], [implementationName], [implements], [attributes], [dataName], [attName] 2, [attValue] 2, [attValueType] 2, [attType], [procDecName], [ports] 2, [procImpName], [declaration] 3, [processAttributes], [procName], [periodic], [implementation], [portName], [portCom], [portPackage], [portType], [compSrc], [portSrc], [compDest], [portDest], [name], [macroImpName], [process], [connections].METAHFile ::=
[entries]::METAHEntryMETAHEntry ::= Package
METAHEntry ::= PackageImplementation
METAHEntry ::= ProcessDeclaration
METAHEntry ::= ProcessImplementation
METAHEntry ::= Connection
METAHEntry ::= MacroDeclaration
METAHEntry ::= MacroImplementation
Package ::=
[packName]::String [data]::DataPackageImplementation ::=
[implementationName]::String [implements]::String [attributes]::AttributeData ::= [dataName]::String
Attribute ::= [attName]::String [attValue]::Integer [attValueType]::String [attType]::String
ProcessDeclaration ::=
[procDecName]::String [ports]::PortProcessImplementation ::=
[procImpName]::String [declaration]::String [processAttributes]::ProcessAttributeProcessAttribute ::= [attName]::String [attValue]::Integer [attValueType]::String
Process ::= [procName]::String [periodic]::String [declaration]::String [implementation]::String
Port ::= [portName]::String [portCom]::String [portPackage]::String [portType]::String
Connection ::= [compSrc]::String [portSrc]::String [compDest]::String [portDest]::String
MacroDeclaration ::=
[name]::String [ports]::PortMacroImplementation ::= [macroImpName]::String [declaration]::String [process]::Process [connections]::Connection
Boolean ::= "true" "false"
Integer ::= integer
String ::= string