
Grammar extracted by Vadim Zaytsev, see the Grammar Zoo entry for details: markup/interface/xaml/perspective/extracted
Source used for this grammar: Jean-Sébastien Sottet, XAML-Perspective.ecore, 2010/01/30
Page, NameSpace, PageResource, GraphicalContainer, WinFXElement, PerspectiveElement, ResourceDictionary, Grid, Object3D, Workshop3D, Element3D, UI3Delement, XyzAxis3D, Box3D, Square3D, Name, String, Boolean, Integer), 0 root (—), 5 top (Page, WinFXElement, PerspectiveElement, Boolean, Integer), 1 bottom (Double).[xmlns], [title], [graphContainer], [pageResources], [namespace] 3, [identifier], [dictionaries], [source], [object3D], [elements3D], [transform] 3, [material] 3, [name] 4, [length].Page ::=
[xmlns]::NameSpace [title]::String [graphContainer]::GraphicalContainer [pageResources]::PageResourceNameSpace ::= [namespace]::String [identifier]::String
PageResource ::=
[dictionaries]::ResourceDictionaryGraphicalContainer ::= Grid
WinFXElement ::= Name
PerspectiveElement ::= Workshop3D
PerspectiveElement ::= XyzAxis3D
PerspectiveElement ::= Box3D
PerspectiveElement ::= Square3D
ResourceDictionary ::= [source]::String
Grid ::=
[object3D]::Object3DObject3D ::= Workshop3D
Workshop3D ::=
[elements3D]::Element3DElement3D ::= UI3Delement
Element3D ::= XyzAxis3D
Element3D ::= UI3Delement
UI3Delement ::= Box3D
UI3Delement ::= Square3D
UI3Delement ::= [transform]::String [material]::String [name]::Name
XyzAxis3D ::= [length]::Double
Box3D ::= [transform]::String [material]::String [name]::Name [namespace]::NameSpace
Square3D ::= [transform]::String [material]::String [name]::Name [namespace]::NameSpace
Name ::= [name]::String
String ::= string
Boolean ::= "true" "false"
Integer ::= integer