let rec token lexbuf =
__ocaml_lex_token_rec lexbuf 0
and __ocaml_lex_token_rec lexbuf __ocaml_lex_state =
match Lexing.engine __ocaml_lex_tables __ocaml_lex_state lexbuf with
| 0 ->
# 39 "mathlexer.mll"
( token lexbuf )
# 2383 "mathlexer.ml"
| 1 ->
let x = Lexing.sub_lexeme lexbuf lexbuf.Lexing.lex_start_pos lexbuf.Lexing.lex_curr_pos in
# 41 "mathlexer.mll"
( VAL(float_of_string x) )
# 2390 "mathlexer.ml"
| 2 ->
# 42 "mathlexer.mll"
( CMD )
# 2395 "mathlexer.ml"
| 3 ->
# 43 "mathlexer.mll"
( COMMENT )
# 2400 "mathlexer.ml"
| 4 ->
# 44 "mathlexer.mll"
( UNIT )
# 2405 "mathlexer.ml"
| 5 ->
# 45 "mathlexer.mll"
( LPAR )
# 2410 "mathlexer.ml"
| 6 ->
# 46 "mathlexer.mll"
( RPAR )
# 2415 "mathlexer.ml"
| 7 ->
# 47 "mathlexer.mll"
( LBRA )
# 2420 "mathlexer.ml"
| 8 ->
# 48 "mathlexer.mll"
( RBRA )
# 2425 "mathlexer.ml"
| 9 ->
# 49 "mathlexer.mll"
( LCUR )
# 2430 "mathlexer.ml"
| 10 ->
# 50 "mathlexer.mll"
( RCUR )
# 2435 "mathlexer.ml"
| 11 ->
# 51 "mathlexer.mll"
( ABSDEL )
# 2440 "mathlexer.ml"
| 12 ->
# 52 "mathlexer.mll"
( INCR )
# 2445 "mathlexer.ml"
| 13 ->
# 53 "mathlexer.mll"
( DECR )
# 2450 "mathlexer.ml"
| 14 ->
# 54 "mathlexer.mll"
( PLUS )
# 2455 "mathlexer.ml"
| 15 ->
# 55 "mathlexer.mll"
( MINUS )
# 2460 "mathlexer.ml"
| 16 ->
# 56 "mathlexer.mll"
( TIMES )
# 2465 "mathlexer.ml"
| 17 ->
# 57 "mathlexer.mll"
( DIV )
# 2470 "mathlexer.ml"
| 18 ->
# 58 "mathlexer.mll"
( POW )
# 2475 "mathlexer.ml"
| 19 ->
# 59 "mathlexer.mll"
( FLOOR )
# 2480 "mathlexer.ml"
| 20 ->
# 60 "mathlexer.mll"
( CEIL )
# 2485 "mathlexer.ml"
| 21 ->
# 61 "mathlexer.mll"
( RANDOM )
# 2490 "mathlexer.ml"
| 22 ->
# 62 "mathlexer.mll"
( ROUND )
# 2495 "mathlexer.ml"
| 23 ->
# 63 "mathlexer.mll"
( MODULO )
# 2500 "mathlexer.ml"
| 24 ->
# 64 "mathlexer.mll"
( ABS )
# 2505 "mathlexer.ml"
| 25 ->
# 65 "mathlexer.mll"
( SQRT)
# 2510 "mathlexer.ml"
| 26 ->
# 66 "mathlexer.mll"
( COS )
# 2515 "mathlexer.ml"
| 27 ->
# 67 "mathlexer.mll"
( SIN )
# 2520 "mathlexer.ml"
| 28 ->
# 68 "mathlexer.mll"
( TAN )
# 2525 "mathlexer.ml"
| 29 ->
# 69 "mathlexer.mll"
( COSH )
# 2530 "mathlexer.ml"
| 30 ->
# 70 "mathlexer.mll"
( SINH )
# 2535 "mathlexer.ml"
| 31 ->
# 71 "mathlexer.mll"
( TANH )
# 2540 "mathlexer.ml"
| 32 ->
# 72 "mathlexer.mll"
( ACOS )
# 2545 "mathlexer.ml"
| 33 ->
# 73 "mathlexer.mll"
( ASIN )
# 2550 "mathlexer.ml"
| 34 ->
# 74 "mathlexer.mll"
( ATAN )
# 2555 "mathlexer.ml"
| 35 ->
# 75 "mathlexer.mll"
( FACTORIAL )
# 2560 "mathlexer.ml"
| 36 ->
# 76 "mathlexer.mll"
( ENOT )
# 2565 "mathlexer.ml"
| 37 ->
# 77 "mathlexer.mll"
( EXP )
# 2570 "mathlexer.ml"
| 38 ->
# 78 "mathlexer.mll"
( LN )
# 2575 "mathlexer.ml"
| 39 ->
# 79 "mathlexer.mll"
( LOGB )
# 2580 "mathlexer.ml"
| 40 ->
# 80 "mathlexer.mll"
( LOG )
# 2585 "mathlexer.ml"
| 41 ->
# 81 "mathlexer.mll"
( PI )
# 2590 "mathlexer.ml"
| 42 ->
# 82 "mathlexer.mll"
( TRUE )
# 2595 "mathlexer.ml"
| 43 ->
# 83 "mathlexer.mll"
( FALSE )
# 2600 "mathlexer.ml"
| 44 ->
# 84 "mathlexer.mll"
( DEG )
# 2605 "mathlexer.ml"
| 45 ->
# 85 "mathlexer.mll"
( DECSEP )
# 2610 "mathlexer.ml"
| 46 ->
# 86 "mathlexer.mll"
( DECXPSEP )
# 2615 "mathlexer.ml"
| 47 ->
# 87 "mathlexer.mll"
( LEQUALS )
# 2620 "mathlexer.ml"
| 48 ->
# 88 "mathlexer.mll"
( LINF )
# 2625 "mathlexer.ml"
| 49 ->
# 89 "mathlexer.mll"
( LSUP )
# 2630 "mathlexer.ml"
| 50 ->
# 90 "mathlexer.mll"
( LSINF )
# 2635 "mathlexer.ml"
| 51 ->
# 91 "mathlexer.mll"
( LSSUP )
# 2640 "mathlexer.ml"
| 52 ->
# 92 "mathlexer.mll"
( LAND )
# 2645 "mathlexer.ml"
| 53 ->
# 93 "mathlexer.mll"
( LOR )
# 2650 "mathlexer.ml"
| 54 ->
# 94 "mathlexer.mll"
( LDIFF )
# 2655 "mathlexer.ml"
| 55 ->
# 95 "mathlexer.mll"
( LNOT )
# 2660 "mathlexer.ml"
| 56 ->
# 96 "mathlexer.mll"
( LXOR )
# 2665 "mathlexer.ml"
| 57 ->
# 97 "mathlexer.mll"
( LTERN )
# 2670 "mathlexer.ml"
| 58 ->
# 98 "mathlexer.mll"
( LTERNSEP )
# 2675 "mathlexer.ml"
| 59 ->
# 99 "mathlexer.mll"
( LIF )
# 2680 "mathlexer.ml"
| 60 ->
# 100 "mathlexer.mll"
( LTHEN )
# 2685 "mathlexer.ml"
| 61 ->
# 101 "mathlexer.mll"
( LELSE)
# 2690 "mathlexer.ml"
| 62 ->
# 102 "mathlexer.mll"
( ASSIGN )
# 2695 "mathlexer.ml"
| 63 ->
# 103 "mathlexer.mll"
( LET )
# 2700 "mathlexer.ml"
| 64 ->
# 104 "mathlexer.mll"
( PRINT )
# 2705 "mathlexer.ml"
| 65 ->
let str = Lexing.sub_lexeme lexbuf lexbuf.Lexing.lex_start_pos lexbuf.Lexing.lex_curr_pos in
# 105 "mathlexer.mll"
( VAR (str) )
# 2712 "mathlexer.ml"
| 66 ->
# 106 "mathlexer.mll"
( END )
# 2717 "mathlexer.ml"
| __ocaml_lex_state -> lexbuf.Lexing.refill_buff lexbuf; __ocaml_lex_token_rec lexbuf __ocaml_lex_state