summaryrefslogtreecommitdiff
path: root/frontend/parser.mly
diff options
context:
space:
mode:
Diffstat (limited to 'frontend/parser.mly')
-rw-r--r--frontend/parser.mly11
1 files changed, 11 insertions, 0 deletions
diff --git a/frontend/parser.mly b/frontend/parser.mly
index 4e010ec..84dcd15 100644
--- a/frontend/parser.mly
+++ b/frontend/parser.mly
@@ -127,6 +127,17 @@ state:
body = b;
until = until;
} }
+| i=boption(INITIAL) STATE n=IDENT
+ unless=trans(UNLESS)
+ b=ext(eqn) SEMICOLON
+ until=trans(UNTIL)
+{ if unless <> [] then failwith "UNLESS transitions not supported.";
+ { initial = i;
+ st_name = n;
+ st_locals = [];
+ body = [b];
+ until = until;
+} }
trans(TT):
| TT t=nonempty_list(terminated(transition, SEMICOLON)) { t }