Browsable Rascal Figure Grammar

CC-BY

Grammar connected by Vadim Zaytsev, see the Grammar Zoo entry for details: api/rascal/figure/connected
Source used for this grammar: Paul Klint, vis::Figure, 2009–2013 [Explore]

Summary

Syntax

Color ::=
	[gray]::⟨gray⟩:integer
	[gray]::(⟨gray⟩:integer ⟨alpha⟩:integer)
	[gray]::⟨perc⟩:integer
	[gray]::(⟨perc⟩:integer ⟨alpha⟩:integer)
	[color]::⟨colorName⟩:string
	[color]::(⟨colorName⟩:string ⟨alpha⟩:integer)
	[rgb]::(⟨r⟩:integer ⟨g⟩:integer ⟨b⟩:integer)
	[rgb]::(⟨r⟩:integer ⟨g⟩:integer ⟨b⟩:integer ⟨alpha⟩:integer)
	[interpolateColor]::(⟨from⟩:Color ⟨to⟩:Color ⟨percentage⟩:integer)
	[arbColor]::ε
	[rrgba]::(⟨r⟩:integer ⟨g⟩:integer ⟨b⟩:integer ⟨a⟩:integer)
	[randomColor]::ε
	[randomColorAlpha]::ε
	integer
FProperty ::=
	[left]::ε
	[hcenter]::ε
	[right]::ε
	[top]::ε
	[vcenter]::ε
	[bottom]::ε
	[center]::ε
	[orientation]::⟨or⟩:Orientation
	[onMouseOver]::⟨fig⟩:Figure
	[resizable]::⟨b⟩:boolean
	[resizable]::⟨cb⟩:boolean
	[resizable]::⟨mv⟩:Measure
	[zoomable]::⟨b⟩:boolean
	[zoomable]::⟨cb⟩:boolean
	[zoomable]::⟨mv⟩:Measure
	[startGap]::⟨b⟩:boolean
	[startGap]::⟨cb⟩:boolean
	[startGap]::⟨mv⟩:Measure
	[endGap]::⟨b⟩:boolean
	[endGap]::⟨cb⟩:boolean
	[endGap]::⟨mv⟩:Measure
	[mirror]::⟨b⟩:boolean
	[mirror]::⟨cb⟩:boolean
	[mirror]::⟨mv⟩:Measure
	[pos]::⟨r⟩:integer
	[pos]::⟨cr⟩:integer
	[pos]::⟨mv⟩:Measure
	[size]::⟨r⟩:integer
	[size]::⟨cr⟩:integer
	[size]::⟨mv⟩:Measure
	[gap]::⟨r⟩:integer
	[gap]::⟨cr⟩:integer
	[gap]::⟨mv⟩:Measure
	[shadowPos]::⟨r⟩:integer
	[shadowPos]::⟨cr⟩:integer
	[shadowPos]::⟨mv⟩:Measure
	[shrink]::⟨r⟩:integer
	[shrink]::⟨cr⟩:integer
	[shrink]::⟨mv⟩:Measure
	[align]::⟨r⟩:integer
	[align]::⟨cr⟩:integer
	[align]::⟨mv⟩:Measure
	[grow]::⟨r⟩:integer
	[grow]::⟨cr⟩:integer
	[grow]::⟨mv⟩:Measure
	[connect]::⟨r⟩:integer
	[connect]::⟨cr⟩:integer
	[connect]::⟨mv⟩:Measure
	[resizable]::(⟨b00⟩:boolean ⟨b200⟩:boolean)
	[resizable]::(⟨b01⟩:boolean ⟨cb201⟩:boolean)
	[resizable]::(⟨b02⟩:boolean ⟨mv202⟩:Measure)
	[resizable]::(⟨cb10⟩:boolean ⟨b210⟩:boolean)
	[resizable]::(⟨cb11⟩:boolean ⟨cb211⟩:boolean)
	[resizable]::(⟨cb12⟩:boolean ⟨mv212⟩:Measure)
	[resizable]::(⟨mv20⟩:Measure ⟨b220⟩:boolean)
	[resizable]::(⟨mv21⟩:Measure ⟨cb221⟩:boolean)
	[resizable]::(⟨mv22⟩:Measure ⟨mv222⟩:Measure)
	[zoomable]::(⟨b00⟩:boolean ⟨b200⟩:boolean)
	[zoomable]::(⟨b01⟩:boolean ⟨cb201⟩:boolean)
	[zoomable]::(⟨b02⟩:boolean ⟨mv202⟩:Measure)
	[zoomable]::(⟨cb10⟩:boolean ⟨b210⟩:boolean)
	[zoomable]::(⟨cb11⟩:boolean ⟨cb211⟩:boolean)
	[zoomable]::(⟨cb12⟩:boolean ⟨mv212⟩:Measure)
	[zoomable]::(⟨mv20⟩:Measure ⟨b220⟩:boolean)
	[zoomable]::(⟨mv21⟩:Measure ⟨cb221⟩:boolean)
	[zoomable]::(⟨mv22⟩:Measure ⟨mv222⟩:Measure)
	[startGap]::(⟨b00⟩:boolean ⟨b200⟩:boolean)
	[startGap]::(⟨b01⟩:boolean ⟨cb201⟩:boolean)
	[startGap]::(⟨b02⟩:boolean ⟨mv202⟩:Measure)
	[startGap]::(⟨cb10⟩:boolean ⟨b210⟩:boolean)
	[startGap]::(⟨cb11⟩:boolean ⟨cb211⟩:boolean)
	[startGap]::(⟨cb12⟩:boolean ⟨mv212⟩:Measure)
	[startGap]::(⟨mv20⟩:Measure ⟨b220⟩:boolean)
	[startGap]::(⟨mv21⟩:Measure ⟨cb221⟩:boolean)
	[startGap]::(⟨mv22⟩:Measure ⟨mv222⟩:Measure)
	[endGap]::(⟨b00⟩:boolean ⟨b200⟩:boolean)
	[endGap]::(⟨b01⟩:boolean ⟨cb201⟩:boolean)
	[endGap]::(⟨b02⟩:boolean ⟨mv202⟩:Measure)
	[endGap]::(⟨cb10⟩:boolean ⟨b210⟩:boolean)
	[endGap]::(⟨cb11⟩:boolean ⟨cb211⟩:boolean)
	[endGap]::(⟨cb12⟩:boolean ⟨mv212⟩:Measure)
	[endGap]::(⟨mv20⟩:Measure ⟨b220⟩:boolean)
	[endGap]::(⟨mv21⟩:Measure ⟨cb221⟩:boolean)
	[endGap]::(⟨mv22⟩:Measure ⟨mv222⟩:Measure)
	[mirror]::(⟨b00⟩:boolean ⟨b200⟩:boolean)
	[mirror]::(⟨b01⟩:boolean ⟨cb201⟩:boolean)
	[mirror]::(⟨b02⟩:boolean ⟨mv202⟩:Measure)
	[mirror]::(⟨cb10⟩:boolean ⟨b210⟩:boolean)
	[mirror]::(⟨cb11⟩:boolean ⟨cb211⟩:boolean)
	[mirror]::(⟨cb12⟩:boolean ⟨mv212⟩:Measure)
	[mirror]::(⟨mv20⟩:Measure ⟨b220⟩:boolean)
	[mirror]::(⟨mv21⟩:Measure ⟨cb221⟩:boolean)
	[mirror]::(⟨mv22⟩:Measure ⟨mv222⟩:Measure)
	[pos]::(⟨r00⟩:integer ⟨r200⟩:integer)
	[pos]::(⟨r01⟩:integer ⟨cr201⟩:integer)
	[pos]::(⟨r02⟩:integer ⟨mv202⟩:Measure)
	[pos]::(⟨cr10⟩:integer ⟨r210⟩:integer)
	[pos]::(⟨cr11⟩:integer ⟨cr211⟩:integer)
	[pos]::(⟨cr12⟩:integer ⟨mv212⟩:Measure)
	[pos]::(⟨mv20⟩:Measure ⟨r220⟩:integer)
	[pos]::(⟨mv21⟩:Measure ⟨cr221⟩:integer)
	[pos]::(⟨mv22⟩:Measure ⟨mv222⟩:Measure)
	[size]::(⟨r00⟩:integer ⟨r200⟩:integer)
	[size]::(⟨r01⟩:integer ⟨cr201⟩:integer)
	[size]::(⟨r02⟩:integer ⟨mv202⟩:Measure)
	[size]::(⟨cr10⟩:integer ⟨r210⟩:integer)
	[size]::(⟨cr11⟩:integer ⟨cr211⟩:integer)
	[size]::(⟨cr12⟩:integer ⟨mv212⟩:Measure)
	[size]::(⟨mv20⟩:Measure ⟨r220⟩:integer)
	[size]::(⟨mv21⟩:Measure ⟨cr221⟩:integer)
	[size]::(⟨mv22⟩:Measure ⟨mv222⟩:Measure)
	[gap]::(⟨r00⟩:integer ⟨r200⟩:integer)
	[gap]::(⟨r01⟩:integer ⟨cr201⟩:integer)
	[gap]::(⟨r02⟩:integer ⟨mv202⟩:Measure)
	[gap]::(⟨cr10⟩:integer ⟨r210⟩:integer)
	[gap]::(⟨cr11⟩:integer ⟨cr211⟩:integer)
	[gap]::(⟨cr12⟩:integer ⟨mv212⟩:Measure)
	[gap]::(⟨mv20⟩:Measure ⟨r220⟩:integer)
	[gap]::(⟨mv21⟩:Measure ⟨cr221⟩:integer)
	[gap]::(⟨mv22⟩:Measure ⟨mv222⟩:Measure)
	[shadowPos]::(⟨r00⟩:integer ⟨r200⟩:integer)
	[shadowPos]::(⟨r01⟩:integer ⟨cr201⟩:integer)
	[shadowPos]::(⟨r02⟩:integer ⟨mv202⟩:Measure)
	[shadowPos]::(⟨cr10⟩:integer ⟨r210⟩:integer)
	[shadowPos]::(⟨cr11⟩:integer ⟨cr211⟩:integer)
	[shadowPos]::(⟨cr12⟩:integer ⟨mv212⟩:Measure)
	[shadowPos]::(⟨mv20⟩:Measure ⟨r220⟩:integer)
	[shadowPos]::(⟨mv21⟩:Measure ⟨cr221⟩:integer)
	[shadowPos]::(⟨mv22⟩:Measure ⟨mv222⟩:Measure)
	[shrink]::(⟨r00⟩:integer ⟨r200⟩:integer)
	[shrink]::(⟨r01⟩:integer ⟨cr201⟩:integer)
	[shrink]::(⟨r02⟩:integer ⟨mv202⟩:Measure)
	[shrink]::(⟨cr10⟩:integer ⟨r210⟩:integer)
	[shrink]::(⟨cr11⟩:integer ⟨cr211⟩:integer)
	[shrink]::(⟨cr12⟩:integer ⟨mv212⟩:Measure)
	[shrink]::(⟨mv20⟩:Measure ⟨r220⟩:integer)
	[shrink]::(⟨mv21⟩:Measure ⟨cr221⟩:integer)
	[shrink]::(⟨mv22⟩:Measure ⟨mv222⟩:Measure)
	[align]::(⟨r00⟩:integer ⟨r200⟩:integer)
	[align]::(⟨r01⟩:integer ⟨cr201⟩:integer)
	[align]::(⟨r02⟩:integer ⟨mv202⟩:Measure)
	[align]::(⟨cr10⟩:integer ⟨r210⟩:integer)
	[align]::(⟨cr11⟩:integer ⟨cr211⟩:integer)
	[align]::(⟨cr12⟩:integer ⟨mv212⟩:Measure)
	[align]::(⟨mv20⟩:Measure ⟨r220⟩:integer)
	[align]::(⟨mv21⟩:Measure ⟨cr221⟩:integer)
	[align]::(⟨mv22⟩:Measure ⟨mv222⟩:Measure)
	[grow]::(⟨r00⟩:integer ⟨r200⟩:integer)
	[grow]::(⟨r01⟩:integer ⟨cr201⟩:integer)
	[grow]::(⟨r02⟩:integer ⟨mv202⟩:Measure)
	[grow]::(⟨cr10⟩:integer ⟨r210⟩:integer)
	[grow]::(⟨cr11⟩:integer ⟨cr211⟩:integer)
	[grow]::(⟨cr12⟩:integer ⟨mv212⟩:Measure)
	[grow]::(⟨mv20⟩:Measure ⟨r220⟩:integer)
	[grow]::(⟨mv21⟩:Measure ⟨cr221⟩:integer)
	[grow]::(⟨mv22⟩:Measure ⟨mv222⟩:Measure)
	[connect]::(⟨r00⟩:integer ⟨r200⟩:integer)
	[connect]::(⟨r01⟩:integer ⟨cr201⟩:integer)
	[connect]::(⟨r02⟩:integer ⟨mv202⟩:Measure)
	[connect]::(⟨cr10⟩:integer ⟨r210⟩:integer)
	[connect]::(⟨cr11⟩:integer ⟨cr211⟩:integer)
	[connect]::(⟨cr12⟩:integer ⟨mv212⟩:Measure)
	[connect]::(⟨mv20⟩:Measure ⟨r220⟩:integer)
	[connect]::(⟨mv21⟩:Measure ⟨cr221⟩:integer)
	[connect]::(⟨mv22⟩:Measure ⟨mv222⟩:Measure)
	[width]::⟨w⟩:integer
	[height]::⟨h⟩:integer
	[child]::⟨props⟩:FProperty
	[grandChild]::⟨props⟩:FProperty
	[mouseOver]::⟨fig⟩:Figure
	[std]::⟨property⟩:FProperty
	[timer]::(⟨ti⟩:TimerInfo ⟨cbb⟩:ε)
	[project]::(⟨f0⟩:Figure ⟨p0⟩:string)
	[_child]::⟨props⟩:FProperties
	[unpack]::⟨props⟩:FProperties
	[shapeClosed]::⟨b⟩:boolean
	[shapeClosed]::⟨cb⟩:boolean
	[shapeClosed]::⟨mv⟩:Measure
	[shapeConnected]::⟨b⟩:boolean
	[shapeConnected]::⟨cb⟩:boolean
	[shapeConnected]::⟨mv⟩:Measure
	[shapeCurved]::⟨b⟩:boolean
	[shapeCurved]::⟨cb⟩:boolean
	[shapeCurved]::⟨mv⟩:Measure
	[hstartGap]::⟨b⟩:boolean
	[hstartGap]::⟨cb⟩:boolean
	[hstartGap]::⟨mv⟩:Measure
	[hendGap]::⟨b⟩:boolean
	[hendGap]::⟨cb⟩:boolean
	[hendGap]::⟨mv⟩:Measure
	[vstartGap]::⟨b⟩:boolean
	[vstartGap]::⟨cb⟩:boolean
	[vstartGap]::⟨mv⟩:Measure
	[vendGap]::⟨b⟩:boolean
	[vendGap]::⟨cb⟩:boolean
	[vendGap]::⟨mv⟩:Measure
	[hresizable]::⟨b⟩:boolean
	[hresizable]::⟨cb⟩:boolean
	[hresizable]::⟨mv⟩:Measure
	[vresizable]::⟨b⟩:boolean
	[vresizable]::⟨cb⟩:boolean
	[vresizable]::⟨mv⟩:Measure
	[hzoomable]::⟨b⟩:boolean
	[hzoomable]::⟨cb⟩:boolean
	[hzoomable]::⟨mv⟩:Measure
	[vzoomable]::⟨b⟩:boolean
	[vzoomable]::⟨cb⟩:boolean
	[vzoomable]::⟨mv⟩:Measure
	[allAngles]::⟨b⟩:boolean
	[allAngles]::⟨cb⟩:boolean
	[allAngles]::⟨mv⟩:Measure
	[shadow]::⟨b⟩:boolean
	[shadow]::⟨cb⟩:boolean
	[shadow]::⟨mv⟩:Measure
	[justify]::⟨b⟩:boolean
	[justify]::⟨cb⟩:boolean
	[justify]::⟨mv⟩:Measure
	[manhattan]::⟨b⟩:boolean
	[manhattan]::⟨cb⟩:boolean
	[manhattan]::⟨mv⟩:Measure
	[hmajor]::⟨b⟩:boolean
	[hmajor]::⟨cb⟩:boolean
	[hmajor]::⟨mv⟩:Measure
	[hmirror]::⟨b⟩:boolean
	[hmirror]::⟨cb⟩:boolean
	[hmirror]::⟨mv⟩:Measure
	[vmirror]::⟨b⟩:boolean
	[vmirror]::⟨cb⟩:boolean
	[vmirror]::⟨mv⟩:Measure
	[fontItalic]::⟨b⟩:boolean
	[fontItalic]::⟨cb⟩:boolean
	[fontItalic]::⟨mv⟩:Measure
	[fontBold]::⟨b⟩:boolean
	[fontBold]::⟨cb⟩:boolean
	[fontBold]::⟨mv⟩:Measure
	[fillColor]::⟨c⟩:Color
	[fillColor]::⟨cc⟩:Color
	[fillColor]::⟨mv⟩:Measure
	[fillColor]::⟨ds⟩:string
	[fontColor]::⟨c⟩:Color
	[fontColor]::⟨cc⟩:Color
	[fontColor]::⟨mv⟩:Measure
	[fontColor]::⟨ds⟩:string
	[lineColor]::⟨c⟩:Color
	[lineColor]::⟨cc⟩:Color
	[lineColor]::⟨mv⟩:Measure
	[lineColor]::⟨ds⟩:string
	[shadowColor]::⟨c⟩:Color
	[shadowColor]::⟨cc⟩:Color
	[shadowColor]::⟨mv⟩:Measure
	[shadowColor]::⟨ds⟩:string
	[area]::⟨r⟩:integer
	[area]::⟨cr⟩:integer
	[area]::⟨mv⟩:Measure
	[aspectRatio]::⟨r⟩:integer
	[aspectRatio]::⟨cr⟩:integer
	[aspectRatio]::⟨mv⟩:Measure
	[ialign]::⟨r⟩:integer
	[ialign]::⟨cr⟩:integer
	[ialign]::⟨mv⟩:Measure
	[hsize]::⟨r⟩:integer
	[hsize]::⟨cr⟩:integer
	[hsize]::⟨mv⟩:Measure
	[vsize]::⟨r⟩:integer
	[vsize]::⟨cr⟩:integer
	[vsize]::⟨mv⟩:Measure
	[hgap]::⟨r⟩:integer
	[hgap]::⟨cr⟩:integer
	[hgap]::⟨mv⟩:Measure
	[vgap]::⟨r⟩:integer
	[vgap]::⟨cr⟩:integer
	[vgap]::⟨mv⟩:Measure
	[hshadowPos]::⟨r⟩:integer
	[hshadowPos]::⟨cr⟩:integer
	[hshadowPos]::⟨mv⟩:Measure
	[vshadowPos]::⟨r⟩:integer
	[vshadowPos]::⟨cr⟩:integer
	[vshadowPos]::⟨mv⟩:Measure
	[hconnect]::⟨r⟩:integer
	[hconnect]::⟨cr⟩:integer
	[hconnect]::⟨mv⟩:Measure
	[vconnect]::⟨r⟩:integer
	[vconnect]::⟨cr⟩:integer
	[vconnect]::⟨mv⟩:Measure
	[hshrink]::⟨r⟩:integer
	[hshrink]::⟨cr⟩:integer
	[hshrink]::⟨mv⟩:Measure
	[vshrink]::⟨r⟩:integer
	[vshrink]::⟨cr⟩:integer
	[vshrink]::⟨mv⟩:Measure
	[halign]::⟨r⟩:integer
	[halign]::⟨cr⟩:integer
	[halign]::⟨mv⟩:Measure
	[valign]::⟨r⟩:integer
	[valign]::⟨cr⟩:integer
	[valign]::⟨mv⟩:Measure
	[hpos]::⟨r⟩:integer
	[hpos]::⟨cr⟩:integer
	[hpos]::⟨mv⟩:Measure
	[vpos]::⟨r⟩:integer
	[vpos]::⟨cr⟩:integer
	[vpos]::⟨mv⟩:Measure
	[hgrow]::⟨r⟩:integer
	[hgrow]::⟨cr⟩:integer
	[hgrow]::⟨mv⟩:Measure
	[vgrow]::⟨r⟩:integer
	[vgrow]::⟨cr⟩:integer
	[vgrow]::⟨mv⟩:Measure
	[lineWidth]::⟨r⟩:integer
	[lineWidth]::⟨cr⟩:integer
	[lineWidth]::⟨mv⟩:Measure
	[textAngle]::⟨r⟩:integer
	[textAngle]::⟨cr⟩:integer
	[textAngle]::⟨mv⟩:Measure
	[toArrow]::⟨f⟩:Figure
	[toArrow]::⟨cf⟩:Figure
	[toArrow]::⟨mv⟩:Measure
	[fromArrow]::⟨f⟩:Figure
	[fromArrow]::⟨cf⟩:Figure
	[fromArrow]::⟨mv⟩:Measure
	[label]::⟨f⟩:Figure
	[label]::⟨cf⟩:Figure
	[label]::⟨mv⟩:Measure
	[fontSize]::⟨i⟩:integer
	[fontSize]::⟨ci⟩:integer
	[fontSize]::⟨mv⟩:Measure
	[lineStyle]::⟨s⟩:string
	[lineStyle]::⟨cs⟩:string
	[lineStyle]::⟨mv⟩:Measure
	[hint]::⟨s⟩:string
	[hint]::⟨cs⟩:string
	[hint]::⟨mv⟩:Measure
	[id]::⟨s⟩:string
	[id]::⟨cs⟩:string
	[id]::⟨mv⟩:Measure
	[fontBaseline]::⟨s⟩:string
	[fontBaseline]::⟨cs⟩:string
	[fontBaseline]::⟨mv⟩:Measure
	[layer]::⟨s⟩:string
	[layer]::⟨cs⟩:string
	[layer]::⟨mv⟩:Measure
	[font]::⟨s⟩:string
	[font]::⟨cs⟩:string
	[font]::⟨mv⟩:Measure
	[dir]::⟨s⟩:string
	[dir]::⟨cs⟩:string
	[dir]::⟨mv⟩:Measure
	[onMouseDown]::⟨h0⟩:(integer (KeyModifier boolean)*)
	[onMouseUp]::⟨h1⟩:(integer (KeyModifier boolean)*)
	[onMouseEnter]::⟨h2⟩:ε
	[onMouseExit]::⟨h3⟩:ε
	[onKeyDown]::⟨h4⟩:(KeySym (KeyModifier boolean)*)
	[onKeyUp]::⟨h5⟩:(KeySym (KeyModifier boolean)*)
