diff options
11 files changed, 14 insertions, 14 deletions
diff --git a/language-to-store/src/test/java/tools/refinery/language/mapping/tests/PartialModelMapperTest.xtend b/language-to-store/src/test/java/tools/refinery/language/mapping/tests/PartialModelMapperTest.xtend index add73c87..b2fcbaa9 100644 --- a/language-to-store/src/test/java/tools/refinery/language/mapping/tests/PartialModelMapperTest.xtend +++ b/language-to-store/src/test/java/tools/refinery/language/mapping/tests/PartialModelMapperTest.xtend | |||
@@ -290,7 +290,7 @@ class PartialModelMapperTest { | |||
290 | error invalidTaxStatus(Person p) <-> | 290 | error invalidTaxStatus(Person p) <-> |
291 | taxStatus(p, child), children(p, _q). | 291 | taxStatus(p, child), children(p, _q). |
292 | 292 | ||
293 | individual family. | 293 | indiv family. |
294 | Family(family). | 294 | Family(family). |
295 | members(family, anne): true. | 295 | members(family, anne): true. |
296 | members(family, bob). | 296 | members(family, bob). |
diff --git a/language-web/src/main/js/index.tsx b/language-web/src/main/js/index.tsx index 3e077ba8..d368c9ba 100644 --- a/language-web/src/main/js/index.tsx +++ b/language-web/src/main/js/index.tsx | |||
@@ -38,7 +38,7 @@ direct rule createChild(p): | |||
38 | children(p, q) = true, | 38 | children(p, q) = true, |
39 | taxStatus(q, child) = true. | 39 | taxStatus(q, child) = true. |
40 | 40 | ||
41 | individual family. | 41 | indiv family. |
42 | Family(family). | 42 | Family(family). |
43 | members(family, anne). | 43 | members(family, anne). |
44 | members(family, bob). | 44 | members(family, bob). |
diff --git a/language-web/src/main/js/language/problem.grammar b/language-web/src/main/js/language/problem.grammar index 0cbfa831..bccc2e31 100644 --- a/language-web/src/main/js/language/problem.grammar +++ b/language-web/src/main/js/language/problem.grammar | |||
@@ -35,7 +35,7 @@ statement { | |||
35 | IndividualNodeName ":" Constant "." | 35 | IndividualNodeName ":" Constant "." |
36 | } | | 36 | } | |
37 | IndividualDeclaration { | 37 | IndividualDeclaration { |
38 | ckw<"individual"> sep<",", IndividualNodeName> "." | 38 | ckw<"indiv"> sep<",", IndividualNodeName> "." |
39 | } | | 39 | } | |
40 | ScopeDeclaration { | 40 | ScopeDeclaration { |
41 | kw<"scope"> sep<",", ScopeElement> "." | 41 | kw<"scope"> sep<",", ScopeElement> "." |
diff --git a/language-web/src/main/js/language/problemLanguageSupport.ts b/language-web/src/main/js/language/problemLanguageSupport.ts index 1dba3447..6508a2c0 100644 --- a/language-web/src/main/js/language/problemLanguageSupport.ts +++ b/language-web/src/main/js/language/problemLanguageSupport.ts | |||
@@ -27,7 +27,7 @@ const parserWithMetadata = (parser as LRParser).configure({ | |||
27 | styleTags({ | 27 | styleTags({ |
28 | LineComment: t.lineComment, | 28 | LineComment: t.lineComment, |
29 | BlockComment: t.blockComment, | 29 | BlockComment: t.blockComment, |
30 | 'problem class enum pred rule individual scope': t.definitionKeyword, | 30 | 'problem class enum pred rule indiv scope': t.definitionKeyword, |
31 | 'abstract extends refers contains opposite error direct default': t.modifier, | 31 | 'abstract extends refers contains opposite error direct default': t.modifier, |
32 | 'true false unknown error': t.keyword, | 32 | 'true false unknown error': t.keyword, |
33 | 'new delete': t.operatorKeyword, | 33 | 'new delete': t.operatorKeyword, |
diff --git a/language-web/src/test/java/tools/refinery/language/web/ProblemWebSocketServletIntegrationTest.java b/language-web/src/test/java/tools/refinery/language/web/ProblemWebSocketServletIntegrationTest.java index d34a1610..a26ce040 100644 --- a/language-web/src/test/java/tools/refinery/language/web/ProblemWebSocketServletIntegrationTest.java +++ b/language-web/src/test/java/tools/refinery/language/web/ProblemWebSocketServletIntegrationTest.java | |||
@@ -96,7 +96,7 @@ class ProblemWebSocketServletIntegrationTest { | |||
96 | case 0 -> session.getRemote().sendString( | 96 | case 0 -> session.getRemote().sendString( |
97 | "{\"id\":\"foo\",\"request\":{\"resource\":\"test.problem\",\"serviceType\":\"update\",\"fullText\":\"class Person.\n\"}}"); | 97 | "{\"id\":\"foo\",\"request\":{\"resource\":\"test.problem\",\"serviceType\":\"update\",\"fullText\":\"class Person.\n\"}}"); |
98 | case 3 -> session.getRemote().sendString( | 98 | case 3 -> session.getRemote().sendString( |
99 | "{\"id\":\"bar\",\"request\":{\"resource\":\"test.problem\",\"serviceType\":\"update\",\"requiredStateId\":\"-80000000\",\"deltaText\":\"individual q.\nnode(q).\n\",\"deltaOffset\":\"0\",\"deltaReplaceLength\":\"0\"}}"); | 99 | "{\"id\":\"bar\",\"request\":{\"resource\":\"test.problem\",\"serviceType\":\"update\",\"requiredStateId\":\"-80000000\",\"deltaText\":\"indiv q.\nnode(q).\n\",\"deltaOffset\":\"0\",\"deltaReplaceLength\":\"0\"}}"); |
100 | case 5 -> session.close(); | 100 | case 5 -> session.close(); |
101 | } | 101 | } |
102 | } | 102 | } |
diff --git a/language-web/src/test/java/tools/refinery/language/web/xtext/servlet/TransactionExecutorTest.java b/language-web/src/test/java/tools/refinery/language/web/xtext/servlet/TransactionExecutorTest.java index 3229597e..5b8fedba 100644 --- a/language-web/src/test/java/tools/refinery/language/web/xtext/servlet/TransactionExecutorTest.java +++ b/language-web/src/test/java/tools/refinery/language/web/xtext/servlet/TransactionExecutorTest.java | |||
@@ -92,7 +92,7 @@ class TransactionExecutorTest { | |||
92 | var stateId = updateFullText(); | 92 | var stateId = updateFullText(); |
93 | var responseHandler = sendRequestAndWaitForAllResponses( | 93 | var responseHandler = sendRequestAndWaitForAllResponses( |
94 | new XtextWebRequest("bar", Map.of("resource", RESOURCE_NAME, "serviceType", "update", "requiredStateId", | 94 | new XtextWebRequest("bar", Map.of("resource", RESOURCE_NAME, "serviceType", "update", "requiredStateId", |
95 | stateId, "deltaText", "individual q.\nnode(q).\n", "deltaOffset", "0", "deltaReplaceLength", "0"))); | 95 | stateId, "deltaText", "indiv q.\nnode(q).\n", "deltaOffset", "0", "deltaReplaceLength", "0"))); |
96 | 96 | ||
97 | var captor = newCaptor(); | 97 | var captor = newCaptor(); |
98 | verify(responseHandler, times(2)).onResponse(captor.capture()); | 98 | verify(responseHandler, times(2)).onResponse(captor.capture()); |
diff --git a/language/src/main/java/tools/refinery/language/Problem.xtext b/language/src/main/java/tools/refinery/language/Problem.xtext index b7562759..e2723b55 100644 --- a/language/src/main/java/tools/refinery/language/Problem.xtext +++ b/language/src/main/java/tools/refinery/language/Problem.xtext | |||
@@ -174,7 +174,7 @@ ExactMultiplicity: | |||
174 | exactValue=INT; | 174 | exactValue=INT; |
175 | 175 | ||
176 | IndividualDeclaration: | 176 | IndividualDeclaration: |
177 | "individual" nodes+=EnumLiteral ("," nodes+=EnumLiteral)* "."; | 177 | "indiv" nodes+=EnumLiteral ("," nodes+=EnumLiteral)* "."; |
178 | 178 | ||
179 | UpperBound returns ecore::EInt: | 179 | UpperBound returns ecore::EInt: |
180 | INT | "*"; | 180 | INT | "*"; |
@@ -184,7 +184,7 @@ QualifiedName hidden(): | |||
184 | 184 | ||
185 | Identifier: | 185 | Identifier: |
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 | ||
189 | Integer returns ecore::EInt hidden(): | 189 | Integer 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); |
diff --git a/language/src/test/java/tools/refinery/language/tests/ProblemParsingTest.xtend b/language/src/test/java/tools/refinery/language/tests/ProblemParsingTest.xtend index 9e357529..53d31a6c 100644 --- a/language/src/test/java/tools/refinery/language/tests/ProblemParsingTest.xtend +++ b/language/src/test/java/tools/refinery/language/tests/ProblemParsingTest.xtend | |||
@@ -46,7 +46,7 @@ class ProblemParsingTest { | |||
46 | error invalidTaxStatus(Person p) <-> | 46 | error invalidTaxStatus(Person p) <-> |
47 | taxStatus(p, child), children(p, _q). | 47 | taxStatus(p, child), children(p, _q). |
48 | 48 | ||
49 | individual family. | 49 | indiv family. |
50 | Family(family). | 50 | Family(family). |
51 | members(family, anne): true. | 51 | members(family, anne): true. |
52 | members(family, bob). | 52 | members(family, bob). |
diff --git a/language/src/test/java/tools/refinery/language/tests/scoping/NodeScopingTest.xtend b/language/src/test/java/tools/refinery/language/tests/scoping/NodeScopingTest.xtend index 5f669847..3a046341 100644 --- a/language/src/test/java/tools/refinery/language/tests/scoping/NodeScopingTest.xtend +++ b/language/src/test/java/tools/refinery/language/tests/scoping/NodeScopingTest.xtend | |||
@@ -81,7 +81,7 @@ class NodeScopingTest { | |||
81 | def void individualNodeInAssertionTest(String qualifiedNamePrefix, boolean namedProblem) { | 81 | def void individualNodeInAssertionTest(String qualifiedNamePrefix, boolean namedProblem) { |
82 | val it = parseHelper.parse(''' | 82 | val it = parseHelper.parse(''' |
83 | «IF namedProblem»problem test.«ENDIF» | 83 | «IF namedProblem»problem test.«ENDIF» |
84 | individual a, b. | 84 | indiv a, b. |
85 | pred predicate(node x, node y) <-> node(x). | 85 | pred predicate(node x, node y) <-> node(x). |
86 | predicate(«qualifiedNamePrefix»a, «qualifiedNamePrefix»a). | 86 | predicate(«qualifiedNamePrefix»a, «qualifiedNamePrefix»a). |
87 | ?predicate(«qualifiedNamePrefix»a, «qualifiedNamePrefix»b). | 87 | ?predicate(«qualifiedNamePrefix»a, «qualifiedNamePrefix»b). |
@@ -99,7 +99,7 @@ class NodeScopingTest { | |||
99 | def void individualNodeInNodeValueAssertionTest(String qualifiedNamePrefix, boolean namedProblem) { | 99 | def void individualNodeInNodeValueAssertionTest(String qualifiedNamePrefix, boolean namedProblem) { |
100 | val it = parseHelper.parse(''' | 100 | val it = parseHelper.parse(''' |
101 | «IF namedProblem»problem test.«ENDIF» | 101 | «IF namedProblem»problem test.«ENDIF» |
102 | individual a. | 102 | indiv a. |
103 | «qualifiedNamePrefix»a: 16. | 103 | «qualifiedNamePrefix»a: 16. |
104 | ''') | 104 | ''') |
105 | assertThat(errors, empty) | 105 | assertThat(errors, empty) |
@@ -112,7 +112,7 @@ class NodeScopingTest { | |||
112 | def void individualNodeInPredicateTest(String qualifiedNamePrefix, boolean namedProblem) { | 112 | def void individualNodeInPredicateTest(String qualifiedNamePrefix, boolean namedProblem) { |
113 | val it = parseHelper.parse(''' | 113 | val it = parseHelper.parse(''' |
114 | «IF namedProblem»problem test.«ENDIF» | 114 | «IF namedProblem»problem test.«ENDIF» |
115 | individual b. | 115 | indiv b. |
116 | pred predicate(node a) <-> node(«qualifiedNamePrefix»b). | 116 | pred predicate(node a) <-> node(«qualifiedNamePrefix»b). |
117 | ''') | 117 | ''') |
118 | assertThat(errors, empty) | 118 | assertThat(errors, empty) |
diff --git a/language/src/test/java/tools/refinery/language/tests/serializer/ProblemSerializerTest.java b/language/src/test/java/tools/refinery/language/tests/serializer/ProblemSerializerTest.java index 34c1d14b..303da50f 100644 --- a/language/src/test/java/tools/refinery/language/tests/serializer/ProblemSerializerTest.java +++ b/language/src/test/java/tools/refinery/language/tests/serializer/ProblemSerializerTest.java | |||
@@ -74,7 +74,7 @@ public class ProblemSerializerTest { | |||
74 | problem.getStatements().add(individualDeclaration); | 74 | problem.getStatements().add(individualDeclaration); |
75 | createAssertion(pred, node); | 75 | createAssertion(pred, node); |
76 | 76 | ||
77 | assertSerializedResult("pred foo ( node p ) . individual a . foo ( a ) : true ."); | 77 | assertSerializedResult("pred foo ( node p ) . indiv a . foo ( a ) : true ."); |
78 | } | 78 | } |
79 | 79 | ||
80 | private PredicateDefinition createPred() { | 80 | private PredicateDefinition createPred() { |