X-Git-Url: https://git.xandkar.net/?a=blobdiff_plain;f=compiler%2Fsrc%2Flib%2Ftiger%2Ftiger_parser.mly;h=42470a450d3565a7875c3dea47bf248f21e212b0;hb=5064180424a02cd59491bc87a43175fbf04d147c;hp=f4fbff90644ccea4b1d85604ba694b291e2a135a;hpb=2f38b9f1292d971826d540718855f63431029715;p=tiger.ml.git diff --git a/compiler/src/lib/tiger/tiger_parser.mly b/compiler/src/lib/tiger/tiger_parser.mly index f4fbff9..42470a4 100644 --- a/compiler/src/lib/tiger/tiger_parser.mly +++ b/compiler/src/lib/tiger/tiger_parser.mly @@ -1,5 +1,6 @@ %{ module Ast = Tiger_absyn + module Err = Tiger_error module Sym = Tiger_symbol let pos () = @@ -75,7 +76,7 @@ program: | exp EOF { $1 } - | error {Tiger_error.exn "invalid syntax" ~pos:(pos ())} + | error {Err.raise (Err.Invalid_syntax (pos ()))} ; exp: @@ -311,6 +312,7 @@ exps: ; rec_fields_bind: + | { [] } | ID EQ exp { (Sym.of_string $1, $3, pos ()) :: [] } | ID EQ exp COMMA rec_fields_bind { (Sym.of_string $1, $3, pos ()) :: $5 } ;