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]::ACMEEntry
ACMEEntry ::= 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]::System
Component ::= 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