From 702192a2a4af8844406351238ccbd84efc4f9673 Mon Sep 17 00:00:00 2001 From: Pluralia Date: Wed, 17 Nov 2021 16:50:58 +0100 Subject: [PATCH] Replace '|' with ':' in grammar --- .../src/language-server/domain-model.langium | 4 ++-- .../src/grammar/langium-grammar.langium | 18 +++++++++--------- 2 files changed, 11 insertions(+), 11 deletions(-) diff --git a/examples/domainmodel/src/language-server/domain-model.langium b/examples/domainmodel/src/language-server/domain-model.langium index b0f455f80..5faf03bcd 100644 --- a/examples/domainmodel/src/language-server/domain-model.langium +++ b/examples/domainmodel/src/language-server/domain-model.langium @@ -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)*; diff --git a/packages/langium/src/grammar/langium-grammar.langium b/packages/langium/src/grammar/langium-grammar.langium index a95efc90e..58faf524a 100644 --- a/packages/langium/src/grammar/langium-grammar.langium +++ b/packages/langium/src/grammar/langium-grammar.langium @@ -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)+; @@ -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 ';'; @@ -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: @@ -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; @@ -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; @@ -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;