X-Git-Url: https://git.xandkar.net/?a=blobdiff_plain;f=compiler%2Fsrc%2Flib%2Ftiger%2Ftiger_parser.mly;h=42470a450d3565a7875c3dea47bf248f21e212b0;hb=5064180424a02cd59491bc87a43175fbf04d147c;hp=78d56a0c8a9216f297e608ec6fe3371ec2f56242;hpb=7c14a966d15aab098a4239b6ae6a3fc207504e7f;p=tiger.ml.git diff --git a/compiler/src/lib/tiger/tiger_parser.mly b/compiler/src/lib/tiger/tiger_parser.mly index 78d56a0..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 ~pos:(pos ()) ~msg:"invalid syntax"} + | 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 } ;