1*9880d681SAndroid Build Coastguard Worker(*===----------------------------------------------------------------------=== 2*9880d681SAndroid Build Coastguard Worker * Main driver code. 3*9880d681SAndroid Build Coastguard Worker *===----------------------------------------------------------------------===*) 4*9880d681SAndroid Build Coastguard Worker 5*9880d681SAndroid Build Coastguard Workerlet main () = 6*9880d681SAndroid Build Coastguard Worker (* Install standard binary operators. 7*9880d681SAndroid Build Coastguard Worker * 1 is the lowest precedence. *) 8*9880d681SAndroid Build Coastguard Worker Hashtbl.add Parser.binop_precedence '<' 10; 9*9880d681SAndroid Build Coastguard Worker Hashtbl.add Parser.binop_precedence '+' 20; 10*9880d681SAndroid Build Coastguard Worker Hashtbl.add Parser.binop_precedence '-' 20; 11*9880d681SAndroid Build Coastguard Worker Hashtbl.add Parser.binop_precedence '*' 40; (* highest. *) 12*9880d681SAndroid Build Coastguard Worker 13*9880d681SAndroid Build Coastguard Worker (* Prime the first token. *) 14*9880d681SAndroid Build Coastguard Worker print_string "ready> "; flush stdout; 15*9880d681SAndroid Build Coastguard Worker let stream = Lexer.lex (Stream.of_channel stdin) in 16*9880d681SAndroid Build Coastguard Worker 17*9880d681SAndroid Build Coastguard Worker (* Run the main "interpreter loop" now. *) 18*9880d681SAndroid Build Coastguard Worker Toplevel.main_loop stream; 19*9880d681SAndroid Build Coastguard Worker;; 20*9880d681SAndroid Build Coastguard Worker 21*9880d681SAndroid Build Coastguard Workermain () 22