From c5a6471251fd8728089d22dc1b0f0615af92c396 Mon Sep 17 00:00:00 2001 From: Kristóf Marussy Date: Fri, 5 Nov 2021 18:47:40 +0100 Subject: fix(lang): make default and scope non-contextual Contextual keywords make Xtext parsing more complicated and degrade content assist. --- language-web/src/main/js/language/problem.grammar | 4 ++-- language/src/main/java/tools/refinery/language/Problem.xtext | 6 +++--- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/language-web/src/main/js/language/problem.grammar b/language-web/src/main/js/language/problem.grammar index c242a4ba..86cc7722 100644 --- a/language-web/src/main/js/language/problem.grammar +++ b/language-web/src/main/js/language/problem.grammar @@ -24,7 +24,7 @@ statement { RuleBody { ":" sep "~>" sep "." } } | Assertion { - ckw<"default">? (NotOp | UnknownOp)? RelationName + kw<"default">? (NotOp | UnknownOp)? RelationName ParameterList (":" LogicValue)? "." } | NodeValueAssertion { @@ -34,7 +34,7 @@ statement { ckw<"unique"> sep<",", UniqueNodeName> "." } | ScopeDeclaration { - ckw<"scope"> sep<",", ScopeElement> "." + kw<"scope"> sep<",", ScopeElement> "." } } diff --git a/language/src/main/java/tools/refinery/language/Problem.xtext b/language/src/main/java/tools/refinery/language/Problem.xtext index 6f6a8588..0fa47d63 100644 --- a/language/src/main/java/tools/refinery/language/Problem.xtext +++ b/language/src/main/java/tools/refinery/language/Problem.xtext @@ -154,7 +154,7 @@ ScopeDeclaration: "scope" typeScopes+=TypeScope ("," typeScopes+=TypeScope)* "."; TypeScope: - targetType=[ClassDeclaration] + targetType=[ClassDeclaration|QualifiedName] (increment?="+=" | "=") multiplicity=DefiniteMultiplicity; @@ -183,8 +183,8 @@ QualifiedName hidden(): Identifier ("::" Identifier)*; Identifier: - ID | "true" | "false" | "unknown" | "error" | "class" | "abstract" | "extends" | "enum" | "pred" | "scope" | - "unique" | "default" | "problem" | "new" | "delete"; + ID | "true" | "false" | "unknown" | "error" | "class" | "abstract" | "extends" | "enum" | "pred" | + "unique" | "problem" | "new" | "delete"; Integer returns ecore::EInt hidden(): "-"? INT; -- cgit v1.2.3-54-g00ecf