collab/mermaid/packages/parser/src/language/common/common.langiumblame
View source
6dd74de1// Base terminals and fragments for common language constructs
6dd74de2// Terminal Precedence: Lazy to Greedy
6dd74de3// When imported, the terminals are considered after the terminals in the importing grammar
6dd74de4// Note: Hence, to add a terminal greedier than the common terminals, import it separately after the common import
6dd74de5
6dd74de6EOL returns string: NEWLINE+ | EOF;
6dd74de7
6dd74de8fragment TitleAndAccessibilities:
6dd74de9 ((accDescr=ACC_DESCR | accTitle=ACC_TITLE | title=TITLE) EOL)+
6dd74de10;
6dd74de11
6dd74de12terminal BOOLEAN returns boolean: 'true' | 'false';
6dd74de13
6dd74de14terminal ACC_DESCR: /[\t ]*accDescr(?:[\t ]*:([^\n\r]*?(?=%%)|[^\n\r]*)|\s*{([^}]*)})/;
6dd74de15terminal ACC_TITLE: /[\t ]*accTitle[\t ]*:(?:[^\n\r]*?(?=%%)|[^\n\r]*)/;
6dd74de16terminal TITLE: /[\t ]*title(?:[\t ][^\n\r]*?(?=%%)|[\t ][^\n\r]*|)/;
6dd74de17
6dd74de18terminal FLOAT returns number: /[0-9]+\.[0-9]+(?!\.)/;
6dd74de19terminal INT returns number: /0|[1-9][0-9]*(?!\.)/;
6dd74de20terminal NUMBER returns number: FLOAT | INT;
6dd74de21
6dd74de22terminal STRING returns string: /"([^"\\]|\\.)*"|'([^'\\]|\\.)*'/;
6dd74de23
6dd74de24// Alphanumerics with underscores and dashes
6dd74de25// Must start with an alphanumeric or an underscore
6dd74de26// Cant end with a dash
6dd74de27terminal ID returns string: /[\w]([-\w]*\w)?/;
6dd74de28
6dd74de29terminal NEWLINE: /\r?\n/;
6dd74de30
6dd74de31hidden terminal WHITESPACE: /[\t ]+/;
6dd74de32hidden terminal YAML: /---[\t ]*\r?\n(?:[\S\s]*?\r?\n)?---(?:\r?\n|(?!\S))/;
6dd74de33hidden terminal DIRECTIVE: /[\t ]*%%{[\S\s]*?}%%(?:\r?\n|(?!\S))/;
6dd74de34hidden terminal SINGLE_LINE_COMMENT: /[\t ]*%%[^\n\r]*/;