Grammar extracted by Vadim Zaytsev, see the Grammar Zoo entry for details: markup/interface/uiml/touzet/extracted
Source used for this grammar: David Touzet, User Interface Markup Language, UIML-3.0.ecore
, version 0.1, 2006/02/21 [Atlantic]
UIML
, Header
, MetaData
, Peer
, Presentation
, Logic
, DComponent
, DClass
, DProperty
, DMethod
, DParam
, Script
, Listener
, UsedInTagKind
, MapsTypeKind
, ExtensibleElement
, Source
, LocalSource
, RemoteSource
, Interface
, Structure
, Part
, Style
, Property
, Content
, Behavior
, Repeat
, Constant
, Reference
, Rule
, Condition
, EventCondition
, EqualCondition
, OpCondition
, Action
, Action_1
, Action_2
, Call
, Parameter
, PropertyParameter
, ReferenceParameter
, CallParameter
, OperationParameter
, EventParameter
, ConstantParameter
, IteratorParameter
, Iterator
, ConstantIterator
, PropertyIterator
, CallIterator
, TextIterator
, Event
, Equal
, EqualToConstant
, EqualToProperty
, EqualToReference
, EqualToOperation
, Operation
, Restructure
, Branch
, WhenTrue
, WhenFalse
, ByDefault
, HowKind
, ExportKind
, WhereKind
, String
, Integer
, Template
, BehaviorTemplate
, DClassTemplate
, DComponentTemplate
, ConstantTemplate
, ContentTemplate
, InterfaceTemplate
, LogicTemplate
, PartTemplate
, PeerTemplate
, PresentationTemplate
, PropertyTemplate
, RestructureTemplate
, RuleTemplate
, ScriptTemplate
, StructureTemplate
, StyleTemplate
), 0 root (—), 4 top (UIML
, UsedInTagKind
, Branch
, WhereKind
), 0 bottom (—).[head]
, [templates]
, [interfaces]
, [peers]
, [metas]
, [name]
4, [content]
4, [id]
17, [how]
17, [export]
16, [source]
18, [presentations]
, [logics]
, [base]
, [dClasses]
, [dComponents]
, [mapsTo]
4, [location]
2, [dMethods]
3, [mapsType]
2, [dProperties]
, [events]
3, [listeners]
, [returnType]
2, [dParams]
2, [script]
2, [type]
2, [value]
4, [class]
3, [attacher]
, [event]
8, [listener]
, [part]
2, [attribute]
, [getMethod]
, [setMethod]
, [method]
, [structure]
2, [style]
3, [behavior]
3, [parts]
5, [wherePart]
2, [repeats]
, [properties]
8, [values]
, [constants]
4, [references]
2, [calls]
7, [iterators]
, [rules]
, [iterator]
2, [model]
, [constant]
5, [condition]
, [action]
, [equal]
5, [op]
7, [restructures]
, [whenTrue]
, [whenFalse]
, [byDefault]
, [params]
, [property]
4, [reference]
2, [call]
2, [ops]
, [atPart]
, [template]
, [restructure]
5, [append]
, [cascade]
, [replace]
, [union]
, [delete]
, [hidden]
, [optional]
, [required]
, [first]
, [last]
, [before]
, [after]
, [dClass]
, [dComponent]
, [interface]
, [logic]
, [peer]
, [presentation]
, [rule]
.UIML ::= [head]::Header [templates]::Template[interfaces]::Interface [peers]::Peer
Header ::=
[metas]::MetaData
MetaData ::= [name]::String [content]::String
Peer ::= [id]::String [how]::HowKind [export]::ExportKind [source]::Source [presentations]::Presentation[logics]::Logic
Presentation ::=
[id]::String [how]::HowKind [export]::ExportKind [base]::String [source]::Source [dClasses]::DClass
Logic ::=
[id]::String [how]::HowKind [export]::ExportKind [source]::Source [dComponents]::DComponent
DComponent ::=
[id]::String [how]::HowKind [export]::ExportKind [mapsTo]::String [location]::String [source]::Source [dMethods]::DMethod
DClass ::= [id]::String [how]::HowKind [export]::ExportKind [mapsTo]::String [mapsType]::String [source]::Source [dMethods]::DMethod[dProperties]::DProperty [events]::Event [listeners]::Listener
DProperty ::= [id]::String [mapsType]::MapsTypeKind [mapsTo]::String [returnType]::String [dMethods]::DMethod[dParams]::DParam
DMethod ::=
[id]::String [how]::HowKind [export]::ExportKind [mapsTo]::String [returnType]::String [source]::Source [dParams]::DParam
[script]::ScriptDParam ::= [id]::String [type]::String [value]::String
Script ::= [id]::String [type]::String [how]::HowKind [export]::ExportKind [value]::String [source]::String
Listener ::= [class]::String [attacher]::String
UsedInTagKind ::= [event]::ε [listener]::ε [part]::ε
MapsTypeKind ::= [attribute]::ε [getMethod]::ε [setMethod]::ε [method]::ε
ExtensibleElement ::= Peer
ExtensibleElement ::= Presentation
ExtensibleElement ::= Logic
ExtensibleElement ::= DComponent
ExtensibleElement ::= DClass
ExtensibleElement ::= DMethod
ExtensibleElement ::= Script
ExtensibleElement ::= Interface
ExtensibleElement ::= Structure
ExtensibleElement ::= Part
ExtensibleElement ::= Style
ExtensibleElement ::= Property
ExtensibleElement ::= Content
ExtensibleElement ::= Behavior
ExtensibleElement ::= Constant
ExtensibleElement ::= Rule
ExtensibleElement ::= Restructure
Source ::= LocalSource
Source ::= RemoteSource
LocalSource ::= [source]::ExtensibleElement
RemoteSource ::= [location]::String
Interface ::= [id]::String [how]::HowKind [export]::ExportKind [source]::Source [structure]::Structure[style]::Style [content]::Content [behavior]::Behavior
Structure ::=
[id]::String [how]::HowKind [export]::ExportKind [source]::Source [parts]::Part
Part ::= [id]::String [how]::HowKind [export]::ExportKind [class]::String [wherePart]::String [source]::Source [style]::Style [content]::Content [behavior]::Behavior [parts]::Part[repeats]::Repeat
Style ::=
[id]::String [how]::HowKind [export]::ExportKind [source]::Source [properties]::Property
Property ::= [name]::String [how]::HowKind [export]::ExportKind [values]::String[parts]::Part [events]::Event [source]::Source [constants]::Constant [properties]::Property [references]::Reference [calls]::Call [iterators]::Iterator
Content ::=
[id]::String [how]::HowKind [export]::ExportKind [source]::Source [constants]::Constant
Behavior ::=
[id]::String [how]::HowKind [export]::ExportKind [source]::Source [rules]::Rule
Repeat ::=
[iterator]::Iterator [parts]::Part
Constant ::=
[id]::String [how]::HowKind [export]::ExportKind [model]::String [value]::String [source]::Source [constants]::Constant
Reference ::= [constant]::Constant
Rule ::= [id]::String [how]::HowKind [export]::ExportKind [source]::Source [condition]::Condition [action]::Action
Condition ::= EventCondition
Condition ::= EqualCondition
Condition ::= OpCondition
EventCondition ::= [event]::Event
EqualCondition ::= [equal]::Equal
OpCondition ::= [op]::Operation
Action ::= Action_1
Action ::= Action_2
Action ::= Action_1 Action_2
Action_1 ::= [event]::Event [properties]::Property[calls]::Call [restructures]::Restructure
Action_2 ::= [whenTrue]::WhenTrue [whenFalse]::WhenFalse [byDefault]::ByDefault
Call ::=
[name]::String [params]::Parameter
Parameter ::= PropertyParameter
Parameter ::= ReferenceParameter
Parameter ::= CallParameter
Parameter ::= OperationParameter
Parameter ::= EventParameter
Parameter ::= ConstantParameter
Parameter ::= IteratorParameter
PropertyParameter ::= [property]::Property
ReferenceParameter ::= [reference]::Reference
CallParameter ::= [call]::Call
OperationParameter ::= [op]::Operation
EventParameter ::= [event]::Event
ConstantParameter ::= [constant]::Constant
IteratorParameter ::= [iterator]::Iterator
Iterator ::= ConstantIterator
Iterator ::= PropertyIterator
Iterator ::= CallIterator
Iterator ::= TextIterator
ConstantIterator ::= [constant]::Constant
PropertyIterator ::= [property]::Property
CallIterator ::= [call]::Call
TextIterator ::= [value]::Integer
Event ::=
[class]::String [parts]::Part
Equal ::= EqualToConstant
Equal ::= EqualToProperty
Equal ::= EqualToReference
Equal ::= EqualToOperation
EqualToConstant ::= [constant]::Constant
EqualToProperty ::= [property]::Property
EqualToReference ::= [reference]::Reference
EqualToOperation ::= [op]::Operation
Operation ::= [name]::String [constants]::Constant[properties]::Property [references]::Reference [calls]::Call [ops]::Operation [events]::Event
Restructure ::= [how]::HowKind [atPart]::Part [wherePart]::Part [source]::Source [template]::Template
Branch ::= WhenTrue
Branch ::= WhenFalse
Branch ::= ByDefault
Branch ::= [properties]::Property[calls]::Call [restructure]::Restructure [op]::Operation [equal]::Equal [event]::Event
WhenTrue ::= [properties]::Property[calls]::Call [restructure]::Restructure [op]::Operation [equal]::Equal [event]::Event
WhenFalse ::= [properties]::Property[calls]::Call [restructure]::Restructure [op]::Operation [equal]::Equal [event]::Event
ByDefault ::= [properties]::Property[calls]::Call [restructure]::Restructure [op]::Operation [equal]::Equal [event]::Event
HowKind ::= [append]::ε [cascade]::ε [replace]::ε [union]::ε [delete]::ε
ExportKind ::= [hidden]::ε [optional]::ε [required]::ε
WhereKind ::= [first]::ε [last]::ε [before]::ε [after]::ε
String ::= string
Integer ::= integer
Template ::= BehaviorTemplate
Template ::= DClassTemplate
Template ::= DComponentTemplate
Template ::= ConstantTemplate
Template ::= ContentTemplate
Template ::= InterfaceTemplate
Template ::= LogicTemplate
Template ::= PartTemplate
Template ::= PeerTemplate
Template ::= PresentationTemplate
Template ::= PropertyTemplate
Template ::= RestructureTemplate
Template ::= RuleTemplate
Template ::= ScriptTemplate
Template ::= StructureTemplate
Template ::= StyleTemplate
BehaviorTemplate ::= [behavior]::Behavior
DClassTemplate ::= [dClass]::DClass
DComponentTemplate ::= [dComponent]::DComponent
ConstantTemplate ::= [constant]::Constant
ContentTemplate ::= [content]::Content
InterfaceTemplate ::= [interface]::Interface
LogicTemplate ::= [logic]::Logic
PartTemplate ::= [part]::Part
PeerTemplate ::= [peer]::Peer
PresentationTemplate ::= [presentation]::Presentation
PropertyTemplate ::= [property]::Property
RestructureTemplate ::= [restructure]::Restructure
RuleTemplate ::= [rule]::Rule
ScriptTemplate ::= [script]::Script
StructureTemplate ::= [structure]::Structure
StyleTemplate ::= [style]::Style