aboutsummaryrefslogtreecommitdiffstats
path: root/subprojects
diff options
context:
space:
mode:
authorLibravatar Kristóf Marussy <kristof@marussy.com>2024-05-30 18:00:15 +0200
committerLibravatar Kristóf Marussy <kristof@marussy.com>2024-05-30 18:00:15 +0200
commit1fc828c11e28a6677e0ff759bbe8dba6e9d9930f (patch)
treeab98cd8028257209516c421e53debd292871baa3 /subprojects
parentfix(language): validate unique rule names (diff)
downloadrefinery-1fc828c11e28a6677e0ff759bbe8dba6e9d9930f.tar.gz
refinery-1fc828c11e28a6677e0ff759bbe8dba6e9d9930f.tar.zst
refinery-1fc828c11e28a6677e0ff759bbe8dba6e9d9930f.zip
refactor(language): rule syntax
Make the rule syntax more similar to the predicate syntax.
Diffstat (limited to 'subprojects')
-rw-r--r--subprojects/frontend/src/language/problem.grammar2
-rw-r--r--subprojects/language/src/main/java/tools/refinery/language/Problem.xtext2
2 files changed, 2 insertions, 2 deletions
diff --git a/subprojects/frontend/src/language/problem.grammar b/subprojects/frontend/src/language/problem.grammar
index 0d3f0e3a..ffae220c 100644
--- a/subprojects/frontend/src/language/problem.grammar
+++ b/subprojects/frontend/src/language/problem.grammar
@@ -66,7 +66,7 @@ statement {
66 RuleDefinition { 66 RuleDefinition {
67 (ckw<"decision"> | ckw<"propagation">)? kw<"rule"> 67 (ckw<"decision"> | ckw<"propagation">)? kw<"rule">
68 RuleName ParameterList<Parameter>? 68 RuleName ParameterList<Parameter>?
69 RuleBody { ":" sep<OrOp, Conjunction> "==>" sep<OrOp, Consequent> "." } 69 RuleBody { ("<->" sep<OrOp, Conjunction>)? ("==>" sep<OrOp, Consequent>)? "." }
70 } | 70 } |
71 AtomDeclaration { 71 AtomDeclaration {
72 kw<"declare">? ckw<"atom"> sep<",", AtomNodeName> "." 72 kw<"declare">? ckw<"atom"> sep<",", AtomNodeName> "."
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 64998cd0..ebb5bf71 100644
--- a/subprojects/language/src/main/java/tools/refinery/language/Problem.xtext
+++ b/subprojects/language/src/main/java/tools/refinery/language/Problem.xtext
@@ -83,7 +83,7 @@ RuleDefinition:
83 kind=RuleKind? "rule" 83 kind=RuleKind? "rule"
84 name=Identifier 84 name=Identifier
85 "(" (parameters+=Parameter ("," parameters+=Parameter)*)? ")" 85 "(" (parameters+=Parameter ("," parameters+=Parameter)*)? ")"
86 (":" preconditions+=Conjunction (";" preconditions+=Conjunction)*)? 86 ("<->" preconditions+=Conjunction (";" preconditions+=Conjunction)*)?
87 ("==>" consequents+=Consequent (";" consequents+=Consequent)*)? 87 ("==>" consequents+=Consequent (";" consequents+=Consequent)*)?
88 "."; 88 ".";
89 89