diff options
Diffstat (limited to 'frontend')
-rw-r--r-- | frontend/parser.mly | 11 |
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 } |