collab/mermaid/packages/parser/src/language/radar/radar.langiumblame
View source
6dd74de1grammar RadarGrammar
6dd74de2import "../common/common";
6dd74de3
6dd74de4entry Radar:
6dd74de5 NEWLINE*
6dd74de6 ('radar-beta' | 'radar-beta:' | 'radar-beta' ':')
6dd74de7 NEWLINE*
6dd74de8 (
6dd74de9 TitleAndAccessibilities
6dd74de10 | 'axis' axes+=Axis (',' axes+=Axis)*
6dd74de11 | 'curve' curves+=Curve (',' curves+=Curve)*
6dd74de12 | options+=Option (',' options+=Option)*
6dd74de13 | NEWLINE
6dd74de14 )*
6dd74de15;
6dd74de16
6dd74de17fragment Label:
6dd74de18 '[' label=STRING ']'
6dd74de19;
6dd74de20
6dd74de21Axis:
6dd74de22 name=ID (Label)?
6dd74de23;
6dd74de24
6dd74de25Curve:
6dd74de26 name=ID (Label)? '{' Entries '}'
6dd74de27;
6dd74de28
6dd74de29fragment Entries:
6dd74de30 NEWLINE* entries+=NumberEntry (',' NEWLINE* entries+=NumberEntry)* NEWLINE* |
6dd74de31 NEWLINE* entries+=DetailedEntry (',' NEWLINE* entries+=DetailedEntry)* NEWLINE*
6dd74de32;
6dd74de33
6dd74de34interface Entry {
6dd74de35 axis?: @Axis;
6dd74de36 value: number;
6dd74de37}
6dd74de38DetailedEntry returns Entry:
6dd74de39 axis=[Axis:ID] ':'? value=NUMBER
6dd74de40;
6dd74de41NumberEntry returns Entry:
6dd74de42 value=NUMBER
6dd74de43;
6dd74de44
6dd74de45Option:
6dd74de46 (
6dd74de47 name='showLegend' value=BOOLEAN
6dd74de48 | name='ticks' value=NUMBER
6dd74de49 | name='max' value=NUMBER
6dd74de50 | name='min' value=NUMBER
6dd74de51 | name='graticule' value=GRATICULE
6dd74de52 )
6dd74de53;
6dd74de54
6dd74de55terminal GRATICULE returns string: 'circle' | 'polygon';