diff options
author | 2024-06-29 01:46:31 +0200 | |
---|---|---|
committer | 2024-06-30 20:29:21 +0200 | |
commit | 7f667d1c1dfad4c9ab4a857cef073c6216564df5 (patch) | |
tree | 87601e15e108abca017183b4aa0dd6f174806bb7 /subprojects/language/src/main/java/tools | |
parent | refactor: improve propagation rule diagnostics (diff) | |
download | refinery-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.xtext | 9 |
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 | ||
93 | Parameter: | 93 | Parameter: |
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 | ||
185 | enum Derivation: | ||
186 | COMPUTED="computed"; | ||
187 | |||
185 | enum Concreteness: | 188 | enum 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 | ||
191 | ModalExpr: | 194 | ModalExpr: |
192 | concreteness=Concreteness? modality=Modality body=UnaryExpr; | 195 | derivation=Derivation? |
196 | concreteness=Concreteness? | ||
197 | modality=Modality body=UnaryExpr; | ||
193 | 198 | ||
194 | CastExpr returns Expr: | 199 | CastExpr returns Expr: |
195 | CastExprBody ({CastExpr.body=current} "as" targetType=[Relation|QualifiedName])?; | 200 | CastExprBody ({CastExpr.body=current} "as" targetType=[Relation|QualifiedName])?; |