{ open Lexing open Parser exception SyntaxError of string * lexbuf let debug lexbuf = let open Lexing in Printf.printf "lexeme_start %d\nlexeme_end %d\n" (Lexing.lexeme_start lexbuf) (Lexing.lexeme_end lexbuf) } let white = [' ' '\t'] let newline = "\n\r" | '\n' | '\r' rule read = parse | white+ { read lexbuf } | "obj" { debug lexbuf; OBJ } | newline { read lexbuf } | eof { EOF } | _ { raise (SyntaxError ("Unexpected char", lexbuf)) }