aboutsummaryrefslogtreecommitdiffstats
path: root/language/src/main/java
diff options
context:
space:
mode:
authorLibravatar Kristóf Marussy <marussy@mit.bme.hu>2021-11-06 16:56:11 +0100
committerLibravatar GitHub <noreply@github.com>2021-11-06 16:56:11 +0100
commitbf479290c950c004d8f99eda967e3a6c76e0e64b (patch)
tree2d805f058ab6b4289d4338b8f6beb12c51c31d09 /language/src/main/java
parentMerge pull request #11 from kris7t/unique-to-individual (diff)
parentchore(lang): seralize assertions in short form (diff)
downloadrefinery-bf479290c950c004d8f99eda967e3a6c76e0e64b.tar.gz
refinery-bf479290c950c004d8f99eda967e3a6c76e0e64b.tar.zst
refinery-bf479290c950c004d8f99eda967e3a6c76e0e64b.zip
Merge pull request #12 from kris7t/xtext-serialization
Make sure Xtext serialization works
Diffstat (limited to 'language/src/main/java')
-rw-r--r--language/src/main/java/tools/refinery/language/Problem.xtext14
-rw-r--r--language/src/main/java/tools/refinery/language/validation/ProblemValidator.java2
2 files changed, 8 insertions, 8 deletions
diff --git a/language/src/main/java/tools/refinery/language/Problem.xtext b/language/src/main/java/tools/refinery/language/Problem.xtext
index b7562759..26773047 100644
--- a/language/src/main/java/tools/refinery/language/Problem.xtext
+++ b/language/src/main/java/tools/refinery/language/Problem.xtext
@@ -109,12 +109,12 @@ ConstantArgument:
109 109
110Assertion: 110Assertion:
111 default?="default"? 111 default?="default"?
112 (relation=[Relation|QualifiedName] 112 (value=ShortLogicValue?
113 "(" (arguments+=AssertionArgument ("," arguments+=AssertionArgument)*)? ")"
114 ":" value=LogicValue |
115 value=ShortLogicValue?
116 relation=[Relation|QualifiedName] 113 relation=[Relation|QualifiedName]
117 "(" (arguments+=AssertionArgument ("," arguments+=AssertionArgument)*)? ")") 114 "(" (arguments+=AssertionArgument ("," arguments+=AssertionArgument)*)? ")"
115 | relation=[Relation|QualifiedName]
116 "(" (arguments+=AssertionArgument ("," arguments+=AssertionArgument)*)? ")"
117 ":" value=LogicValue)
118 "."; 118 ".";
119 119
120AssertionArgument: 120AssertionArgument:
@@ -174,7 +174,7 @@ ExactMultiplicity:
174 exactValue=INT; 174 exactValue=INT;
175 175
176IndividualDeclaration: 176IndividualDeclaration:
177 "individual" nodes+=EnumLiteral ("," nodes+=EnumLiteral)* "."; 177 "indiv" nodes+=EnumLiteral ("," nodes+=EnumLiteral)* ".";
178 178
179UpperBound returns ecore::EInt: 179UpperBound returns ecore::EInt:
180 INT | "*"; 180 INT | "*";
@@ -184,7 +184,7 @@ QualifiedName hidden():
184 184
185Identifier: 185Identifier:
186 ID | "true" | "false" | "unknown" | "error" | "class" | "abstract" | "extends" | "enum" | "pred" | 186 ID | "true" | "false" | "unknown" | "error" | "class" | "abstract" | "extends" | "enum" | "pred" |
187 "individual" | "problem" | "new" | "delete" | "direct" | "rule"; 187 "indiv" | "problem" | "new" | "delete" | "direct" | "rule";
188 188
189Integer returns ecore::EInt hidden(): 189Integer returns ecore::EInt hidden():
190 "-"? INT; 190 "-"? INT;
diff --git a/language/src/main/java/tools/refinery/language/validation/ProblemValidator.java b/language/src/main/java/tools/refinery/language/validation/ProblemValidator.java
index 3c10d39e..975fdca2 100644
--- a/language/src/main/java/tools/refinery/language/validation/ProblemValidator.java
+++ b/language/src/main/java/tools/refinery/language/validation/ProblemValidator.java
@@ -53,7 +53,7 @@ public class ProblemValidator extends AbstractProblemValidator {
53 var variableOrNode = argument.getVariableOrNode(); 53 var variableOrNode = argument.getVariableOrNode();
54 if (variableOrNode instanceof Node node && !ProblemUtil.isIndividualNode(node)) { 54 if (variableOrNode instanceof Node node && !ProblemUtil.isIndividualNode(node)) {
55 var name = node.getName(); 55 var name = node.getName();
56 var message = "Only individual nodes can be referenced in predicates. Mark '%s' as individual with the declaration 'individual %s.'" 56 var message = "Only individual nodes can be referenced in predicates. Mark '%s' as individual with the declaration 'indiv %s.'"
57 .formatted(name, name); 57 .formatted(name, name);
58 error(message, argument, ProblemPackage.Literals.VARIABLE_OR_NODE_ARGUMENT__VARIABLE_OR_NODE, 58 error(message, argument, ProblemPackage.Literals.VARIABLE_OR_NODE_ARGUMENT__VARIABLE_OR_NODE,
59 INSIGNIFICANT_INDEX, NON_INDIVIDUAL_NODE_ISSUE); 59 INSIGNIFICANT_INDEX, NON_INDIVIDUAL_NODE_ISSUE);