Edge ::=
	[edge]::(⟨from⟩:string ⟨to⟩:string ⟨props⟩:FProperty)
	[edge]::(⟨from⟩:string ⟨to⟩:string ⟨toArrowP⟩:Figure ⟨props⟩:FProperty)
	[edge]::(⟨from⟩:string ⟨to⟩:string ⟨fromArrowP⟩:Figure ⟨toArrowP⟩:Figure ⟨props⟩:FProperty)
	[_edge]::(⟨from⟩:string ⟨to⟩:string ⟨prop⟩:FProperties)
Figure ::=
	[text]::(⟨s⟩:string ⟨props⟩:FProperty)
	[text]::(⟨sv⟩:computedStr ⟨props⟩:FProperty)
	[outline]::(⟨lineInfo⟩:LineDecoration* ⟨maxLine⟩:integer ⟨props⟩:FProperty)
	[box]::⟨props⟩:FProperty
	[box]::(⟨fig⟩:Figure ⟨props⟩:FProperty)
	[ellipse]::⟨props⟩:FProperty
	[ellipse]::(⟨fig⟩:Figure ⟨props⟩:FProperty)
	[wedge]::⟨props⟩:FProperty
	[wedge]::(⟨fig⟩:Figure ⟨props⟩:FProperty)
	[space]::⟨props⟩:FProperty
	[space]::(⟨fig⟩:Figure ⟨props⟩:FProperty)
	[haxis]::(⟨fig⟩:Figure ⟨props⟩:FProperty)
	[vaxis]::(⟨fig⟩:Figure ⟨props⟩:FProperty)
	[hscreen]::(⟨fig⟩:Figure ⟨props⟩:FProperty)
	[vscreen]::(⟨fig⟩:Figure ⟨props⟩:FProperty)
	[leftAxis]::(⟨name⟩:string ⟨i⟩:string ⟨fig⟩:Figure ⟨props⟩:FProperty)
	[rightAxis]::(⟨name⟩:string ⟨i⟩:string ⟨fig⟩:Figure ⟨props⟩:FProperty)
	[topAxis]::(⟨name⟩:string ⟨i⟩:string ⟨fig⟩:Figure ⟨props⟩:FProperty)
	[bottomAxis]::(⟨name⟩:string ⟨i⟩:string ⟨fig⟩:Figure ⟨props⟩:FProperty)
	[leftAxis]::(⟨i⟩:string ⟨fig⟩:Figure ⟨props⟩:FProperty)
	[rightAxis]::(⟨i⟩:string ⟨fig⟩:Figure ⟨props⟩:FProperty)
	[topAxis]::(⟨i⟩:string ⟨fig⟩:Figure ⟨props⟩:FProperty)
	[bottomAxis]::(⟨i⟩:string ⟨fig⟩:Figure ⟨props⟩:FProperty)
	[projection]::(⟨fig⟩:Figure ⟨id⟩:string ⟨project⟩:Figure ⟨props⟩:FProperty)
	[scrollable]::(⟨fig⟩:Figure ⟨props⟩:FProperty)
	[hscrollable]::(⟨fig⟩:Figure ⟨props⟩:FProperty)
	[vscrollable]::(⟨fig⟩:Figure ⟨props⟩:FProperty)
	[place]::(⟨fig⟩:Figure ⟨at⟩:string ⟨base⟩:Figure ⟨props⟩:FProperty)
	[use]::(⟨fig⟩:Figure ⟨props⟩:FProperty)
	[overlap]::(⟨under⟩:Figure ⟨over⟩:Figure ⟨props⟩:FProperty)
	[hcat]::(⟨figs⟩:Figures ⟨props⟩:FProperty)
	[tree]::(⟨root⟩:Figure ⟨children⟩:Figures ⟨props⟩:FProperty)
	[vcat]::(⟨figs⟩:Figures ⟨props⟩:FProperty)
	[hvcat]::(⟨figs⟩:Figures ⟨props⟩:FProperty)
	[fswitch]::(⟨choice⟩:integer ⟨figs⟩:Figures ⟨props⟩:FProperty)
	[overlay]::(⟨figs⟩:Figures ⟨props⟩:FProperty)
	[grid]::(⟨figs⟩:Figure** ⟨props⟩:FProperty)
	[pack]::(⟨figs⟩:Figures ⟨props⟩:FProperty)
	[graph]::(⟨nodes⟩:Figures ⟨edges⟩:Edges ⟨props⟩:FProperty)
	[treemap]::(⟨nodes⟩:Figures ⟨props⟩:FProperty)
	[rotate]::(⟨angle⟩:integer ⟨fig⟩:Figure ⟨props⟩:FProperty)
	[boolControl]::(⟨name⟩:string ⟨figOn⟩:Figure ⟨figOff⟩:Figure ⟨props⟩:FProperty)
	[controlOn]::(⟨name⟩:string ⟨fig⟩:Figure ⟨props⟩:FProperty)
	[controlOff]::(⟨name⟩:string ⟨fig⟩:Figure ⟨props⟩:FProperty)
	[strControl]::(⟨name⟩:string ⟨initial⟩:string ⟨props⟩:FProperty)
	[intControl]::(⟨name⟩:string ⟨initial⟩:integer ⟨props⟩:FProperty)
	[colorControl]::(⟨name⟩:string ⟨initial⟩:integer ⟨props⟩:FProperty)
	[colorControl]::(⟨name⟩:string ⟨initial⟩:string ⟨props⟩:FProperty)
	[computeFigure]::(⟨computeFig⟩:Figure ⟨props⟩:FProperty)
	[computeFigure]::(⟨recomp⟩:boolean ⟨computeFig⟩:Figure ⟨props⟩:FProperty)
	[button]::(⟨label⟩:string ⟨callback⟩:ε ⟨props⟩:FProperty)
	[textfield]::(⟨text⟩:string ⟨callback⟩:string ⟨props⟩:FProperty)
	[textfield]::(⟨text⟩:string ⟨callback⟩:string ⟨validate⟩:string ⟨props⟩:FProperty)
	[combo]::(⟨choices⟩:string* ⟨callback⟩:string ⟨props⟩:FProperty)
	[choice]::(⟨choices⟩:string* ⟨ccallback⟩:⟨s⟩:string ⟨props⟩:FProperty)
	[checkbox]::(⟨text⟩:string ⟨checked⟩:boolean ⟨vcallback⟩:boolean ⟨props⟩:FProperty)
	[checkbox]::(⟨text⟩:string ⟨vcallback⟩:boolean ⟨props⟩:FProperty)
	[scaleSlider]::(⟨low⟩:integer ⟨high⟩:integer ⟨vcallback⟩:integer ⟨props⟩:FProperty)
	[scaleSlider]::(⟨low⟩:integer ⟨high⟩:integer ⟨selection⟩:integer ⟨vcallback⟩:integer ⟨props⟩:FProperty)
	[normalize]::⟨f⟩:Figure
	[palleteKey]::(⟨name⟩:string ⟨key⟩:string ⟨props⟩:FProperty)
	[hPalleteKey]::(⟨name⟩:string ⟨key⟩:string ⟨props⟩:FProperty)
	[title]::(⟨name⟩:string ⟨inner⟩:Figure ⟨props⟩:FProperty)
	[point]::⟨props⟩:FProperty
	[colorIntervalKey]::(⟨name⟩:string ⟨key⟩:string ⟨lowc⟩:Color ⟨highc⟩:Color ⟨props⟩:FProperty)
	[triangle]::(⟨side⟩:integer ⟨props⟩:FProperty)
	[headNormal]::⟨props⟩:FProperty
	[headInv]::⟨props⟩:FProperty
	[headDot]::⟨props⟩:FProperty
	[headBox]::⟨props⟩:FProperty
	[headDiamond]::⟨props⟩:FProperty
	[shapeEllipse]::⟨props⟩:FProperty
	[shapeDoubleEllipse]::⟨props⟩:FProperty
	[shapeBox]::⟨props⟩:FProperty
	[shapeDiamond]::⟨props⟩:FProperty
	[shapeParallelogram]::⟨props⟩:FProperty
	[shapeEllipse]::(⟨fig⟩:Figure ⟨props⟩:FProperty)
	[shapeDoubleEllipse]::(⟨fig⟩:Figure ⟨props⟩:FProperty)
	[shapeBox]::(⟨fig⟩:Figure ⟨props⟩:FProperty)
	[shapeDiamond]::(⟨fig⟩:Figure ⟨props⟩:FProperty)
	[shapeParallelogram]::(⟨fig⟩:Figure ⟨props⟩:FProperty)
	[ifFig]::(⟨cond⟩:boolean ⟨onTrue⟩:Figure ⟨props⟩:FProperty)
	[boolFig]::(⟨cond⟩:boolean ⟨onTrue⟩:Figure ⟨onFalse⟩:Figure ⟨props⟩:FProperty)
	[_text]::(⟨s⟩:string ⟨props⟩:FProperties)
	[_text]::(⟨sv⟩:computedStr ⟨props⟩:FProperties)
	[_outline]::(⟨lineInfo⟩:LineDecoration* ⟨maxLine⟩:integer ⟨props⟩:FProperties)
	[_widthDepsHeight]::(⟨inner⟩:Figure ⟨props⟩:FProperties)
	[_box]::⟨props⟩:FProperties
	[_box]::(⟨inner⟩:Figure ⟨props⟩:FProperties)
	[_ellipse]::⟨props⟩:FProperties
	[_ellipse]::(⟨inner⟩:Figure ⟨props⟩:FProperties)
	[_wedge]::⟨props⟩:FProperties
	[_wedge]::(⟨inner⟩:Figure ⟨props⟩:FProperties)
	[_space]::⟨props⟩:FProperties
	[_space]::(⟨inner⟩:Figure ⟨props⟩:FProperties)
	[_screen]::(⟨inner⟩:Figure ⟨props⟩:FProperties)
	[_leftAxis]::(⟨name⟩:string ⟨inner⟩:Figure ⟨props⟩:FProperties)
	[_rightAxis]::(⟨name⟩:string ⟨inner⟩:Figure ⟨props⟩:FProperties)
	[_topAxis]::(⟨name⟩:string ⟨inner⟩:Figure ⟨props⟩:FProperties)
	[_bottomAxis]::(⟨name⟩:string ⟨inner⟩:Figure ⟨props⟩:FProperties)
	[_projection]::(⟨fig⟩:Figure ⟨id⟩:string ⟨project⟩:Figure ⟨props⟩:FProperties)
	[_projection]::(⟨fig⟩:Figure ⟨cid⟩:string ⟨project⟩:Figure ⟨props⟩:FProperties)
	[_scrollable]::(⟨hscroll⟩:boolean ⟨vscroll⟩:boolean ⟨fig⟩:Figure ⟨props⟩:FProperties)
	[_timer]::(⟨timerInit⟩:TimerInfo ⟨callBack⟩:integer ⟨inner⟩:Figure ⟨props⟩:FProperties)
	[_withDependantWidthHeight]::(⟨widthMajor⟩:boolean ⟨innder⟩:Figure ⟨props⟩:FProperties)
	[_mouseOver]::(⟨under⟩:Figure ⟨over⟩:Figure ⟨props⟩:FProperties)
	[_fswitch]::(⟨choice⟩:integer ⟨figs⟩:Figures ⟨props⟩:FProperties)
	[_overlap]::(⟨under⟩:Figure ⟨over⟩:Figure ⟨props⟩:FProperties)
	[_hvcat]::(⟨figs⟩:Figures ⟨props⟩:FProperties)
	[_overlay]::(⟨figs⟩:Figures ⟨props⟩:FProperties)
	[_grid]::(⟨figMatrix⟩:Figure** ⟨props⟩:FProperties)
	[_pack]::(⟨figs⟩:Figures ⟨props⟩:FProperties)
	[_graph]::(⟨nodes⟩:Figures ⟨edges⟩:Edges ⟨props⟩:FProperties)
	[_tree]::(⟨figs⟩:Figures ⟨props⟩:FProperties)
	[_treemap]::(⟨nodes⟩:Figures ⟨props⟩:FProperties)
	[_nominalKey]::(⟨possibilities⟩:α* ⟨whole⟩:α* ⟨props⟩:FProperties)
	[_intervalKey]::(⟨interpolate⟩:⟨part⟩:integer ⟨explain⟩:(⟨low⟩:α ⟨high⟩:α) ⟨props⟩:FProperties)
	[_computeFigure]::(⟨recomp⟩:boolean ⟨computeFig⟩:Figure ⟨props⟩:FProperties)
	[_button]::(⟨label⟩:string ⟨vcallback⟩:ε ⟨props⟩:FProperties)
	[_textfield]::(⟨text⟩:string ⟨scallback⟩:string ⟨props⟩:FProperties)
	[_textfield]::(⟨text⟩:string ⟨scallback⟩:string ⟨validate⟩:string ⟨props⟩:FProperties)
	[_combo]::(⟨choices⟩:string* ⟨scallback⟩:string ⟨props⟩:FProperties)
	[_choice]::(⟨choices⟩:string* ⟨ccallback⟩:⟨s⟩:string ⟨props⟩:FProperties)
	[_checkbox]::(⟨text⟩:string ⟨checked⟩:boolean ⟨vbcallback⟩:boolean ⟨props⟩:FProperties)
	[_scale]::(⟨low⟩:integer ⟨high⟩:integer ⟨selection⟩:integer ⟨ssdfcallback⟩:integer ⟨props⟩:FProperties)
LineDecoration ::=
	[info]::(⟨lineNumber⟩:integer ⟨msg⟩:string)
	[warning]::(⟨lineNumber⟩:integer ⟨msg⟩:string)
	[error]::(⟨lineNumber⟩:integer ⟨msg⟩:string)
	[highlight]::(⟨lineNumber⟩:integer ⟨msg⟩:string)
	[highlight]::(⟨lineNumber⟩:integer ⟨msg⟩:string ⟨level⟩:integer)
Measure ::=
	[measure]::(⟨quantity⟩:α ⟨axisId⟩:string)
FProperties ::=
	FProperty*
computedStr ::=
	string
TimerInfo ::=
	[stopped]::⟨timeSinceLast⟩:integer
	[running]::⟨timeLeft⟩:integer
Orientation ::=
	[leftRight]::ε
	[rightLeft]::ε
	[topDown]::ε
	[downTop]::ε
Edges ::=
	Edge*
Figures ::=
	Figure*

GrammarLabMaintained by Dr. Vadim Zaytsev a.k.a. @grammarware. Last updated in September 2015. [↑]