%{
module Ast = Tiger_absyn
+ module Err = Tiger_error
module Sym = Tiger_symbol
let pos () =
program:
| exp EOF { $1 }
- | error {Tiger_error.exn ~pos:(pos ()) ~msg:"invalid syntax"}
+ | error {Err.raise (Err.Invalid_syntax (pos ()))}
;
exp:
;
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 }
;