Comparing version 0.1.0-next.6f45aec to 0.1.0-next.b687a8a
@@ -1,1 +0,1 @@ | ||
{"$type":"Grammar","name":"LangiumGrammar","definesHiddenTokens":true,"hiddenTokens":[{"$refName":"WS"}],"rules":[{"$type":"TerminalRule","name":"WS","regex":"/\\s+/"},{"$type":"TerminalRule","name":"ID","type":"string","regex":"/\\^?[_a-zA-Z][\\w_]*/"},{"$type":"TerminalRule","name":"INT","type":"number","regex":"/[0-9]+/"},{"$type":"TerminalRule","name":"string","regex":"/\"[^\"]*\"|'[^']*'/"},{"$type":"ParserRule","name":"Grammar","alternatives":{"$type":"Group","elements":[{"$type":"Keyword","value":"grammar"},{"$type":"Assignment","feature":"name","operator":"=","terminal":{"$type":"RuleCall","rule":{"$refName":"ID"}}},{"$type":"Group","elements":[{"$type":"Keyword","value":"with"},{"$type":"Assignment","feature":"usedGrammars","operator":"+=","terminal":{"$type":"CrossReference","type":{"$refName":"Grammar"},"terminal":{"$type":"RuleCall","rule":{"$refName":"ID"}}}},{"$type":"Group","elements":[{"$type":"Keyword","value":","},{"$type":"Assignment","feature":"usedGrammars","operator":"+=","terminal":{"$type":"CrossReference","type":{"$refName":"Grammar"},"terminal":{"$type":"RuleCall","rule":{"$refName":"ID"}}}}],"cardinality":"*"}],"cardinality":"?"},{"$type":"Group","elements":[{"$type":"Assignment","feature":"definesHiddenTokens","operator":"?=","terminal":{"$type":"Keyword","value":"hidden"}},{"$type":"Keyword","value":"("},{"$type":"Group","elements":[{"$type":"Assignment","feature":"hiddenTokens","operator":"+=","terminal":{"$type":"CrossReference","type":{"$refName":"AbstractRule"},"terminal":{"$type":"RuleCall","rule":{"$refName":"ID"}}}},{"$type":"Group","elements":[{"$type":"Keyword","value":","},{"$type":"Assignment","feature":"hiddenTokens","operator":"+=","terminal":{"$type":"CrossReference","type":{"$refName":"AbstractRule"},"terminal":{"$type":"RuleCall","rule":{"$refName":"ID"}}}}],"cardinality":"*"}],"cardinality":"?"},{"$type":"Keyword","value":")"}],"cardinality":"?"},{"$type":"Assignment","feature":"metamodelDeclarations","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$refName":"AbstractMetamodelDeclaration"}},"cardinality":"*"},{"$type":"Assignment","feature":"rules","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$refName":"AbstractRule"}},"cardinality":"+"}]}},{"$type":"ParserRule","name":"AbstractRule","alternatives":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$refName":"ParserRule"}},{"$type":"RuleCall","rule":{"$refName":"TerminalRule"}}]}},{"$type":"ParserRule","name":"AbstractMetamodelDeclaration","alternatives":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$refName":"GeneratedMetamodel"}},{"$type":"RuleCall","rule":{"$refName":"ReferencedMetamodel"}}]}},{"$type":"ParserRule","name":"GeneratedMetamodel","alternatives":{"$type":"Group","elements":[{"$type":"Keyword","value":"generate"},{"$type":"Assignment","feature":"name","operator":"=","terminal":{"$type":"RuleCall","rule":{"$refName":"ID"}}},{"$type":"Assignment","feature":"ePackage","operator":"=","terminal":{"$type":"RuleCall","rule":{"$refName":"string"}}},{"$type":"Group","elements":[{"$type":"Keyword","value":"as"},{"$type":"Assignment","feature":"alias","operator":"=","terminal":{"$type":"RuleCall","rule":{"$refName":"ID"}}}],"cardinality":"?"}]}},{"$type":"ParserRule","name":"ReferencedMetamodel","alternatives":{"$type":"Group","elements":[{"$type":"Keyword","value":"import"},{"$type":"Assignment","feature":"ePackage","operator":"=","terminal":{"$type":"RuleCall","rule":{"$refName":"string"}}},{"$type":"Group","elements":[{"$type":"Keyword","value":"as"},{"$type":"Assignment","feature":"alias","operator":"=","terminal":{"$type":"RuleCall","rule":{"$refName":"ID"}}}],"cardinality":"?"}]}},{"$type":"ParserRule","name":"Annotation","alternatives":{"$type":"Group","elements":[{"$type":"Keyword","value":"@"},{"$type":"Assignment","feature":"name","operator":"=","terminal":{"$type":"RuleCall","rule":{"$refName":"ID"}}}]}},{"$type":"ParserRule","name":"ParserRule","alternatives":{"$type":"Group","elements":[{"$type":"Alternatives","elements":[{"$type":"Group","elements":[{"$type":"Assignment","feature":"fragment","operator":"?=","terminal":{"$type":"Keyword","value":"fragment"}},{"$type":"RuleCall","rule":{"$refName":"RuleNameAndParams"}},{"$type":"Alternatives","elements":[{"$type":"Assignment","feature":"wildcard","operator":"?=","terminal":{"$type":"Keyword","value":"*"}},{"$type":"Group","elements":[{"$type":"Keyword","value":"returns"},{"$type":"Assignment","feature":"type","operator":"=","terminal":{"$type":"RuleCall","rule":{"$refName":"ID"}}}],"cardinality":"?"}]}]},{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$refName":"RuleNameAndParams"}},{"$type":"Group","elements":[{"$type":"Keyword","value":"returns"},{"$type":"Assignment","feature":"type","operator":"=","terminal":{"$type":"RuleCall","rule":{"$refName":"ID"}}}],"cardinality":"?"}]}]},{"$type":"Group","elements":[{"$type":"Assignment","feature":"definesHiddenTokens","operator":"?=","terminal":{"$type":"Keyword","value":"hidden"}},{"$type":"Keyword","value":"("},{"$type":"Group","elements":[{"$type":"Assignment","feature":"hiddenTokens","operator":"+=","terminal":{"$type":"CrossReference","type":{"$refName":"AbstractRule"},"terminal":{"$type":"RuleCall","rule":{"$refName":"ID"}}}},{"$type":"Group","elements":[{"$type":"Keyword","value":","},{"$type":"Assignment","feature":"hiddenTokens","operator":"+=","terminal":{"$type":"CrossReference","type":{"$refName":"AbstractRule"},"terminal":{"$type":"RuleCall","rule":{"$refName":"ID"}}}}],"cardinality":"*"}],"cardinality":"?"},{"$type":"Keyword","value":")"}],"cardinality":"?"},{"$type":"Keyword","value":":"},{"$type":"Assignment","feature":"alternatives","operator":"=","terminal":{"$type":"RuleCall","rule":{"$refName":"Alternatives"}}},{"$type":"Keyword","value":";"}]}},{"$type":"ParserRule","name":"RuleNameAndParams","fragment":true,"alternatives":{"$type":"Group","elements":[{"$type":"Assignment","feature":"name","operator":"=","terminal":{"$type":"RuleCall","rule":{"$refName":"ID"}}},{"$type":"Group","elements":[{"$type":"Keyword","value":"<"},{"$type":"Group","elements":[{"$type":"Assignment","feature":"parameters","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$refName":"Parameter"}}},{"$type":"Group","elements":[{"$type":"Keyword","value":","},{"$type":"Assignment","feature":"parameters","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$refName":"Parameter"}}}],"cardinality":"*"}],"cardinality":"?"},{"$type":"Keyword","value":">"}],"cardinality":"?"}]}},{"$type":"ParserRule","name":"Parameter","alternatives":{"$type":"Assignment","feature":"name","operator":"=","terminal":{"$type":"RuleCall","rule":{"$refName":"ID"}}}},{"$type":"ParserRule","name":"Alternatives","type":"AbstractElement","alternatives":{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$refName":"UnorderedGroup"}},{"$type":"Group","elements":[{"$type":"Action","type":"Alternatives","feature":"elements","operator":"+="},{"$type":"Group","elements":[{"$type":"Keyword","value":"|"},{"$type":"Assignment","feature":"elements","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$refName":"UnorderedGroup"}}}],"cardinality":"+"}],"cardinality":"?"}]}},{"$type":"ParserRule","name":"UnorderedGroup","type":"AbstractElement","alternatives":{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$refName":"Group"}},{"$type":"Group","elements":[{"$type":"Action","type":"UnorderedGroup","feature":"elements","operator":"+="},{"$type":"Group","elements":[{"$type":"Keyword","value":"&"},{"$type":"Assignment","feature":"elements","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$refName":"Group"}}}],"cardinality":"+"}],"cardinality":"?"}]}},{"$type":"ParserRule","name":"Group","type":"AbstractElement","alternatives":{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$refName":"AbstractToken"}},{"$type":"Group","elements":[{"$type":"Action","type":"Group","feature":"elements","operator":"+="},{"$type":"Assignment","feature":"elements","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$refName":"AbstractToken"}},"cardinality":"+"}],"cardinality":"?"}]}},{"$type":"ParserRule","name":"AbstractToken","type":"AbstractElement","alternatives":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$refName":"AbstractTokenWithCardinality"}},{"$type":"RuleCall","rule":{"$refName":"Action"}}]}},{"$type":"ParserRule","name":"AbstractTokenWithCardinality","type":"AbstractElement","alternatives":{"$type":"Group","elements":[{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$refName":"Assignment"}},{"$type":"RuleCall","rule":{"$refName":"AbstractTerminal"}}]},{"$type":"Assignment","feature":"cardinality","operator":"=","terminal":{"$type":"Alternatives","elements":[{"$type":"Keyword","value":"?"},{"$type":"Keyword","value":"*"},{"$type":"Keyword","value":"+"}]},"cardinality":"?"}]}},{"$type":"ParserRule","name":"Action","type":"AbstractElement","alternatives":{"$type":"Group","elements":[{"$type":"Action","type":"Action"},{"$type":"Keyword","value":"{"},{"$type":"Assignment","feature":"type","operator":"=","terminal":{"$type":"RuleCall","rule":{"$refName":"ID"}}},{"$type":"Group","elements":[{"$type":"Keyword","value":"."},{"$type":"Assignment","feature":"feature","operator":"=","terminal":{"$type":"RuleCall","rule":{"$refName":"ID"}}},{"$type":"Assignment","feature":"operator","operator":"=","terminal":{"$type":"Alternatives","elements":[{"$type":"Keyword","value":"="},{"$type":"Keyword","value":"+="}]}},{"$type":"Keyword","value":"current"}],"cardinality":"?"},{"$type":"Keyword","value":"}"}]}},{"$type":"ParserRule","name":"AbstractTerminal","type":"AbstractElement","alternatives":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$refName":"Keyword"}},{"$type":"RuleCall","rule":{"$refName":"RuleCall"}},{"$type":"RuleCall","rule":{"$refName":"ParenthesizedElement"}},{"$type":"RuleCall","rule":{"$refName":"PredicatedKeyword"}},{"$type":"RuleCall","rule":{"$refName":"PredicatedRuleCall"}},{"$type":"RuleCall","rule":{"$refName":"PredicatedGroup"}}]}},{"$type":"ParserRule","name":"Keyword","alternatives":{"$type":"Assignment","feature":"value","operator":"=","terminal":{"$type":"RuleCall","rule":{"$refName":"string"}}}},{"$type":"ParserRule","name":"RuleCall","alternatives":{"$type":"Group","elements":[{"$type":"Assignment","feature":"rule","operator":"=","terminal":{"$type":"CrossReference","type":{"$refName":"AbstractRule"},"terminal":{"$type":"RuleCall","rule":{"$refName":"ID"}}}},{"$type":"Group","elements":[{"$type":"Keyword","value":"<"},{"$type":"Assignment","feature":"arguments","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$refName":"NamedArgument"}}},{"$type":"Group","elements":[{"$type":"Keyword","value":","},{"$type":"Assignment","feature":"arguments","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$refName":"NamedArgument"}}}],"cardinality":"*"},{"$type":"Keyword","value":">"}],"cardinality":"?"}]}},{"$type":"ParserRule","name":"NamedArgument","alternatives":{"$type":"Group","elements":[{"$type":"Group","elements":[{"$type":"Assignment","feature":"parameter","operator":"=","terminal":{"$type":"CrossReference","type":{"$refName":"Parameter"},"terminal":{"$type":"RuleCall","rule":{"$refName":"ID"}}}},{"$type":"Assignment","feature":"calledByName","operator":"?=","terminal":{"$type":"Keyword","value":"="}}],"cardinality":"?"},{"$type":"Assignment","feature":"value","operator":"=","terminal":{"$type":"RuleCall","rule":{"$refName":"Disjunction"}}}]}},{"$type":"ParserRule","name":"LiteralCondition","alternatives":{"$type":"Alternatives","elements":[{"$type":"Assignment","feature":"true","operator":"?=","terminal":{"$type":"Keyword","value":"true"}},{"$type":"Keyword","value":"false"}]}},{"$type":"ParserRule","name":"Disjunction","type":"Condition","alternatives":{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$refName":"Conjunction"}},{"$type":"Group","elements":[{"$type":"Action","type":"Disjunction","feature":"left","operator":"="},{"$type":"Keyword","value":"|"},{"$type":"Assignment","feature":"right","operator":"=","terminal":{"$type":"RuleCall","rule":{"$refName":"Conjunction"}}}],"cardinality":"?"}]}},{"$type":"ParserRule","name":"Conjunction","type":"Condition","alternatives":{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$refName":"Negation"}},{"$type":"Group","elements":[{"$type":"Action","type":"Conjunction","feature":"left","operator":"="},{"$type":"Keyword","value":"&"},{"$type":"Assignment","feature":"right","operator":"=","terminal":{"$type":"RuleCall","rule":{"$refName":"Negation"}}}],"cardinality":"?"}]}},{"$type":"ParserRule","name":"Negation","type":"Condition","alternatives":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$refName":"Atom"}},{"$type":"Group","elements":[{"$type":"Action","type":"Negation"},{"$type":"Keyword","value":"!"},{"$type":"Assignment","feature":"value","operator":"=","terminal":{"$type":"RuleCall","rule":{"$refName":"Negation"}}}]}]}},{"$type":"ParserRule","name":"Atom","type":"Condition","alternatives":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$refName":"ParameterReference"}},{"$type":"RuleCall","rule":{"$refName":"ParenthesizedCondition"}},{"$type":"RuleCall","rule":{"$refName":"LiteralCondition"}}]}},{"$type":"ParserRule","name":"ParenthesizedCondition","type":"Condition","alternatives":{"$type":"Group","elements":[{"$type":"Keyword","value":"("},{"$type":"RuleCall","rule":{"$refName":"Disjunction"}},{"$type":"Keyword","value":")"}]}},{"$type":"ParserRule","name":"ParameterReference","alternatives":{"$type":"Assignment","feature":"parameter","operator":"=","terminal":{"$type":"CrossReference","type":{"$refName":"Parameter"},"terminal":{"$type":"RuleCall","rule":{"$refName":"ID"}}}}},{"$type":"ParserRule","name":"TerminalRuleCall","alternatives":{"$type":"Assignment","feature":"rule","operator":"=","terminal":{"$type":"CrossReference","type":{"$refName":"AbstractRule"},"terminal":{"$type":"RuleCall","rule":{"$refName":"ID"}}}}},{"$type":"ParserRule","name":"PredicatedKeyword","type":"Keyword","alternatives":{"$type":"Group","elements":[{"$type":"Alternatives","elements":[{"$type":"Assignment","feature":"predicated","operator":"?=","terminal":{"$type":"Keyword","value":"=>"}},{"$type":"Assignment","feature":"firstSetPredicated","operator":"?=","terminal":{"$type":"Keyword","value":"->"}}]},{"$type":"Assignment","feature":"value","operator":"=","terminal":{"$type":"RuleCall","rule":{"$refName":"string"}}}]}},{"$type":"ParserRule","name":"PredicatedRuleCall","type":"RuleCall","alternatives":{"$type":"Group","elements":[{"$type":"Alternatives","elements":[{"$type":"Assignment","feature":"predicated","operator":"?=","terminal":{"$type":"Keyword","value":"=>"}},{"$type":"Assignment","feature":"firstSetPredicated","operator":"?=","terminal":{"$type":"Keyword","value":"->"}}]},{"$type":"Assignment","feature":"rule","operator":"=","terminal":{"$type":"CrossReference","type":{"$refName":"AbstractRule"},"terminal":{"$type":"RuleCall","rule":{"$refName":"ID"}}}},{"$type":"Group","elements":[{"$type":"Keyword","value":"<"},{"$type":"Assignment","feature":"arguments","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$refName":"NamedArgument"}}},{"$type":"Group","elements":[{"$type":"Keyword","value":","},{"$type":"Assignment","feature":"arguments","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$refName":"NamedArgument"}}}],"cardinality":"*"},{"$type":"Keyword","value":">"}],"cardinality":"?"}]}},{"$type":"ParserRule","name":"Assignment","type":"AbstractElement","alternatives":{"$type":"Group","elements":[{"$type":"Action","type":"Assignment"},{"$type":"Alternatives","elements":[{"$type":"Assignment","feature":"predicated","operator":"?=","terminal":{"$type":"Keyword","value":"=>"}},{"$type":"Assignment","feature":"firstSetPredicated","operator":"?=","terminal":{"$type":"Keyword","value":"->"}}],"cardinality":"?"},{"$type":"Assignment","feature":"feature","operator":"=","terminal":{"$type":"RuleCall","rule":{"$refName":"ID"}}},{"$type":"Assignment","feature":"operator","operator":"=","terminal":{"$type":"Alternatives","elements":[{"$type":"Keyword","value":"+="},{"$type":"Keyword","value":"="},{"$type":"Keyword","value":"?="}]}},{"$type":"Assignment","feature":"terminal","operator":"=","terminal":{"$type":"RuleCall","rule":{"$refName":"AssignableTerminal"}}}]}},{"$type":"ParserRule","name":"AssignableTerminal","type":"AbstractElement","alternatives":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$refName":"Keyword"}},{"$type":"RuleCall","rule":{"$refName":"RuleCall"}},{"$type":"RuleCall","rule":{"$refName":"ParenthesizedAssignableElement"}},{"$type":"RuleCall","rule":{"$refName":"CrossReference"}}]}},{"$type":"ParserRule","name":"ParenthesizedAssignableElement","type":"AbstractElement","alternatives":{"$type":"Group","elements":[{"$type":"Keyword","value":"("},{"$type":"RuleCall","rule":{"$refName":"AssignableAlternatives"}},{"$type":"Keyword","value":")"}]}},{"$type":"ParserRule","name":"AssignableAlternatives","type":"AbstractElement","alternatives":{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$refName":"AssignableTerminal"}},{"$type":"Group","elements":[{"$type":"Action","type":"Alternatives","feature":"elements","operator":"+="},{"$type":"Group","elements":[{"$type":"Keyword","value":"|"},{"$type":"Assignment","feature":"elements","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$refName":"AssignableTerminal"}}}],"cardinality":"+"}],"cardinality":"?"}]}},{"$type":"ParserRule","name":"CrossReference","type":"AbstractElement","alternatives":{"$type":"Group","elements":[{"$type":"Action","type":"CrossReference"},{"$type":"Keyword","value":"["},{"$type":"Assignment","feature":"type","operator":"=","terminal":{"$type":"CrossReference","type":{"$refName":"ParserRule"},"terminal":{"$type":"RuleCall","rule":{"$refName":"ID"}}}},{"$type":"Group","elements":[{"$type":"Keyword","value":"|"},{"$type":"Assignment","feature":"terminal","operator":"=","terminal":{"$type":"RuleCall","rule":{"$refName":"CrossReferenceableTerminal"}}}],"cardinality":"?"},{"$type":"Keyword","value":"]"}]}},{"$type":"ParserRule","name":"CrossReferenceableTerminal","type":"AbstractElement","alternatives":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$refName":"Keyword"}},{"$type":"RuleCall","rule":{"$refName":"RuleCall"}}]}},{"$type":"ParserRule","name":"ParenthesizedElement","type":"AbstractElement","alternatives":{"$type":"Group","elements":[{"$type":"Keyword","value":"("},{"$type":"RuleCall","rule":{"$refName":"Alternatives"}},{"$type":"Keyword","value":")"}]}},{"$type":"ParserRule","name":"PredicatedGroup","type":"Group","alternatives":{"$type":"Group","elements":[{"$type":"Alternatives","elements":[{"$type":"Assignment","feature":"predicated","operator":"?=","terminal":{"$type":"Keyword","value":"=>"}},{"$type":"Assignment","feature":"firstSetPredicated","operator":"?=","terminal":{"$type":"Keyword","value":"->"}}]},{"$type":"Keyword","value":"("},{"$type":"Assignment","feature":"elements","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$refName":"Alternatives"}}},{"$type":"Keyword","value":")"}]}},{"$type":"ParserRule","name":"TerminalRule","alternatives":{"$type":"Group","elements":[{"$type":"Keyword","value":"terminal"},{"$type":"Alternatives","elements":[{"$type":"Group","elements":[{"$type":"Assignment","feature":"fragment","operator":"?=","terminal":{"$type":"Keyword","value":"fragment"}},{"$type":"Assignment","feature":"name","operator":"=","terminal":{"$type":"RuleCall","rule":{"$refName":"ID"}}}]},{"$type":"Group","elements":[{"$type":"Assignment","feature":"name","operator":"=","terminal":{"$type":"RuleCall","rule":{"$refName":"ID"}}},{"$type":"Group","elements":[{"$type":"Keyword","value":"returns"},{"$type":"Assignment","feature":"type","operator":"=","terminal":{"$type":"RuleCall","rule":{"$refName":"ID"}}}],"cardinality":"?"}]}]},{"$type":"Keyword","value":":"},{"$type":"Assignment","feature":"regex","operator":"=","terminal":{"$type":"RuleCall","rule":{"$refName":"RegexLiteral"}}},{"$type":"Keyword","value":";"}]}},{"$type":"TerminalRule","name":"RegexLiteral","type":"string","regex":"/\\/(?![*+?])(?:[^\\r\\n\\[/\\\\]|\\\\.|\\[(?:[^\\r\\n\\]\\\\]|\\\\.)*\\])+\\//"},{"$type":"ParserRule","name":"TerminalAlternatives","alternatives":{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$refName":"TerminalGroup"}},{"$type":"Group","elements":[{"$type":"Action","type":"TerminalAlternatives","feature":"elements","operator":"+="},{"$type":"Keyword","value":"|"},{"$type":"Assignment","feature":"elements","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$refName":"TerminalGroup"}}}],"cardinality":"*"}]}},{"$type":"ParserRule","name":"TerminalGroup","alternatives":{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$refName":"TerminalToken"}},{"$type":"Group","elements":[{"$type":"Action","type":"TerminalGroup","feature":"elements","operator":"+="},{"$type":"Assignment","feature":"elements","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$refName":"TerminalToken"}},"cardinality":"+"}],"cardinality":"?"}]}},{"$type":"ParserRule","name":"TerminalToken","alternatives":{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$refName":"TerminalTokenElement"}},{"$type":"Assignment","feature":"cardinality","operator":"=","terminal":{"$type":"Alternatives","elements":[{"$type":"Keyword","value":"?"},{"$type":"Keyword","value":"*"},{"$type":"Keyword","value":"+"}]},"cardinality":"?"}]}},{"$type":"ParserRule","name":"TerminalTokenElement","alternatives":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$refName":"CharacterRange"}},{"$type":"RuleCall","rule":{"$refName":"TerminalRuleCall"}},{"$type":"RuleCall","rule":{"$refName":"ParenthesizedTerminalElement"}},{"$type":"RuleCall","rule":{"$refName":"AbstractNegatedToken"}},{"$type":"RuleCall","rule":{"$refName":"Wildcard"}}]}},{"$type":"ParserRule","name":"ParenthesizedTerminalElement","type":"TerminalAlternatives","alternatives":{"$type":"Group","elements":[{"$type":"Keyword","value":"("},{"$type":"RuleCall","rule":{"$refName":"TerminalAlternatives"}},{"$type":"Keyword","value":")"}]}},{"$type":"ParserRule","name":"AbstractNegatedToken","alternatives":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$refName":"NegatedToken"}},{"$type":"RuleCall","rule":{"$refName":"UntilToken"}}]}},{"$type":"ParserRule","name":"NegatedToken","alternatives":{"$type":"Group","elements":[{"$type":"Keyword","value":"!"},{"$type":"Assignment","feature":"terminal","operator":"=","terminal":{"$type":"RuleCall","rule":{"$refName":"TerminalTokenElement"}}}]}},{"$type":"ParserRule","name":"UntilToken","alternatives":{"$type":"Group","elements":[{"$type":"Keyword","value":"->"},{"$type":"Assignment","feature":"terminal","operator":"=","terminal":{"$type":"RuleCall","rule":{"$refName":"TerminalTokenElement"}}}]}},{"$type":"ParserRule","name":"Wildcard","alternatives":{"$type":"Group","elements":[{"$type":"Action","type":"Wildcard"},{"$type":"Keyword","value":"."}]}},{"$type":"ParserRule","name":"CharacterRange","alternatives":{"$type":"Group","elements":[{"$type":"Assignment","feature":"left","operator":"=","terminal":{"$type":"RuleCall","rule":{"$refName":"Keyword"}}},{"$type":"Group","elements":[{"$type":"Keyword","value":".."},{"$type":"Assignment","feature":"right","operator":"=","terminal":{"$type":"RuleCall","rule":{"$refName":"Keyword"}}}],"cardinality":"?"}]}}]} | ||
{"$type":"Grammar","name":"LangiumGrammar","definesHiddenTokens":true,"hiddenTokens":[{"$refName":"WS"},{"$refName":"SL_COMMENT"},{"$refName":"ML_COMMENT"}],"rules":[{"$type":"TerminalRule","name":"WS","regex":"/\\s+/"},{"$type":"TerminalRule","name":"ID","type":"string","regex":"/\\^?[_a-zA-Z][\\w_]*/"},{"$type":"TerminalRule","name":"INT","type":"number","regex":"/[0-9]+/"},{"$type":"TerminalRule","name":"string","regex":"/\"[^\"]*\"|'[^']*'/"},{"$type":"TerminalRule","name":"ML_COMMENT","regex":"/\\/\\*[\\s\\S]*?\\*\\//"},{"$type":"TerminalRule","name":"SL_COMMENT","regex":"/\\/\\/[^\\n\\r]*/"},{"$type":"ParserRule","name":"Grammar","alternatives":{"$type":"Group","elements":[{"$type":"Keyword","value":"grammar"},{"$type":"Assignment","feature":"name","operator":"=","terminal":{"$type":"RuleCall","rule":{"$refName":"ID"}}},{"$type":"Group","elements":[{"$type":"Keyword","value":"with"},{"$type":"Assignment","feature":"usedGrammars","operator":"+=","terminal":{"$type":"CrossReference","type":{"$refName":"Grammar"},"terminal":{"$type":"RuleCall","rule":{"$refName":"ID"}}}},{"$type":"Group","elements":[{"$type":"Keyword","value":","},{"$type":"Assignment","feature":"usedGrammars","operator":"+=","terminal":{"$type":"CrossReference","type":{"$refName":"Grammar"},"terminal":{"$type":"RuleCall","rule":{"$refName":"ID"}}}}],"cardinality":"*"}],"cardinality":"?"},{"$type":"Group","elements":[{"$type":"Assignment","feature":"definesHiddenTokens","operator":"?=","terminal":{"$type":"Keyword","value":"hidden"}},{"$type":"Keyword","value":"("},{"$type":"Group","elements":[{"$type":"Assignment","feature":"hiddenTokens","operator":"+=","terminal":{"$type":"CrossReference","type":{"$refName":"AbstractRule"},"terminal":{"$type":"RuleCall","rule":{"$refName":"ID"}}}},{"$type":"Group","elements":[{"$type":"Keyword","value":","},{"$type":"Assignment","feature":"hiddenTokens","operator":"+=","terminal":{"$type":"CrossReference","type":{"$refName":"AbstractRule"},"terminal":{"$type":"RuleCall","rule":{"$refName":"ID"}}}}],"cardinality":"*"}],"cardinality":"?"},{"$type":"Keyword","value":")"}],"cardinality":"?"},{"$type":"Assignment","feature":"metamodelDeclarations","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$refName":"AbstractMetamodelDeclaration"}},"cardinality":"*"},{"$type":"Assignment","feature":"rules","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$refName":"AbstractRule"}},"cardinality":"+"}]}},{"$type":"ParserRule","name":"AbstractRule","alternatives":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$refName":"ParserRule"}},{"$type":"RuleCall","rule":{"$refName":"TerminalRule"}}]}},{"$type":"ParserRule","name":"AbstractMetamodelDeclaration","alternatives":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$refName":"GeneratedMetamodel"}},{"$type":"RuleCall","rule":{"$refName":"ReferencedMetamodel"}}]}},{"$type":"ParserRule","name":"GeneratedMetamodel","alternatives":{"$type":"Group","elements":[{"$type":"Keyword","value":"generate"},{"$type":"Assignment","feature":"name","operator":"=","terminal":{"$type":"RuleCall","rule":{"$refName":"ID"}}},{"$type":"Assignment","feature":"ePackage","operator":"=","terminal":{"$type":"RuleCall","rule":{"$refName":"string"}}},{"$type":"Group","elements":[{"$type":"Keyword","value":"as"},{"$type":"Assignment","feature":"alias","operator":"=","terminal":{"$type":"RuleCall","rule":{"$refName":"ID"}}}],"cardinality":"?"}]}},{"$type":"ParserRule","name":"ReferencedMetamodel","alternatives":{"$type":"Group","elements":[{"$type":"Keyword","value":"import"},{"$type":"Assignment","feature":"ePackage","operator":"=","terminal":{"$type":"RuleCall","rule":{"$refName":"string"}}},{"$type":"Group","elements":[{"$type":"Keyword","value":"as"},{"$type":"Assignment","feature":"alias","operator":"=","terminal":{"$type":"RuleCall","rule":{"$refName":"ID"}}}],"cardinality":"?"}]}},{"$type":"ParserRule","name":"Annotation","alternatives":{"$type":"Group","elements":[{"$type":"Keyword","value":"@"},{"$type":"Assignment","feature":"name","operator":"=","terminal":{"$type":"RuleCall","rule":{"$refName":"ID"}}}]}},{"$type":"ParserRule","name":"ParserRule","alternatives":{"$type":"Group","elements":[{"$type":"Alternatives","elements":[{"$type":"Group","elements":[{"$type":"Assignment","feature":"fragment","operator":"?=","terminal":{"$type":"Keyword","value":"fragment"}},{"$type":"RuleCall","rule":{"$refName":"RuleNameAndParams"}},{"$type":"Alternatives","elements":[{"$type":"Assignment","feature":"wildcard","operator":"?=","terminal":{"$type":"Keyword","value":"*"}},{"$type":"Group","elements":[{"$type":"Keyword","value":"returns"},{"$type":"Assignment","feature":"type","operator":"=","terminal":{"$type":"RuleCall","rule":{"$refName":"ID"}}}],"cardinality":"?"}]}]},{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$refName":"RuleNameAndParams"}},{"$type":"Group","elements":[{"$type":"Keyword","value":"returns"},{"$type":"Assignment","feature":"type","operator":"=","terminal":{"$type":"RuleCall","rule":{"$refName":"ID"}}}],"cardinality":"?"}]}]},{"$type":"Group","elements":[{"$type":"Assignment","feature":"definesHiddenTokens","operator":"?=","terminal":{"$type":"Keyword","value":"hidden"}},{"$type":"Keyword","value":"("},{"$type":"Group","elements":[{"$type":"Assignment","feature":"hiddenTokens","operator":"+=","terminal":{"$type":"CrossReference","type":{"$refName":"AbstractRule"},"terminal":{"$type":"RuleCall","rule":{"$refName":"ID"}}}},{"$type":"Group","elements":[{"$type":"Keyword","value":","},{"$type":"Assignment","feature":"hiddenTokens","operator":"+=","terminal":{"$type":"CrossReference","type":{"$refName":"AbstractRule"},"terminal":{"$type":"RuleCall","rule":{"$refName":"ID"}}}}],"cardinality":"*"}],"cardinality":"?"},{"$type":"Keyword","value":")"}],"cardinality":"?"},{"$type":"Keyword","value":":"},{"$type":"Assignment","feature":"alternatives","operator":"=","terminal":{"$type":"RuleCall","rule":{"$refName":"Alternatives"}}},{"$type":"Keyword","value":";"}]}},{"$type":"ParserRule","name":"RuleNameAndParams","fragment":true,"alternatives":{"$type":"Group","elements":[{"$type":"Assignment","feature":"name","operator":"=","terminal":{"$type":"RuleCall","rule":{"$refName":"ID"}}},{"$type":"Group","elements":[{"$type":"Keyword","value":"<"},{"$type":"Group","elements":[{"$type":"Assignment","feature":"parameters","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$refName":"Parameter"}}},{"$type":"Group","elements":[{"$type":"Keyword","value":","},{"$type":"Assignment","feature":"parameters","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$refName":"Parameter"}}}],"cardinality":"*"}],"cardinality":"?"},{"$type":"Keyword","value":">"}],"cardinality":"?"}]}},{"$type":"ParserRule","name":"Parameter","alternatives":{"$type":"Assignment","feature":"name","operator":"=","terminal":{"$type":"RuleCall","rule":{"$refName":"ID"}}}},{"$type":"ParserRule","name":"Alternatives","type":"AbstractElement","alternatives":{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$refName":"UnorderedGroup"}},{"$type":"Group","elements":[{"$type":"Action","type":"Alternatives","feature":"elements","operator":"+="},{"$type":"Group","elements":[{"$type":"Keyword","value":"|"},{"$type":"Assignment","feature":"elements","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$refName":"UnorderedGroup"}}}],"cardinality":"+"}],"cardinality":"?"}]}},{"$type":"ParserRule","name":"UnorderedGroup","type":"AbstractElement","alternatives":{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$refName":"Group"}},{"$type":"Group","elements":[{"$type":"Action","type":"UnorderedGroup","feature":"elements","operator":"+="},{"$type":"Group","elements":[{"$type":"Keyword","value":"&"},{"$type":"Assignment","feature":"elements","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$refName":"Group"}}}],"cardinality":"+"}],"cardinality":"?"}]}},{"$type":"ParserRule","name":"Group","type":"AbstractElement","alternatives":{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$refName":"AbstractToken"}},{"$type":"Group","elements":[{"$type":"Action","type":"Group","feature":"elements","operator":"+="},{"$type":"Assignment","feature":"elements","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$refName":"AbstractToken"}},"cardinality":"+"}],"cardinality":"?"}]}},{"$type":"ParserRule","name":"AbstractToken","type":"AbstractElement","alternatives":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$refName":"AbstractTokenWithCardinality"}},{"$type":"RuleCall","rule":{"$refName":"Action"}}]}},{"$type":"ParserRule","name":"AbstractTokenWithCardinality","type":"AbstractElement","alternatives":{"$type":"Group","elements":[{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$refName":"Assignment"}},{"$type":"RuleCall","rule":{"$refName":"AbstractTerminal"}}]},{"$type":"Assignment","feature":"cardinality","operator":"=","terminal":{"$type":"Alternatives","elements":[{"$type":"Keyword","value":"?"},{"$type":"Keyword","value":"*"},{"$type":"Keyword","value":"+"}]},"cardinality":"?"}]}},{"$type":"ParserRule","name":"Action","type":"AbstractElement","alternatives":{"$type":"Group","elements":[{"$type":"Action","type":"Action"},{"$type":"Keyword","value":"{"},{"$type":"Assignment","feature":"type","operator":"=","terminal":{"$type":"RuleCall","rule":{"$refName":"ID"}}},{"$type":"Group","elements":[{"$type":"Keyword","value":"."},{"$type":"Assignment","feature":"feature","operator":"=","terminal":{"$type":"RuleCall","rule":{"$refName":"ID"}}},{"$type":"Assignment","feature":"operator","operator":"=","terminal":{"$type":"Alternatives","elements":[{"$type":"Keyword","value":"="},{"$type":"Keyword","value":"+="}]}},{"$type":"Keyword","value":"current"}],"cardinality":"?"},{"$type":"Keyword","value":"}"}]}},{"$type":"ParserRule","name":"AbstractTerminal","type":"AbstractElement","alternatives":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$refName":"Keyword"}},{"$type":"RuleCall","rule":{"$refName":"RuleCall"}},{"$type":"RuleCall","rule":{"$refName":"ParenthesizedElement"}},{"$type":"RuleCall","rule":{"$refName":"PredicatedKeyword"}},{"$type":"RuleCall","rule":{"$refName":"PredicatedRuleCall"}},{"$type":"RuleCall","rule":{"$refName":"PredicatedGroup"}}]}},{"$type":"ParserRule","name":"Keyword","alternatives":{"$type":"Assignment","feature":"value","operator":"=","terminal":{"$type":"RuleCall","rule":{"$refName":"string"}}}},{"$type":"ParserRule","name":"RuleCall","alternatives":{"$type":"Group","elements":[{"$type":"Assignment","feature":"rule","operator":"=","terminal":{"$type":"CrossReference","type":{"$refName":"AbstractRule"},"terminal":{"$type":"RuleCall","rule":{"$refName":"ID"}}}},{"$type":"Group","elements":[{"$type":"Keyword","value":"<"},{"$type":"Assignment","feature":"arguments","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$refName":"NamedArgument"}}},{"$type":"Group","elements":[{"$type":"Keyword","value":","},{"$type":"Assignment","feature":"arguments","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$refName":"NamedArgument"}}}],"cardinality":"*"},{"$type":"Keyword","value":">"}],"cardinality":"?"}]}},{"$type":"ParserRule","name":"NamedArgument","alternatives":{"$type":"Group","elements":[{"$type":"Group","elements":[{"$type":"Assignment","feature":"parameter","operator":"=","terminal":{"$type":"CrossReference","type":{"$refName":"Parameter"},"terminal":{"$type":"RuleCall","rule":{"$refName":"ID"}}}},{"$type":"Assignment","feature":"calledByName","operator":"?=","terminal":{"$type":"Keyword","value":"="}}],"cardinality":"?"},{"$type":"Assignment","feature":"value","operator":"=","terminal":{"$type":"RuleCall","rule":{"$refName":"Disjunction"}}}]}},{"$type":"ParserRule","name":"LiteralCondition","alternatives":{"$type":"Alternatives","elements":[{"$type":"Assignment","feature":"true","operator":"?=","terminal":{"$type":"Keyword","value":"true"}},{"$type":"Keyword","value":"false"}]}},{"$type":"ParserRule","name":"Disjunction","type":"Condition","alternatives":{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$refName":"Conjunction"}},{"$type":"Group","elements":[{"$type":"Action","type":"Disjunction","feature":"left","operator":"="},{"$type":"Keyword","value":"|"},{"$type":"Assignment","feature":"right","operator":"=","terminal":{"$type":"RuleCall","rule":{"$refName":"Conjunction"}}}],"cardinality":"?"}]}},{"$type":"ParserRule","name":"Conjunction","type":"Condition","alternatives":{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$refName":"Negation"}},{"$type":"Group","elements":[{"$type":"Action","type":"Conjunction","feature":"left","operator":"="},{"$type":"Keyword","value":"&"},{"$type":"Assignment","feature":"right","operator":"=","terminal":{"$type":"RuleCall","rule":{"$refName":"Negation"}}}],"cardinality":"?"}]}},{"$type":"ParserRule","name":"Negation","type":"Condition","alternatives":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$refName":"Atom"}},{"$type":"Group","elements":[{"$type":"Action","type":"Negation"},{"$type":"Keyword","value":"!"},{"$type":"Assignment","feature":"value","operator":"=","terminal":{"$type":"RuleCall","rule":{"$refName":"Negation"}}}]}]}},{"$type":"ParserRule","name":"Atom","type":"Condition","alternatives":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$refName":"ParameterReference"}},{"$type":"RuleCall","rule":{"$refName":"ParenthesizedCondition"}},{"$type":"RuleCall","rule":{"$refName":"LiteralCondition"}}]}},{"$type":"ParserRule","name":"ParenthesizedCondition","type":"Condition","alternatives":{"$type":"Group","elements":[{"$type":"Keyword","value":"("},{"$type":"RuleCall","rule":{"$refName":"Disjunction"}},{"$type":"Keyword","value":")"}]}},{"$type":"ParserRule","name":"ParameterReference","alternatives":{"$type":"Assignment","feature":"parameter","operator":"=","terminal":{"$type":"CrossReference","type":{"$refName":"Parameter"},"terminal":{"$type":"RuleCall","rule":{"$refName":"ID"}}}}},{"$type":"ParserRule","name":"TerminalRuleCall","alternatives":{"$type":"Assignment","feature":"rule","operator":"=","terminal":{"$type":"CrossReference","type":{"$refName":"AbstractRule"},"terminal":{"$type":"RuleCall","rule":{"$refName":"ID"}}}}},{"$type":"ParserRule","name":"PredicatedKeyword","type":"Keyword","alternatives":{"$type":"Group","elements":[{"$type":"Alternatives","elements":[{"$type":"Assignment","feature":"predicated","operator":"?=","terminal":{"$type":"Keyword","value":"=>"}},{"$type":"Assignment","feature":"firstSetPredicated","operator":"?=","terminal":{"$type":"Keyword","value":"->"}}]},{"$type":"Assignment","feature":"value","operator":"=","terminal":{"$type":"RuleCall","rule":{"$refName":"string"}}}]}},{"$type":"ParserRule","name":"PredicatedRuleCall","type":"RuleCall","alternatives":{"$type":"Group","elements":[{"$type":"Alternatives","elements":[{"$type":"Assignment","feature":"predicated","operator":"?=","terminal":{"$type":"Keyword","value":"=>"}},{"$type":"Assignment","feature":"firstSetPredicated","operator":"?=","terminal":{"$type":"Keyword","value":"->"}}]},{"$type":"Assignment","feature":"rule","operator":"=","terminal":{"$type":"CrossReference","type":{"$refName":"AbstractRule"},"terminal":{"$type":"RuleCall","rule":{"$refName":"ID"}}}},{"$type":"Group","elements":[{"$type":"Keyword","value":"<"},{"$type":"Assignment","feature":"arguments","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$refName":"NamedArgument"}}},{"$type":"Group","elements":[{"$type":"Keyword","value":","},{"$type":"Assignment","feature":"arguments","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$refName":"NamedArgument"}}}],"cardinality":"*"},{"$type":"Keyword","value":">"}],"cardinality":"?"}]}},{"$type":"ParserRule","name":"Assignment","type":"AbstractElement","alternatives":{"$type":"Group","elements":[{"$type":"Action","type":"Assignment"},{"$type":"Alternatives","elements":[{"$type":"Assignment","feature":"predicated","operator":"?=","terminal":{"$type":"Keyword","value":"=>"}},{"$type":"Assignment","feature":"firstSetPredicated","operator":"?=","terminal":{"$type":"Keyword","value":"->"}}],"cardinality":"?"},{"$type":"Assignment","feature":"feature","operator":"=","terminal":{"$type":"RuleCall","rule":{"$refName":"ID"}}},{"$type":"Assignment","feature":"operator","operator":"=","terminal":{"$type":"Alternatives","elements":[{"$type":"Keyword","value":"+="},{"$type":"Keyword","value":"="},{"$type":"Keyword","value":"?="}]}},{"$type":"Assignment","feature":"terminal","operator":"=","terminal":{"$type":"RuleCall","rule":{"$refName":"AssignableTerminal"}}}]}},{"$type":"ParserRule","name":"AssignableTerminal","type":"AbstractElement","alternatives":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$refName":"Keyword"}},{"$type":"RuleCall","rule":{"$refName":"RuleCall"}},{"$type":"RuleCall","rule":{"$refName":"ParenthesizedAssignableElement"}},{"$type":"RuleCall","rule":{"$refName":"CrossReference"}}]}},{"$type":"ParserRule","name":"ParenthesizedAssignableElement","type":"AbstractElement","alternatives":{"$type":"Group","elements":[{"$type":"Keyword","value":"("},{"$type":"RuleCall","rule":{"$refName":"AssignableAlternatives"}},{"$type":"Keyword","value":")"}]}},{"$type":"ParserRule","name":"AssignableAlternatives","type":"AbstractElement","alternatives":{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$refName":"AssignableTerminal"}},{"$type":"Group","elements":[{"$type":"Action","type":"Alternatives","feature":"elements","operator":"+="},{"$type":"Group","elements":[{"$type":"Keyword","value":"|"},{"$type":"Assignment","feature":"elements","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$refName":"AssignableTerminal"}}}],"cardinality":"+"}],"cardinality":"?"}]}},{"$type":"ParserRule","name":"CrossReference","type":"AbstractElement","alternatives":{"$type":"Group","elements":[{"$type":"Action","type":"CrossReference"},{"$type":"Keyword","value":"["},{"$type":"Assignment","feature":"type","operator":"=","terminal":{"$type":"CrossReference","type":{"$refName":"ParserRule"},"terminal":{"$type":"RuleCall","rule":{"$refName":"ID"}}}},{"$type":"Group","elements":[{"$type":"Keyword","value":"|"},{"$type":"Assignment","feature":"terminal","operator":"=","terminal":{"$type":"RuleCall","rule":{"$refName":"CrossReferenceableTerminal"}}}],"cardinality":"?"},{"$type":"Keyword","value":"]"}]}},{"$type":"ParserRule","name":"CrossReferenceableTerminal","type":"AbstractElement","alternatives":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$refName":"Keyword"}},{"$type":"RuleCall","rule":{"$refName":"RuleCall"}}]}},{"$type":"ParserRule","name":"ParenthesizedElement","type":"AbstractElement","alternatives":{"$type":"Group","elements":[{"$type":"Keyword","value":"("},{"$type":"RuleCall","rule":{"$refName":"Alternatives"}},{"$type":"Keyword","value":")"}]}},{"$type":"ParserRule","name":"PredicatedGroup","type":"Group","alternatives":{"$type":"Group","elements":[{"$type":"Alternatives","elements":[{"$type":"Assignment","feature":"predicated","operator":"?=","terminal":{"$type":"Keyword","value":"=>"}},{"$type":"Assignment","feature":"firstSetPredicated","operator":"?=","terminal":{"$type":"Keyword","value":"->"}}]},{"$type":"Keyword","value":"("},{"$type":"Assignment","feature":"elements","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$refName":"Alternatives"}}},{"$type":"Keyword","value":")"}]}},{"$type":"ParserRule","name":"TerminalRule","alternatives":{"$type":"Group","elements":[{"$type":"Keyword","value":"terminal"},{"$type":"Alternatives","elements":[{"$type":"Group","elements":[{"$type":"Assignment","feature":"fragment","operator":"?=","terminal":{"$type":"Keyword","value":"fragment"}},{"$type":"Assignment","feature":"name","operator":"=","terminal":{"$type":"RuleCall","rule":{"$refName":"ID"}}}]},{"$type":"Group","elements":[{"$type":"Assignment","feature":"name","operator":"=","terminal":{"$type":"RuleCall","rule":{"$refName":"ID"}}},{"$type":"Group","elements":[{"$type":"Keyword","value":"returns"},{"$type":"Assignment","feature":"type","operator":"=","terminal":{"$type":"RuleCall","rule":{"$refName":"ID"}}}],"cardinality":"?"}]}]},{"$type":"Keyword","value":":"},{"$type":"Assignment","feature":"regex","operator":"=","terminal":{"$type":"RuleCall","rule":{"$refName":"RegexLiteral"}}},{"$type":"Keyword","value":";"}]}},{"$type":"TerminalRule","name":"RegexLiteral","type":"string","regex":"/\\/(?![*+?])(?:[^\\r\\n\\[/\\\\]|\\\\.|\\[(?:[^\\r\\n\\]\\\\]|\\\\.)*\\])+\\//"},{"$type":"ParserRule","name":"TerminalAlternatives","alternatives":{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$refName":"TerminalGroup"}},{"$type":"Group","elements":[{"$type":"Action","type":"TerminalAlternatives","feature":"elements","operator":"+="},{"$type":"Keyword","value":"|"},{"$type":"Assignment","feature":"elements","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$refName":"TerminalGroup"}}}],"cardinality":"*"}]}},{"$type":"ParserRule","name":"TerminalGroup","alternatives":{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$refName":"TerminalToken"}},{"$type":"Group","elements":[{"$type":"Action","type":"TerminalGroup","feature":"elements","operator":"+="},{"$type":"Assignment","feature":"elements","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$refName":"TerminalToken"}},"cardinality":"+"}],"cardinality":"?"}]}},{"$type":"ParserRule","name":"TerminalToken","alternatives":{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$refName":"TerminalTokenElement"}},{"$type":"Assignment","feature":"cardinality","operator":"=","terminal":{"$type":"Alternatives","elements":[{"$type":"Keyword","value":"?"},{"$type":"Keyword","value":"*"},{"$type":"Keyword","value":"+"}]},"cardinality":"?"}]}},{"$type":"ParserRule","name":"TerminalTokenElement","alternatives":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$refName":"CharacterRange"}},{"$type":"RuleCall","rule":{"$refName":"TerminalRuleCall"}},{"$type":"RuleCall","rule":{"$refName":"ParenthesizedTerminalElement"}},{"$type":"RuleCall","rule":{"$refName":"AbstractNegatedToken"}},{"$type":"RuleCall","rule":{"$refName":"Wildcard"}}]}},{"$type":"ParserRule","name":"ParenthesizedTerminalElement","type":"TerminalAlternatives","alternatives":{"$type":"Group","elements":[{"$type":"Keyword","value":"("},{"$type":"RuleCall","rule":{"$refName":"TerminalAlternatives"}},{"$type":"Keyword","value":")"}]}},{"$type":"ParserRule","name":"AbstractNegatedToken","alternatives":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$refName":"NegatedToken"}},{"$type":"RuleCall","rule":{"$refName":"UntilToken"}}]}},{"$type":"ParserRule","name":"NegatedToken","alternatives":{"$type":"Group","elements":[{"$type":"Keyword","value":"!"},{"$type":"Assignment","feature":"terminal","operator":"=","terminal":{"$type":"RuleCall","rule":{"$refName":"TerminalTokenElement"}}}]}},{"$type":"ParserRule","name":"UntilToken","alternatives":{"$type":"Group","elements":[{"$type":"Keyword","value":"->"},{"$type":"Assignment","feature":"terminal","operator":"=","terminal":{"$type":"RuleCall","rule":{"$refName":"TerminalTokenElement"}}}]}},{"$type":"ParserRule","name":"Wildcard","alternatives":{"$type":"Group","elements":[{"$type":"Action","type":"Wildcard"},{"$type":"Keyword","value":"."}]}},{"$type":"ParserRule","name":"CharacterRange","alternatives":{"$type":"Group","elements":[{"$type":"Assignment","feature":"left","operator":"=","terminal":{"$type":"RuleCall","rule":{"$refName":"Keyword"}}},{"$type":"Group","elements":[{"$type":"Keyword","value":".."},{"$type":"Assignment","feature":"right","operator":"=","terminal":{"$type":"RuleCall","rule":{"$refName":"Keyword"}}}],"cardinality":"?"}]}}]} |
@@ -15,3 +15,5 @@ "use strict"; | ||
const INT = chevrotain_1.createToken({ name: 'INT', pattern: /[0-9]+/ }); | ||
const ML_COMMENT = chevrotain_1.createToken({ name: 'ML_COMMENT', pattern: /\/\*[\s\S]*?\*\//, group: chevrotain_1.Lexer.SKIPPED }); | ||
const RegexLiteral = chevrotain_1.createToken({ name: 'RegexLiteral', pattern: /\/(?![*+?])(?:[^\r\n\[/\\]|\\.|\[(?:[^\r\n\]\\]|\\.)*\])+\// }); | ||
const SL_COMMENT = chevrotain_1.createToken({ name: 'SL_COMMENT', pattern: /\/\/[^\n\r]*/, group: chevrotain_1.Lexer.SKIPPED }); | ||
const string = chevrotain_1.createToken({ name: 'string', pattern: /"[^"]*"|'[^']*'/ }); | ||
@@ -93,3 +95,3 @@ const WS = chevrotain_1.createToken({ name: 'WS', pattern: /\s+/, group: chevrotain_1.Lexer.SKIPPED }); | ||
WithKeyword.LABEL = "'with'"; | ||
const tokens = [FragmentKeyword, GenerateKeyword, TerminalKeyword, CurrentKeyword, GrammarKeyword, ReturnsKeyword, HiddenKeyword, ImportKeyword, FalseKeyword, TrueKeyword, WithKeyword, AsKeyword, DashMoreThanKeyword, DotDotKeyword, EqualsMoreThanKeyword, PlusEqualsKeyword, QuestionMarkEqualsKeyword, AmpersandKeyword, AsteriskKeyword, AtKeyword, BracketCloseKeyword, BracketOpenKeyword, ColonKeyword, CommaKeyword, CurlyCloseKeyword, CurlyOpenKeyword, DotKeyword, EqualsKeyword, ExclamationMarkKeyword, LessThanKeyword, MoreThanKeyword, ParenthesisCloseKeyword, ParenthesisOpenKeyword, PipeKeyword, PlusKeyword, QuestionMarkKeyword, SemicolonKeyword, ID, INT, RegexLiteral, string, WS]; | ||
const tokens = [FragmentKeyword, GenerateKeyword, TerminalKeyword, CurrentKeyword, GrammarKeyword, ReturnsKeyword, HiddenKeyword, ImportKeyword, FalseKeyword, TrueKeyword, WithKeyword, AsKeyword, DashMoreThanKeyword, DotDotKeyword, EqualsMoreThanKeyword, PlusEqualsKeyword, QuestionMarkEqualsKeyword, AmpersandKeyword, AsteriskKeyword, AtKeyword, BracketCloseKeyword, BracketOpenKeyword, ColonKeyword, CommaKeyword, CurlyCloseKeyword, CurlyOpenKeyword, DotKeyword, EqualsKeyword, ExclamationMarkKeyword, LessThanKeyword, MoreThanKeyword, ParenthesisCloseKeyword, ParenthesisOpenKeyword, PipeKeyword, PlusKeyword, QuestionMarkKeyword, SemicolonKeyword, ID, INT, ML_COMMENT, RegexLiteral, SL_COMMENT, string, WS]; | ||
class Parser extends langium_parser_1.LangiumParser { | ||
@@ -96,0 +98,0 @@ constructor(services) { |
{ | ||
"name": "langium", | ||
"version": "0.1.0-next.6f45aec", | ||
"version": "0.1.0-next.b687a8a", | ||
"description": "A language engineering tool for the Language Server Protocol", | ||
@@ -5,0 +5,0 @@ "keywords": [ |
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
762484
11147