(*===----------------------------------------------------------------------=== * Main driver code. *===----------------------------------------------------------------------===*) let main () = (* Install standard binary operators. * 1 is the lowest precedence. *) Hashtbl.add Parser.binop_precedence '<' 10; Hashtbl.add Parser.binop_precedence '+' 20; Hashtbl.add Parser.binop_precedence '-' 20; Hashtbl.add Parser.binop_precedence '*' 40; (* highest. *) (* Prime the first token. *) print_string "ready> "; flush stdout; let stream = Lexer.lex (Stream.of_channel stdin) in (* Run the main "interpreter loop" now. *) Toplevel.main_loop stream; ;; main ()