aboutsummaryrefslogtreecommitdiffstats
path: root/subprojects/language/src/main/java/tools
diff options
context:
space:
mode:
authorLibravatar Kristóf Marussy <kristof@marussy.com>2024-06-29 01:46:31 +0200
committerLibravatar Kristóf Marussy <kristof@marussy.com>2024-06-30 20:29:21 +0200
commit7f667d1c1dfad4c9ab4a857cef073c6216564df5 (patch)
tree87601e15e108abca017183b4aa0dd6f174806bb7 /subprojects/language/src/main/java/tools
parentrefactor: improve propagation rule diagnostics (diff)
downloadrefinery-7f667d1c1dfad4c9ab4a857cef073c6216564df5.tar.gz
refinery-7f667d1c1dfad4c9ab4a857cef073c6216564df5.tar.zst
refinery-7f667d1c1dfad4c9ab4a857cef073c6216564df5.zip
feat: access computed values of relations
Diffstat (limited to 'subprojects/language/src/main/java/tools')
-rw-r--r--subprojects/language/src/main/java/tools/refinery/language/Problem.xtext9
1 files changed, 7 insertions, 2 deletions
diff --git a/subprojects/language/src/main/java/tools/refinery/language/Problem.xtext b/subprojects/language/src/main/java/tools/refinery/language/Problem.xtext
index 10e994a0..df33cfa6 100644
--- a/subprojects/language/src/main/java/tools/refinery/language/Problem.xtext
+++ b/subprojects/language/src/main/java/tools/refinery/language/Problem.xtext
@@ -92,7 +92,7 @@ enum ParameterBinding:
92 92
93Parameter: 93Parameter:
94 ( 94 (
95 (concreteness=Concreteness? modality=Modality)? 95 (derivation=Derivation? concreteness=Concreteness? modality=Modality)?
96 parameterType=[Relation|QualifiedName] 96 parameterType=[Relation|QualifiedName]
97 )? binding=ParameterBinding? name=Identifier; 97 )? binding=ParameterBinding? name=Identifier;
98 98
@@ -182,6 +182,9 @@ AggregationExpr:
182 aggregator=[AggregatorDeclaration|QualifiedName] 182 aggregator=[AggregatorDeclaration|QualifiedName]
183 "{" value=Expr "|" condition=ComparisonExpr "}"; 183 "{" value=Expr "|" condition=ComparisonExpr "}";
184 184
185enum Derivation:
186 COMPUTED="computed";
187
185enum Concreteness: 188enum Concreteness:
186 CANDIDATE="candidate"; 189 CANDIDATE="candidate";
187 190
@@ -189,7 +192,9 @@ enum Modality:
189 MUST="must" | MAY="may"; 192 MUST="must" | MAY="may";
190 193
191ModalExpr: 194ModalExpr:
192 concreteness=Concreteness? modality=Modality body=UnaryExpr; 195 derivation=Derivation?
196 concreteness=Concreteness?
197 modality=Modality body=UnaryExpr;
193 198
194CastExpr returns Expr: 199CastExpr returns Expr:
195 CastExprBody ({CastExpr.body=current} "as" targetType=[Relation|QualifiedName])?; 200 CastExprBody ({CastExpr.body=current} "as" targetType=[Relation|QualifiedName])?;