|  | (*===----------------------------------------------------------------------=== | 
|  | * Main driver code. | 
|  | *===----------------------------------------------------------------------===*) | 
|  |  | 
|  | open Llvm | 
|  |  | 
|  | 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; | 
|  |  | 
|  | (* Print out all the generated code. *) | 
|  | dump_module Codegen.the_module | 
|  | ;; | 
|  |  | 
|  | main () |