Grammar extracted by Vadim Zaytsev, see the Grammar Zoo entry for details: §wip/atl/CORBAComponent/extracted
Source used for this grammar: Hugo Brunelière, CORBAComponent 1.0, CORBAComponent.ecore
, 2005/08/09
InterfaceDef
, OperationDef
, ValueDef
, ComponentDef
, ProvidesDef
, UsesDef
, EventDef
, EmitsDef
, PublishesDef
, ConsumesDef
, HomeDef
, FactoryDef
, FinderDef
, PrimaryKeyDef
, Integer
, String
, Boolean
), 0 root (—), 4 top (OperationDef
, EventDef
, Integer
, String
), 0 bottom (—).[isBasic]
, [facets]
, [receptacles]
, [supports]
, [emits]
, [publishes]
, [consumes]
, [provides]
, [prd_home]
, [multiple]
, [uses]
, [ud_home]
, [type]
2, [ed_home]
, [pud_home]
, [cd_home]
, [manages]
, [factories]
, [finders]
, [key]
, [fa_home]
, [fi_home]
, [pkd_home]
.InterfaceDef ::= ComponentDef
InterfaceDef ::= HomeDef
InterfaceDef ::= ComponentDef HomeDef
OperationDef ::= FactoryDef
OperationDef ::= FinderDef
OperationDef ::= FactoryDef FinderDef
ValueDef ::= ε
ComponentDef ::= [isBasic]::Boolean [facets]::ProvidesDef[receptacles]::UsesDef [supports]::InterfaceDef [emits]::EmitsDef [publishes]::PublishesDef [consumes]::ConsumesDef
ProvidesDef ::= [provides]::InterfaceDef [prd_home]::ComponentDef
UsesDef ::= [multiple]::Boolean [uses]::InterfaceDef [ud_home]::ComponentDef
EventDef ::= EmitsDef
EventDef ::= PublishesDef
EventDef ::= ConsumesDef
EventDef ::= [type]::ValueDef
EmitsDef ::= [ed_home]::ComponentDef
PublishesDef ::= [pud_home]::ComponentDef
ConsumesDef ::= [cd_home]::ComponentDef
HomeDef ::= [manages]::ComponentDef [factories]::FactoryDef[finders]::FinderDef [key]::PrimaryKeyDef
FactoryDef ::= [fa_home]::HomeDef
FinderDef ::= [fi_home]::HomeDef
PrimaryKeyDef ::= [pkd_home]::HomeDef [type]::ValueDef
Integer ::= integer
String ::= string
Boolean ::= "true" "false"