Grammar extracted by Vadim Zaytsev, see the Grammar Zoo entry for details: uml/reuse/extracted
Source used for this grammar: Julien Baudry, UML with reuse contracts, UML_withReuseContracts.ecore
, 2006/07/10
ReuseContract
, Dependency
, ProviderClause
, Package
, ReuserClause
, CompositeProvider
, BasicProvider
, CompositeReuser
, BasicReuser
, Boolean
, Integer
, String
), 0 root (—), 4 top (Package
, Boolean
, Integer
, String
), 0 bottom (—).[supplier]
, [client]
, [owningDependency]
, [subDependency]
, [subcontract]
, [subreuser]
.ReuseContract ::= [supplier]::ProviderClause [client]::ReuserClause
Dependency ::= ReuseContract
Dependency ::=
[owningDependency]::Dependency [subDependency]::Dependency
ProviderClause ::= CompositeProvider
ProviderClause ::= BasicProvider
ProviderClause ::= CompositeProvider BasicProvider
Package ::= ProviderClause
Package ::= ReuserClause
Package ::= ProviderClause ReuserClause
ReuserClause ::= CompositeReuser
ReuserClause ::= BasicReuser
ReuserClause ::= CompositeReuser BasicReuser
CompositeProvider ::= [subcontract]::ReuseContract
BasicProvider ::= ε
CompositeReuser ::=
[subreuser]::ReuserClause
BasicReuser ::= ε
Boolean ::= "true" "false"
Integer ::= integer
String ::= string