summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorNathanael Sensfelder <SpamShield0@MultiAgentSystems.org>2017-07-31 17:04:51 +0200
committerNathanael Sensfelder <SpamShield0@MultiAgentSystems.org>2017-07-31 17:04:51 +0200
commitbc8e275546e2e6fe6bcf19ce42c0fab07eecdf4c (patch)
treec0fc19f8cb2a3b296f6fef3394ebee122fe5343c /instr-to-kodkod/parser
parent27fd5d8afef49ffeca83dd5714738bfaffe04505 (diff)
Fixes typo with functions, errors in grammar.
Looking for the groups matching CNE_01700 appears to take a really long time. The formula is quite complex, yet unlikely to be one of the most complex ones, so we'll have to see what can be done.
Diffstat (limited to 'instr-to-kodkod/parser')
-rw-r--r--instr-to-kodkod/parser/PropertyLexer.g44
-rw-r--r--instr-to-kodkod/parser/PropertyParser.g47
2 files changed, 8 insertions, 3 deletions
diff --git a/instr-to-kodkod/parser/PropertyLexer.g4 b/instr-to-kodkod/parser/PropertyLexer.g4
index ec01c88..f5b553e 100644
--- a/instr-to-kodkod/parser/PropertyLexer.g4
+++ b/instr-to-kodkod/parser/PropertyLexer.g4
@@ -4,8 +4,8 @@ fragment SEP: [ \t\r\n]+;
L_PAREN : '(';
R_PAREN : ')';
-L_BRAKT: ']';
-R_BRAKT: '[';
+L_BRAKT: '[';
+R_BRAKT: ']';
TAG_EXISTING_KW: '(tag_existing' SEP;
diff --git a/instr-to-kodkod/parser/PropertyParser.g4 b/instr-to-kodkod/parser/PropertyParser.g4
index 3e5634f..e6cd164 100644
--- a/instr-to-kodkod/parser/PropertyParser.g4
+++ b/instr-to-kodkod/parser/PropertyParser.g4
@@ -323,7 +323,7 @@ regex_special_predicate [Variable current_node]
(WS)* REGEX_SPECIAL_PREDICATE_KW
id_or_string_or_fun[current_node]
- STRING
+ (WS)+ STRING
(WS)* R_PAREN
{
@@ -1303,6 +1303,11 @@ formula [Variable current_node]
$result = ($predicate.result);
}
+ | regex_special_predicate[current_node]
+ {
+ $result = ($regex_special_predicate.result);
+ }
+
| and_operator[current_node]
{
$result = ($and_operator.result);