1
0
mirror of https://github.com/RPCS3/llvm-mirror.git synced 2024-11-01 16:33:37 +01:00
llvm-mirror/examples/OCaml-Kaleidoscope/Chapter2/toy.ml
Erick Tryzelaar 0e12fd5fc2 Add OCaml tutorial to the examples.
llvm-svn: 97966
2010-03-08 19:32:27 +00:00

22 lines
687 B
OCaml

(*===----------------------------------------------------------------------===
* 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 ()