
Grammar extracted by Vadim Zaytsev, see the Grammar Zoo entry for details: dsl/architecture/acme/baudry/extracted
Source used for this grammar: Julien Baudry, ACME.ecore, 2006/05/21
ACMEFile, ACMEEntry, Element, Type, System, Representation, Component, ComponentInstance, ComponentType, Port, Connector, Role, Property, Link, Attachment, Binding, Boolean, Integer, String), 0 root (—), 4 top (ACMEFile, Element, Boolean, Integer), 0 bottom (—).[entries], [name] 4, [representations] 3, [property] 3, [componentDeclaration], [connectorDeclaration], [attachments], [bindings], [systems], [instanceOf], [extend], [roles], [system], [val], [comp], [port], [con], [role], [compSrc], [portSrc], [compDest], [portDest].ACMEFile ::=
[entries]::ACMEEntryACMEEntry ::= System
ACMEEntry ::= ComponentType
Element ::= Type
Element ::= Component
Element ::= Port
Element ::= Connector
Element ::= Role
Element ::= System
Type ::= [name]::String [representations]::Representation [property]::Property
System ::= [componentDeclaration]::ComponentInstance [connectorDeclaration]::Connector [attachments]::Link [bindings]::Link
Representation ::=
[systems]::SystemComponent ::= ComponentInstance
Component ::= ComponentType
ComponentInstance ::= [instanceOf]::String
ComponentType ::= [extend]::String
Port ::= [name]::String [representations]::Representation [property]::Property
Connector ::=
[roles]::Role [system]::SystemRole ::= [name]::String [representations]::Representation [property]::Property
Property ::= [name]::String [val]::String
Link ::= Attachment
Link ::= Binding
Attachment ::= [comp]::String [port]::String [con]::String [role]::String
Binding ::= [compSrc]::String [portSrc]::String [compDest]::String [portDest]::String
Boolean ::= "true" "false"
Integer ::= integer
String ::= string