Skip to content

Commit

Permalink
Replace '|' with ':' in grammar
Browse files Browse the repository at this point in the history
  • Loading branch information
Pluralia committed Nov 18, 2021
1 parent d0787a2 commit 702192a
Show file tree
Hide file tree
Showing 2 changed files with 11 additions and 11 deletions.
4 changes: 2 additions & 2 deletions examples/domainmodel/src/language-server/domain-model.langium
Original file line number Diff line number Diff line change
Expand Up @@ -18,12 +18,12 @@ DataType:
'datatype' name=ID;

Entity:
'entity' name=ID ('extends' superType=[Entity|QualifiedName])? '{'
'entity' name=ID ('extends' superType=[Entity:QualifiedName])? '{'
(features+=Feature)*
'}';

Feature:
(many?='many')? name=ID ':' type=[Type|QualifiedName];
(many?='many')? name=ID ':' type=[Type:QualifiedName];

QualifiedName returns string:
ID ('.' ID)*;
Expand Down
18 changes: 9 additions & 9 deletions packages/langium/src/grammar/langium-grammar.langium
Original file line number Diff line number Diff line change
Expand Up @@ -9,8 +9,8 @@ hidden terminal ML_COMMENT: /\/\*[\s\S]*?\*\//;
hidden terminal SL_COMMENT: /\/\/[^\n\r]*/;

entry Grammar:
'grammar' name=ID ('with' usedGrammars+=[Grammar|ID] (',' usedGrammars+=[Grammar|ID])*)?
(definesHiddenTokens?='hidden' '(' (hiddenTokens+=[AbstractRule|ID] (',' hiddenTokens+=[AbstractRule|ID])*)? ')')?
'grammar' name=ID ('with' usedGrammars+=[Grammar:ID] (',' usedGrammars+=[Grammar:ID])*)?
(definesHiddenTokens?='hidden' '(' (hiddenTokens+=[AbstractRule:ID] (',' hiddenTokens+=[AbstractRule:ID])*)? ')')?
metamodelDeclarations+=AbstractMetamodelDeclaration*
(rules+=AbstractRule)+;

Expand All @@ -34,7 +34,7 @@ ParserRule :
(^entry?='entry' | ^fragment?='fragment') RuleNameAndParams (wildcard?='*' | ('returns' type=ID)?)
| RuleNameAndParams ('returns' type=ID)?
)
(definesHiddenTokens?='hidden' '(' (hiddenTokens+=[AbstractRule|ID] (',' hiddenTokens+=[AbstractRule|ID])*)? ')')? ':'
(definesHiddenTokens?='hidden' '(' (hiddenTokens+=[AbstractRule:ID] (',' hiddenTokens+=[AbstractRule:ID])*)? ')')? ':'
alternatives=Alternatives
';';

Expand Down Expand Up @@ -75,10 +75,10 @@ Keyword:
value=string;

RuleCall:
rule=[AbstractRule|ID] ('<' arguments+=NamedArgument (',' arguments+=NamedArgument)* '>')?;
rule=[AbstractRule:ID] ('<' arguments+=NamedArgument (',' arguments+=NamedArgument)* '>')?;

NamedArgument:
( parameter=[Parameter|ID] calledByName?= '=')?
( parameter=[Parameter:ID] calledByName?= '=')?
( value=Disjunction );

LiteralCondition:
Expand All @@ -100,13 +100,13 @@ ParenthesizedCondition returns Condition:
'(' Disjunction ')';

ParameterReference:
parameter=[Parameter|ID];
parameter=[Parameter:ID];

PredicatedKeyword returns Keyword:
(predicated?='=>' | firstSetPredicated?='->') value=string;

PredicatedRuleCall returns RuleCall:
(predicated?='=>' | firstSetPredicated?='->') rule=[AbstractRule|ID] ('<' arguments+=NamedArgument (',' arguments+=NamedArgument)* '>')?;
(predicated?='=>' | firstSetPredicated?='->') rule=[AbstractRule:ID] ('<' arguments+=NamedArgument (',' arguments+=NamedArgument)* '>')?;

Assignment returns AbstractElement:
{Assignment} (predicated?='=>' | firstSetPredicated?='->')? feature=ID operator=('+='|'='|'?=') ^terminal=AssignableTerminal;
Expand All @@ -121,7 +121,7 @@ AssignableAlternatives returns AbstractElement:
AssignableTerminal ({Alternatives.elements+=current} ('|' elements+=AssignableTerminal)+)?;

CrossReference returns AbstractElement:
{CrossReference} '[' type=[ParserRule|ID] (('|' | ':') ^terminal=CrossReferenceableTerminal )? ']';
{CrossReference} '[' type=[ParserRule:ID] (('|' | ':') ^terminal=CrossReferenceableTerminal )? ']';

CrossReferenceableTerminal returns AbstractElement:
Keyword | RuleCall;
Expand Down Expand Up @@ -155,7 +155,7 @@ ParenthesizedTerminalElement returns AbstractElement:
'(' TerminalAlternatives ')';

TerminalRuleCall returns AbstractElement:
{TerminalRuleCall} rule=[TerminalRule|ID];
{TerminalRuleCall} rule=[TerminalRule:ID];

NegatedToken returns AbstractElement:
{NegatedToken} '!' ^terminal=TerminalTokenElement;
Expand Down

0 comments on commit 702192a

Please sign in to comment.