# 16 "testsuite/tools/lexcmm.mll" open Parsecmm type error = Illegal_character | Unterminated_comment | Unterminated_string exception Error of error (* For nested comments *) let comment_depth = ref 0 (* The table of keywords *) let keyword_table = Misc.create_hashtable 149 [ "absf", ABSF; "addr", ADDR; "align", ALIGN; "alloc", ALLOC; "and", AND; "app", APPLY; "assign", ASSIGN; "byte", BYTE; "case", CASE; "catch", CATCH; "checkbound", CHECKBOUND; "data", DATA; "exit", EXIT; "extcall", EXTCALL; "float", FLOAT; "float32", FLOAT32; "float64", FLOAT64; "floatofint", FLOATOFINT; "function", FUNCTION; "global", GLOBAL; "half", HALF; "if", IF; "int", INT; "int32", INT32; "intoffloat", INTOFFLOAT; "string", KSTRING; "let", LET; "letmut", LETMUT; "load", LOAD; "mod", MODI; "mulh", MULH; "or", OR; "proj", PROJ; "raise_regular", RAISE Lambda.Raise_regular; "raise_reraise", RAISE Lambda.Raise_reraise; "raise_notrace", RAISE Lambda.Raise_notrace; "seq", SEQ; "signed", SIGNED; "skip", SKIP; "store", STORE; "switch", SWITCH; "try", TRY; "unit", UNIT; "unsigned", UNSIGNED; "val", VAL; "while", WHILE; "with", WITH; "xor", XOR; "addraref", ADDRAREF; "intaref", INTAREF; "floataref", FLOATAREF; "addraset", ADDRASET; "intaset", INTASET; "floataset", FLOATASET ] (* To buffer string literals *) let initial_string_buffer = Bytes.create 256 let string_buff = ref initial_string_buffer let string_index = ref 0 let reset_string_buffer () = string_buff := initial_string_buffer; string_index := 0 let store_string_char c = if !string_index >= Bytes.length (!string_buff) then begin let new_buff = Bytes.create (Bytes.length (!string_buff) * 2) in Bytes.blit (!string_buff) 0 new_buff 0 (Bytes.length (!string_buff)); string_buff := new_buff end; Bytes.unsafe_set (!string_buff) (!string_index) c; incr string_index let get_stored_string () = let s = Bytes.sub_string (!string_buff) 0 (!string_index) in string_buff := initial_string_buffer; s (* To translate escape sequences *) let char_for_backslash = function 'n' -> '\010' | 'r' -> '\013' | 'b' -> '\008' | 't' -> '\009' | c -> c let char_for_decimal_code lexbuf i = Char.chr(100 * (Char.code(Lexing.lexeme_char lexbuf i) - 48) + 10 * (Char.code(Lexing.lexeme_char lexbuf (i+1)) - 48) + (Char.code(Lexing.lexeme_char lexbuf (i+2)) - 48)) (* Error report *) let report_error lexbuf msg = prerr_string "Lexical error around character "; prerr_int (Lexing.lexeme_start lexbuf); match msg with Illegal_character -> prerr_string ": illegal character" | Unterminated_comment -> prerr_string ": unterminated comment" | Unterminated_string -> prerr_string ": unterminated string" # 129 "testsuite/tools/lexcmm.ml" let __ocaml_lex_tables = { Lexing.lex_base = "\000\000\206\255\092\000\209\255\218\000\039\001\172\001\049\001\ \215\255\216\255\034\000\023\000\002\000\161\000\235\255\002\000\ \245\255\024\000\248\255\048\001\032\000\005\000\255\255\005\000\ \006\000\251\255\252\255\253\255\237\255\238\255\030\000\013\000\ \229\255\249\255\240\255\241\255\247\255\054\000\243\255\244\255\ \227\255\228\255\230\255\086\000\233\255\234\255\208\255\225\255\ \031\000\157\000\118\000\222\255\223\255\219\255\029\000\220\255\ \217\255\033\000\218\255\214\255\068\001\183\001\104\000\078\001\ \209\001\247\001\194\001\106\000\014\002\024\002\046\002\072\002\ \057\002\151\002\161\002\174\002\184\002\194\002\207\255\013\001\ \251\255\252\255\010\000\253\255\005\000\017\000\255\255\254\255\ \011\000\196\001\250\255\251\255\243\002\255\255\209\002\253\255\ \002\003\253\002\252\255"; Lexing.lex_backtrk = "\255\255\255\255\049\000\255\255\045\000\043\000\043\000\042\000\ \255\255\255\255\049\000\031\000\024\000\029\000\255\255\049\000\ \255\255\009\000\255\255\019\000\005\000\001\000\255\255\049\000\ \255\255\255\255\255\255\255\255\255\255\255\255\016\000\255\255\ \255\255\255\255\255\255\255\255\255\255\013\000\255\255\255\255\ \255\255\255\255\255\255\023\000\255\255\255\255\255\255\255\255\ \255\255\255\255\034\000\255\255\255\255\255\255\255\255\255\255\ \255\255\255\255\255\255\255\255\255\255\044\000\255\255\255\255\ \255\255\043\000\043\000\043\000\044\000\255\255\045\000\255\255\ \255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\ \255\255\255\255\004\000\255\255\004\000\004\000\255\255\255\255\ \255\255\255\255\255\255\255\255\005\000\255\255\255\255\255\255\ \001\000\255\255\255\255"; Lexing.lex_default = "\001\000\000\000\255\255\000\000\255\255\255\255\255\255\255\255\ \000\000\000\000\255\255\255\255\255\255\255\255\000\000\255\255\ \000\000\255\255\000\000\255\255\255\255\255\255\000\000\255\255\ \255\255\000\000\000\000\000\000\000\000\000\000\255\255\255\255\ \000\000\000\000\000\000\000\000\000\000\255\255\000\000\000\000\ \000\000\000\000\000\000\255\255\000\000\000\000\000\000\000\000\ \255\255\255\255\255\255\000\000\000\000\000\000\255\255\000\000\ \000\000\255\255\000\000\000\000\255\255\255\255\255\255\255\255\ \255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\ \255\255\255\255\255\255\255\255\255\255\255\255\000\000\080\000\ \000\000\000\000\255\255\000\000\255\255\255\255\000\000\000\000\ \255\255\090\000\000\000\000\000\255\255\000\000\255\255\000\000\ \255\255\255\255\000\000"; Lexing.lex_trans = "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\ \000\000\021\000\022\000\000\000\021\000\023\000\021\000\022\000\ \022\000\021\000\024\000\024\000\081\000\081\000\000\000\088\000\ \088\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\ \021\000\010\000\003\000\000\000\000\000\021\000\000\000\000\000\ \012\000\008\000\011\000\020\000\046\000\007\000\087\000\017\000\ \006\000\005\000\005\000\005\000\005\000\005\000\005\000\005\000\ \005\000\005\000\018\000\086\000\013\000\015\000\019\000\037\000\ \000\000\004\000\004\000\004\000\004\000\004\000\004\000\004\000\ \004\000\004\000\004\000\004\000\004\000\004\000\004\000\004\000\ \004\000\004\000\004\000\004\000\004\000\004\000\004\000\004\000\ \004\000\004\000\004\000\014\000\057\000\009\000\048\000\050\000\ \049\000\004\000\004\000\004\000\004\000\004\000\004\000\004\000\ \004\000\004\000\004\000\004\000\004\000\004\000\004\000\004\000\ \004\000\004\000\004\000\004\000\004\000\004\000\004\000\004\000\ \004\000\004\000\004\000\002\000\071\000\047\000\036\000\035\000\ \033\000\027\000\032\000\055\000\034\000\056\000\025\000\058\000\ \071\000\071\000\071\000\071\000\071\000\071\000\071\000\071\000\ \071\000\071\000\071\000\071\000\071\000\071\000\026\000\039\000\ \067\000\067\000\067\000\067\000\038\000\071\000\071\000\071\000\ \071\000\071\000\071\000\071\000\071\000\071\000\071\000\071\000\ \071\000\071\000\071\000\071\000\071\000\071\000\071\000\071\000\ \071\000\071\000\071\000\071\000\071\000\071\000\071\000\045\000\ \000\000\000\000\000\000\071\000\044\000\071\000\071\000\071\000\ \071\000\071\000\071\000\071\000\071\000\071\000\071\000\071\000\ \071\000\071\000\071\000\071\000\071\000\071\000\071\000\071\000\ \071\000\071\000\071\000\071\000\071\000\071\000\071\000\052\000\ \000\000\000\000\054\000\000\000\051\000\042\000\043\000\004\000\ \004\000\004\000\004\000\004\000\004\000\004\000\004\000\004\000\ \004\000\004\000\004\000\004\000\004\000\004\000\004\000\004\000\ \004\000\004\000\004\000\004\000\004\000\004\000\004\000\000\000\ \004\000\004\000\004\000\004\000\004\000\004\000\004\000\004\000\ \016\000\004\000\041\000\053\000\000\000\000\000\000\000\040\000\ \000\000\070\000\004\000\004\000\004\000\004\000\004\000\004\000\ \004\000\004\000\004\000\004\000\000\000\000\000\000\000\081\000\ \000\000\000\000\082\000\004\000\004\000\004\000\004\000\004\000\ \004\000\004\000\004\000\004\000\004\000\004\000\004\000\004\000\ \004\000\004\000\004\000\004\000\004\000\004\000\004\000\004\000\ \004\000\004\000\004\000\004\000\004\000\085\000\000\000\084\000\ \000\000\004\000\000\000\004\000\004\000\004\000\004\000\004\000\ \004\000\004\000\004\000\004\000\004\000\004\000\004\000\004\000\ \004\000\004\000\004\000\004\000\004\000\004\000\004\000\004\000\ \004\000\004\000\004\000\004\000\004\000\061\000\000\000\005\000\ \005\000\005\000\005\000\005\000\005\000\005\000\005\000\005\000\ \005\000\006\000\005\000\005\000\005\000\005\000\005\000\005\000\ \005\000\005\000\005\000\000\000\060\000\030\000\031\000\069\000\ \000\000\069\000\000\000\000\000\068\000\068\000\068\000\068\000\ \068\000\068\000\068\000\068\000\068\000\068\000\066\000\066\000\ \066\000\066\000\066\000\066\000\066\000\066\000\000\000\000\000\ \000\000\000\000\000\000\000\000\060\000\000\000\000\000\000\000\ \000\000\029\000\000\000\000\000\000\000\000\000\028\000\059\000\ \000\000\000\000\004\000\004\000\004\000\004\000\004\000\004\000\ \004\000\004\000\004\000\004\000\004\000\004\000\004\000\004\000\ \004\000\004\000\004\000\004\000\004\000\004\000\004\000\004\000\ \004\000\000\000\004\000\004\000\004\000\004\000\004\000\004\000\ \004\000\004\000\004\000\004\000\004\000\004\000\004\000\004\000\ \004\000\004\000\004\000\004\000\004\000\004\000\004\000\004\000\ \004\000\004\000\004\000\004\000\004\000\004\000\004\000\004\000\ \004\000\000\000\004\000\004\000\004\000\004\000\004\000\004\000\ \004\000\004\000\061\000\000\000\005\000\005\000\005\000\005\000\ \005\000\005\000\005\000\005\000\005\000\005\000\093\000\061\000\ \061\000\061\000\061\000\061\000\061\000\061\000\061\000\061\000\ \061\000\060\000\066\000\066\000\066\000\066\000\066\000\066\000\ \066\000\066\000\000\000\000\000\060\000\000\000\000\000\000\000\ \000\000\065\000\065\000\065\000\065\000\065\000\065\000\065\000\ \065\000\065\000\065\000\000\000\000\000\083\000\062\000\000\000\ \000\000\060\000\065\000\065\000\065\000\065\000\065\000\065\000\ \000\000\000\000\000\000\063\000\060\000\000\000\000\000\000\000\ \092\000\000\000\000\000\000\000\064\000\000\000\000\000\065\000\ \065\000\065\000\065\000\065\000\065\000\065\000\065\000\065\000\ \065\000\000\000\065\000\065\000\065\000\065\000\065\000\065\000\ \065\000\065\000\065\000\065\000\065\000\065\000\068\000\068\000\ \068\000\068\000\068\000\068\000\068\000\068\000\068\000\068\000\ \068\000\068\000\068\000\068\000\068\000\068\000\068\000\068\000\ \068\000\068\000\000\000\000\000\000\000\000\000\000\000\000\000\ \065\000\065\000\065\000\065\000\065\000\065\000\070\000\070\000\ \070\000\070\000\070\000\070\000\070\000\070\000\070\000\070\000\ \071\000\073\000\073\000\073\000\073\000\073\000\073\000\073\000\ \073\000\073\000\073\000\000\000\071\000\071\000\071\000\071\000\ \071\000\071\000\071\000\071\000\071\000\071\000\071\000\071\000\ \071\000\071\000\072\000\000\000\000\000\000\000\000\000\000\000\ \000\000\071\000\071\000\071\000\071\000\071\000\071\000\071\000\ \071\000\071\000\071\000\071\000\071\000\071\000\071\000\071\000\ \071\000\071\000\071\000\071\000\071\000\071\000\071\000\071\000\ \071\000\071\000\071\000\000\000\000\000\000\000\000\000\071\000\ \000\000\071\000\071\000\071\000\071\000\071\000\071\000\071\000\ \071\000\071\000\071\000\071\000\071\000\071\000\071\000\071\000\ \071\000\071\000\071\000\071\000\071\000\071\000\071\000\071\000\ \071\000\071\000\071\000\074\000\091\000\000\000\000\000\073\000\ \073\000\073\000\073\000\073\000\073\000\073\000\073\000\073\000\ \073\000\075\000\075\000\075\000\075\000\075\000\075\000\075\000\ \075\000\075\000\075\000\076\000\000\000\000\000\075\000\075\000\ \075\000\075\000\075\000\075\000\075\000\075\000\075\000\075\000\ \077\000\077\000\077\000\077\000\077\000\077\000\077\000\077\000\ \077\000\077\000\077\000\077\000\077\000\077\000\077\000\077\000\ \077\000\077\000\077\000\077\000\096\000\096\000\000\000\096\000\ \096\000\097\000\097\000\097\000\097\000\097\000\097\000\097\000\ \097\000\097\000\097\000\096\000\096\000\096\000\096\000\096\000\ \000\000\000\000\000\000\096\000\000\000\095\000\000\000\000\000\ \000\000\000\000\000\000\000\000\096\000\000\000\000\000\000\000\ \000\000\000\000\096\000\094\000\094\000\094\000\094\000\094\000\ \094\000\094\000\094\000\094\000\094\000\098\000\098\000\098\000\ \098\000\098\000\098\000\098\000\098\000\098\000\098\000\000\000\ \000\000\000\000\000\000\000\000\000\000\000\000\000\000\078\000\ \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\ \000\000\000\000\000\000\000\000\000\000\000\000\000\000\095\000\ \000\000\000\000\000\000\000\000\000\000\095\000\000\000\000\000\ \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\ \000\000\095\000\000\000\000\000\000\000\095\000\000\000\095\000\ \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\ \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\ \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\ \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\ \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\ \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\ \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\ \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\ \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\ \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\ \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\ \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\ \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\ \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\ \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\ \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\ \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\ \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\ \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\ \000\000\000\000\000\000"; Lexing.lex_check = "\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\ \255\255\000\000\000\000\255\255\000\000\000\000\021\000\023\000\ \024\000\021\000\023\000\024\000\082\000\088\000\255\255\082\000\ \088\000\255\255\255\255\255\255\255\255\255\255\255\255\255\255\ \000\000\000\000\000\000\255\255\255\255\021\000\255\255\255\255\ \000\000\000\000\000\000\000\000\012\000\000\000\084\000\000\000\ \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\ \000\000\000\000\000\000\085\000\000\000\000\000\000\000\015\000\ \255\255\000\000\000\000\000\000\000\000\000\000\000\000\000\000\ \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\ \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\ \000\000\000\000\000\000\000\000\048\000\000\000\010\000\010\000\ \010\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\ \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\ \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\ \000\000\000\000\000\000\000\000\002\000\011\000\017\000\030\000\ \031\000\020\000\031\000\054\000\030\000\048\000\020\000\057\000\ \002\000\002\000\002\000\002\000\002\000\002\000\002\000\002\000\ \002\000\002\000\002\000\002\000\002\000\002\000\020\000\037\000\ \062\000\062\000\067\000\067\000\037\000\002\000\002\000\002\000\ \002\000\002\000\002\000\002\000\002\000\002\000\002\000\002\000\ \002\000\002\000\002\000\002\000\002\000\002\000\002\000\002\000\ \002\000\002\000\002\000\002\000\002\000\002\000\002\000\043\000\ \255\255\255\255\255\255\002\000\043\000\002\000\002\000\002\000\ \002\000\002\000\002\000\002\000\002\000\002\000\002\000\002\000\ \002\000\002\000\002\000\002\000\002\000\002\000\002\000\002\000\ \002\000\002\000\002\000\002\000\002\000\002\000\002\000\050\000\ \255\255\255\255\049\000\255\255\050\000\013\000\013\000\000\000\ \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\ \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\ \000\000\000\000\000\000\000\000\000\000\000\000\000\000\255\255\ \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\ \000\000\004\000\013\000\049\000\255\255\255\255\255\255\013\000\ \255\255\004\000\004\000\004\000\004\000\004\000\004\000\004\000\ \004\000\004\000\004\000\004\000\255\255\255\255\255\255\079\000\ \255\255\255\255\079\000\004\000\004\000\004\000\004\000\004\000\ \004\000\004\000\004\000\004\000\004\000\004\000\004\000\004\000\ \004\000\004\000\004\000\004\000\004\000\004\000\004\000\004\000\ \004\000\004\000\004\000\004\000\004\000\079\000\255\255\079\000\ \255\255\004\000\255\255\004\000\004\000\004\000\004\000\004\000\ \004\000\004\000\004\000\004\000\004\000\004\000\004\000\004\000\ \004\000\004\000\004\000\004\000\004\000\004\000\004\000\004\000\ \004\000\004\000\004\000\004\000\004\000\005\000\255\255\005\000\ \005\000\005\000\005\000\005\000\005\000\005\000\005\000\005\000\ \005\000\007\000\007\000\007\000\007\000\007\000\007\000\007\000\ \007\000\007\000\007\000\255\255\005\000\019\000\019\000\060\000\ \255\255\060\000\255\255\255\255\060\000\060\000\060\000\060\000\ \060\000\060\000\060\000\060\000\060\000\060\000\063\000\063\000\ \063\000\063\000\063\000\063\000\063\000\063\000\255\255\255\255\ \255\255\255\255\255\255\255\255\005\000\255\255\255\255\255\255\ \255\255\019\000\255\255\255\255\255\255\255\255\019\000\007\000\ \255\255\255\255\004\000\004\000\004\000\004\000\004\000\004\000\ \004\000\004\000\004\000\004\000\004\000\004\000\004\000\004\000\ \004\000\004\000\004\000\004\000\004\000\004\000\004\000\004\000\ \004\000\255\255\004\000\004\000\004\000\004\000\004\000\004\000\ \004\000\004\000\004\000\004\000\004\000\004\000\004\000\004\000\ \004\000\004\000\004\000\004\000\004\000\004\000\004\000\004\000\ \004\000\004\000\004\000\004\000\004\000\004\000\004\000\004\000\ \004\000\255\255\004\000\004\000\004\000\004\000\004\000\004\000\ \004\000\004\000\006\000\255\255\006\000\006\000\006\000\006\000\ \006\000\006\000\006\000\006\000\006\000\006\000\089\000\061\000\ \061\000\061\000\061\000\061\000\061\000\061\000\061\000\061\000\ \061\000\006\000\066\000\066\000\066\000\066\000\066\000\066\000\ \066\000\066\000\255\255\255\255\061\000\255\255\255\255\255\255\ \255\255\064\000\064\000\064\000\064\000\064\000\064\000\064\000\ \064\000\064\000\064\000\255\255\255\255\079\000\006\000\255\255\ \255\255\006\000\064\000\064\000\064\000\064\000\064\000\064\000\ \255\255\255\255\255\255\006\000\061\000\255\255\255\255\255\255\ \089\000\255\255\255\255\255\255\006\000\255\255\255\255\065\000\ \065\000\065\000\065\000\065\000\065\000\065\000\065\000\065\000\ \065\000\255\255\064\000\064\000\064\000\064\000\064\000\064\000\ \065\000\065\000\065\000\065\000\065\000\065\000\068\000\068\000\ \068\000\068\000\068\000\068\000\068\000\068\000\068\000\068\000\ \069\000\069\000\069\000\069\000\069\000\069\000\069\000\069\000\ \069\000\069\000\255\255\255\255\255\255\255\255\255\255\255\255\ \065\000\065\000\065\000\065\000\065\000\065\000\070\000\070\000\ \070\000\070\000\070\000\070\000\070\000\070\000\070\000\070\000\ \071\000\072\000\072\000\072\000\072\000\072\000\072\000\072\000\ \072\000\072\000\072\000\255\255\071\000\071\000\071\000\071\000\ \071\000\071\000\071\000\071\000\071\000\071\000\071\000\071\000\ \071\000\071\000\071\000\255\255\255\255\255\255\255\255\255\255\ \255\255\071\000\071\000\071\000\071\000\071\000\071\000\071\000\ \071\000\071\000\071\000\071\000\071\000\071\000\071\000\071\000\ \071\000\071\000\071\000\071\000\071\000\071\000\071\000\071\000\ \071\000\071\000\071\000\255\255\255\255\255\255\255\255\071\000\ \255\255\071\000\071\000\071\000\071\000\071\000\071\000\071\000\ \071\000\071\000\071\000\071\000\071\000\071\000\071\000\071\000\ \071\000\071\000\071\000\071\000\071\000\071\000\071\000\071\000\ \071\000\071\000\071\000\073\000\089\000\255\255\255\255\073\000\ \073\000\073\000\073\000\073\000\073\000\073\000\073\000\073\000\ \073\000\074\000\074\000\074\000\074\000\074\000\074\000\074\000\ \074\000\074\000\074\000\075\000\255\255\255\255\075\000\075\000\ \075\000\075\000\075\000\075\000\075\000\075\000\075\000\075\000\ \076\000\076\000\076\000\076\000\076\000\076\000\076\000\076\000\ \076\000\076\000\077\000\077\000\077\000\077\000\077\000\077\000\ \077\000\077\000\077\000\077\000\092\000\092\000\255\255\092\000\ \092\000\094\000\094\000\094\000\094\000\094\000\094\000\094\000\ \094\000\094\000\094\000\096\000\096\000\092\000\096\000\096\000\ \255\255\255\255\255\255\092\000\255\255\092\000\255\255\255\255\ \255\255\255\255\255\255\255\255\096\000\255\255\255\255\255\255\ \255\255\255\255\096\000\092\000\092\000\092\000\092\000\092\000\ \092\000\092\000\092\000\092\000\092\000\097\000\097\000\097\000\ \097\000\097\000\097\000\097\000\097\000\097\000\097\000\255\255\ \255\255\255\255\255\255\255\255\255\255\255\255\255\255\077\000\ \255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\ \255\255\255\255\255\255\255\255\255\255\255\255\255\255\092\000\ \255\255\255\255\255\255\255\255\255\255\092\000\255\255\255\255\ \255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\ \255\255\092\000\255\255\255\255\255\255\092\000\255\255\092\000\ \255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\ \255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\ \255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\ \255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\ \255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\ \255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\ \255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\ \255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\ \255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\ \255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\ \255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\ \255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\ \255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\ \255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\ \255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\ \255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\ \255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\ \255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\ \255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\ \255\255\255\255\255\255"; Lexing.lex_base_code = ""; Lexing.lex_backtrk_code = ""; Lexing.lex_default_code = ""; Lexing.lex_trans_code = ""; Lexing.lex_check_code = ""; Lexing.lex_code = ""; } 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 -> # 147 "testsuite/tools/lexcmm.mll" ( Lexing.new_line lexbuf; token lexbuf ) # 454 "testsuite/tools/lexcmm.ml" | 1 -> # 149 "testsuite/tools/lexcmm.mll" ( token lexbuf ) # 459 "testsuite/tools/lexcmm.ml" | 2 -> # 150 "testsuite/tools/lexcmm.mll" ( ADDA ) # 464 "testsuite/tools/lexcmm.ml" | 3 -> # 151 "testsuite/tools/lexcmm.mll" ( ADDV ) # 469 "testsuite/tools/lexcmm.ml" | 4 -> # 152 "testsuite/tools/lexcmm.mll" ( ADDF ) # 474 "testsuite/tools/lexcmm.ml" | 5 -> # 153 "testsuite/tools/lexcmm.mll" ( ADDI ) # 479 "testsuite/tools/lexcmm.ml" | 6 -> # 154 "testsuite/tools/lexcmm.mll" ( ASR ) # 484 "testsuite/tools/lexcmm.ml" | 7 -> # 155 "testsuite/tools/lexcmm.mll" ( COLON ) # 489 "testsuite/tools/lexcmm.ml" | 8 -> # 156 "testsuite/tools/lexcmm.mll" ( DIVF ) # 494 "testsuite/tools/lexcmm.ml" | 9 -> # 157 "testsuite/tools/lexcmm.mll" ( DIVI ) # 499 "testsuite/tools/lexcmm.ml" | 10 -> # 158 "testsuite/tools/lexcmm.mll" ( EOF ) # 504 "testsuite/tools/lexcmm.ml" | 11 -> # 159 "testsuite/tools/lexcmm.mll" ( EQA ) # 509 "testsuite/tools/lexcmm.ml" | 12 -> # 160 "testsuite/tools/lexcmm.mll" ( EQF ) # 514 "testsuite/tools/lexcmm.ml" | 13 -> # 161 "testsuite/tools/lexcmm.mll" ( EQI ) # 519 "testsuite/tools/lexcmm.ml" | 14 -> # 162 "testsuite/tools/lexcmm.mll" ( GEA ) # 524 "testsuite/tools/lexcmm.ml" | 15 -> # 163 "testsuite/tools/lexcmm.mll" ( GEF ) # 529 "testsuite/tools/lexcmm.ml" | 16 -> # 164 "testsuite/tools/lexcmm.mll" ( GEI ) # 534 "testsuite/tools/lexcmm.ml" | 17 -> # 165 "testsuite/tools/lexcmm.mll" ( GTA ) # 539 "testsuite/tools/lexcmm.ml" | 18 -> # 166 "testsuite/tools/lexcmm.mll" ( GTF ) # 544 "testsuite/tools/lexcmm.ml" | 19 -> # 167 "testsuite/tools/lexcmm.mll" ( GTI ) # 549 "testsuite/tools/lexcmm.ml" | 20 -> # 168 "testsuite/tools/lexcmm.mll" ( LBRACKET ) # 554 "testsuite/tools/lexcmm.ml" | 21 -> # 169 "testsuite/tools/lexcmm.mll" ( LEA ) # 559 "testsuite/tools/lexcmm.ml" | 22 -> # 170 "testsuite/tools/lexcmm.mll" ( LEF ) # 564 "testsuite/tools/lexcmm.ml" | 23 -> # 171 "testsuite/tools/lexcmm.mll" ( LEI ) # 569 "testsuite/tools/lexcmm.ml" | 24 -> # 172 "testsuite/tools/lexcmm.mll" ( LPAREN ) # 574 "testsuite/tools/lexcmm.ml" | 25 -> # 173 "testsuite/tools/lexcmm.mll" ( LSL ) # 579 "testsuite/tools/lexcmm.ml" | 26 -> # 174 "testsuite/tools/lexcmm.mll" ( LSR ) # 584 "testsuite/tools/lexcmm.ml" | 27 -> # 175 "testsuite/tools/lexcmm.mll" ( LTA ) # 589 "testsuite/tools/lexcmm.ml" | 28 -> # 176 "testsuite/tools/lexcmm.mll" ( LTF ) # 594 "testsuite/tools/lexcmm.ml" | 29 -> # 177 "testsuite/tools/lexcmm.mll" ( LTI ) # 599 "testsuite/tools/lexcmm.ml" | 30 -> # 178 "testsuite/tools/lexcmm.mll" ( MULF ) # 604 "testsuite/tools/lexcmm.ml" | 31 -> # 179 "testsuite/tools/lexcmm.mll" ( STAR ) # 609 "testsuite/tools/lexcmm.ml" | 32 -> # 180 "testsuite/tools/lexcmm.mll" ( NEA ) # 614 "testsuite/tools/lexcmm.ml" | 33 -> # 181 "testsuite/tools/lexcmm.mll" ( NEF ) # 619 "testsuite/tools/lexcmm.ml" | 34 -> # 182 "testsuite/tools/lexcmm.mll" ( NEI ) # 624 "testsuite/tools/lexcmm.ml" | 35 -> # 183 "testsuite/tools/lexcmm.mll" ( NGEF ) # 629 "testsuite/tools/lexcmm.ml" | 36 -> # 184 "testsuite/tools/lexcmm.mll" ( NGTF ) # 634 "testsuite/tools/lexcmm.ml" | 37 -> # 185 "testsuite/tools/lexcmm.mll" ( NLEF ) # 639 "testsuite/tools/lexcmm.ml" | 38 -> # 186 "testsuite/tools/lexcmm.mll" ( NLTF ) # 644 "testsuite/tools/lexcmm.ml" | 39 -> # 187 "testsuite/tools/lexcmm.mll" ( RBRACKET ) # 649 "testsuite/tools/lexcmm.ml" | 40 -> # 188 "testsuite/tools/lexcmm.mll" ( RPAREN ) # 654 "testsuite/tools/lexcmm.ml" | 41 -> # 189 "testsuite/tools/lexcmm.mll" ( SUBF ) # 659 "testsuite/tools/lexcmm.ml" | 42 -> # 190 "testsuite/tools/lexcmm.mll" ( SUBI ) # 664 "testsuite/tools/lexcmm.ml" | 43 -> # 193 "testsuite/tools/lexcmm.mll" ( INTCONST(int_of_string(Lexing.lexeme lexbuf)) ) # 669 "testsuite/tools/lexcmm.ml" | 44 -> # 195 "testsuite/tools/lexcmm.mll" ( FLOATCONST(Lexing.lexeme lexbuf) ) # 674 "testsuite/tools/lexcmm.ml" | 45 -> # 199 "testsuite/tools/lexcmm.mll" ( let s = Lexing.lexeme lexbuf in try Hashtbl.find keyword_table s with Not_found -> IDENT s ) # 683 "testsuite/tools/lexcmm.ml" | 46 -> # 205 "testsuite/tools/lexcmm.mll" ( reset_string_buffer(); string lexbuf; STRING (get_stored_string()) ) # 690 "testsuite/tools/lexcmm.ml" | 47 -> # 209 "testsuite/tools/lexcmm.mll" ( comment_depth := 1; comment lexbuf; token lexbuf ) # 697 "testsuite/tools/lexcmm.ml" | 48 -> # 214 "testsuite/tools/lexcmm.mll" ( let loc_s = Lexing.lexeme lexbuf in let pos_fname, pos_lnum, start, end_ = Scanf.sscanf loc_s "{%s@:%i,%i-%i}" (fun file line start end_ -> (file, line, start, end_)) in let loc_start = Lexing.{ pos_fname; pos_lnum; pos_bol = 0; pos_cnum = start } in let loc_end = Lexing.{ pos_fname; pos_lnum; pos_bol = 0; pos_cnum = end_ } in let location = Location.{ loc_start; loc_end; loc_ghost = false } in LOCATION location ) # 715 "testsuite/tools/lexcmm.ml" | 49 -> # 228 "testsuite/tools/lexcmm.mll" ( raise(Error(Illegal_character)) ) # 720 "testsuite/tools/lexcmm.ml" | __ocaml_lex_state -> lexbuf.Lexing.refill_buff lexbuf; __ocaml_lex_token_rec lexbuf __ocaml_lex_state and comment lexbuf = __ocaml_lex_comment_rec lexbuf 79 and __ocaml_lex_comment_rec lexbuf __ocaml_lex_state = match Lexing.engine __ocaml_lex_tables __ocaml_lex_state lexbuf with | 0 -> # 232 "testsuite/tools/lexcmm.mll" ( comment_depth := succ !comment_depth; comment lexbuf ) # 732 "testsuite/tools/lexcmm.ml" | 1 -> # 234 "testsuite/tools/lexcmm.mll" ( comment_depth := pred !comment_depth; if !comment_depth > 0 then comment lexbuf ) # 738 "testsuite/tools/lexcmm.ml" | 2 -> # 237 "testsuite/tools/lexcmm.mll" ( raise (Error(Unterminated_comment)) ) # 743 "testsuite/tools/lexcmm.ml" | 3 -> # 239 "testsuite/tools/lexcmm.mll" ( Lexing.new_line lexbuf; comment lexbuf ) # 748 "testsuite/tools/lexcmm.ml" | 4 -> # 241 "testsuite/tools/lexcmm.mll" ( comment lexbuf ) # 753 "testsuite/tools/lexcmm.ml" | __ocaml_lex_state -> lexbuf.Lexing.refill_buff lexbuf; __ocaml_lex_comment_rec lexbuf __ocaml_lex_state and string lexbuf = __ocaml_lex_string_rec lexbuf 89 and __ocaml_lex_string_rec lexbuf __ocaml_lex_state = match Lexing.engine __ocaml_lex_tables __ocaml_lex_state lexbuf with | 0 -> # 245 "testsuite/tools/lexcmm.mll" ( () ) # 765 "testsuite/tools/lexcmm.ml" | 1 -> # 247 "testsuite/tools/lexcmm.mll" ( string lexbuf ) # 770 "testsuite/tools/lexcmm.ml" | 2 -> # 249 "testsuite/tools/lexcmm.mll" ( store_string_char(char_for_backslash(Lexing.lexeme_char lexbuf 1)); string lexbuf ) # 776 "testsuite/tools/lexcmm.ml" | 3 -> # 252 "testsuite/tools/lexcmm.mll" ( store_string_char(char_for_decimal_code lexbuf 1); string lexbuf ) # 782 "testsuite/tools/lexcmm.ml" | 4 -> # 255 "testsuite/tools/lexcmm.mll" ( raise (Error(Unterminated_string)) ) # 787 "testsuite/tools/lexcmm.ml" | 5 -> # 257 "testsuite/tools/lexcmm.mll" ( store_string_char(Lexing.lexeme_char lexbuf 0); string lexbuf ) # 793 "testsuite/tools/lexcmm.ml" | __ocaml_lex_state -> lexbuf.Lexing.refill_buff lexbuf; __ocaml_lex_string_rec lexbuf __ocaml_lex_state ;;