# 17 "ocamllex-parser/lex_lexer.mll" open Lex_syntax open Lex_parser (* Auxiliaries for the lexical analyzer *) let brace_depth = ref 0 and comment_depth = ref 0 exception Lexical_error of string * int * int let initial_string_buffer = String.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 >= String.length !string_buff then begin let new_buff = String.create (String.length !string_buff * 2) in String.blit !string_buff 0 new_buff 0 (String.length !string_buff); string_buff := new_buff end; !string_buff.[!string_index] <- c; incr string_index let get_stored_string () = String.sub !string_buff 0 !string_index let char_for_backslash = function 'n' -> '\n' | 't' -> '\t' | 'b' -> '\b' | 'r' -> '\r' | 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)) let line_num = ref 1 let line_start_pos = ref 0 let handle_lexical_error fn lexbuf = let line = !line_num and column = Lexing.lexeme_start lexbuf - !line_start_pos in try fn lexbuf with Lexical_error(msg, _, _) -> raise(Lexical_error(msg, line, column)) let cur_loc lexbuf = { start_pos = Lexing.lexeme_start lexbuf; end_pos = Lexing.lexeme_end lexbuf; start_line = !line_num; start_col = Lexing.lexeme_start lexbuf - !line_start_pos } # 64 "ocamllex-parser/lex_lexer.ml" let __ocaml_lex_tables = { Lexing.lex_base = "\000\000\233\255\234\255\235\255\236\255\237\255\239\255\240\255\ \241\255\242\255\243\255\244\255\245\255\246\255\247\255\004\000\ \251\255\086\000\002\000\254\255\005\000\253\255\170\000\007\000\ \250\255\000\000\008\000\249\255\180\000\019\000\248\255\204\000\ \017\000\034\000\255\255\222\000\021\000\252\255\197\000\023\000\ \243\000\025\000\229\000\036\001\046\001\118\000\042\001\056\001\ \105\001\053\000\087\000\087\000\109\001\093\000\068\001\094\000\ \119\001\105\000"; Lexing.lex_backtrk = "\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\ \255\255\255\255\255\255\255\255\255\255\255\255\255\255\022\000\ \255\255\003\000\017\000\255\255\000\000\255\255\255\255\255\255\ \255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\ \009\000\009\000\255\255\255\255\255\255\255\255\255\255\255\255\ \255\255\255\255\255\255\006\000\255\255\001\000\255\255\255\255\ \255\255\009\000\009\000\009\000\255\255\255\255\255\255\255\255\ \255\255\255\255"; Lexing.lex_default = "\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\ \000\000\000\000\000\000\000\000\000\000\000\000\000\000\023\000\ \000\000\255\255\255\255\000\000\255\255\000\000\255\255\255\255\ \000\000\255\255\255\255\000\000\255\255\255\255\000\000\013\000\ \255\255\036\000\000\000\255\255\255\255\000\000\255\255\255\255\ \255\255\255\255\027\000\255\255\255\255\255\255\255\255\255\255\ \013\000\053\000\255\255\255\255\255\255\255\255\255\255\255\255\ \255\255\255\255"; Lexing.lex_trans = "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\ \000\000\020\000\019\000\000\000\020\000\020\000\020\000\000\000\ \000\000\020\000\020\000\000\000\000\000\000\000\000\000\000\000\ \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\ \020\000\000\000\016\000\000\000\000\000\020\000\000\000\015\000\ \018\000\005\000\008\000\006\000\021\000\003\000\024\000\027\000\ \028\000\028\000\028\000\028\000\028\000\028\000\028\000\028\000\ \028\000\028\000\030\000\027\000\037\000\013\000\016\000\007\000\ \024\000\017\000\017\000\017\000\017\000\017\000\017\000\017\000\ \017\000\017\000\017\000\017\000\017\000\017\000\017\000\017\000\ \017\000\017\000\017\000\017\000\017\000\017\000\017\000\017\000\ \017\000\017\000\017\000\010\000\037\000\009\000\004\000\011\000\ \022\000\017\000\017\000\017\000\017\000\017\000\017\000\017\000\ \017\000\017\000\017\000\017\000\017\000\017\000\017\000\017\000\ \017\000\017\000\017\000\017\000\017\000\017\000\017\000\017\000\ \017\000\017\000\017\000\014\000\012\000\017\000\035\000\045\000\ \019\000\034\000\045\000\045\000\016\000\024\000\017\000\017\000\ \017\000\017\000\017\000\017\000\017\000\017\000\017\000\017\000\ \027\000\052\000\000\000\000\000\000\000\000\000\045\000\017\000\ \017\000\017\000\017\000\017\000\017\000\017\000\017\000\017\000\ \017\000\017\000\017\000\017\000\017\000\017\000\017\000\017\000\ \017\000\017\000\017\000\017\000\017\000\017\000\017\000\017\000\ \017\000\000\000\000\000\000\000\000\000\017\000\000\000\017\000\ \017\000\017\000\017\000\017\000\017\000\017\000\017\000\017\000\ \017\000\017\000\017\000\017\000\017\000\017\000\017\000\017\000\ \017\000\017\000\017\000\017\000\017\000\017\000\017\000\017\000\ \017\000\026\000\000\000\000\000\000\000\000\000\014\000\000\000\ \000\000\000\000\025\000\025\000\025\000\025\000\025\000\025\000\ \025\000\025\000\025\000\025\000\029\000\029\000\029\000\029\000\ \029\000\029\000\029\000\029\000\029\000\029\000\021\000\024\000\ \000\000\000\000\000\000\033\000\032\000\040\000\040\000\040\000\ \040\000\040\000\040\000\040\000\040\000\040\000\040\000\000\000\ \002\000\000\000\000\000\000\000\255\255\039\000\026\000\034\000\ \000\000\000\000\000\000\000\000\026\000\000\000\038\000\038\000\ \038\000\038\000\038\000\038\000\038\000\038\000\038\000\038\000\ \026\000\000\000\000\000\000\000\026\000\000\000\026\000\000\000\ \000\000\000\000\255\255\041\000\041\000\041\000\041\000\041\000\ \041\000\041\000\041\000\041\000\041\000\046\000\045\000\000\000\ \046\000\046\000\000\000\046\000\045\000\255\255\046\000\046\000\ \000\000\000\000\039\000\000\000\000\000\000\000\000\000\000\000\ \039\000\043\000\000\000\000\000\046\000\000\000\021\000\034\000\ \000\000\019\000\046\000\000\000\039\000\000\000\000\000\000\000\ \039\000\000\000\039\000\000\000\044\000\044\000\044\000\044\000\ \044\000\044\000\044\000\044\000\044\000\044\000\047\000\047\000\ \047\000\047\000\047\000\047\000\047\000\047\000\047\000\047\000\ \037\000\037\000\037\000\037\000\037\000\037\000\037\000\037\000\ \037\000\037\000\000\000\014\000\056\000\056\000\056\000\056\000\ \056\000\056\000\056\000\056\000\056\000\056\000\000\000\000\000\ \021\000\000\000\000\000\000\000\000\000\000\000\021\000\000\000\ \000\000\000\000\000\000\021\000\000\000\000\000\000\000\000\000\ \049\000\051\000\021\000\050\000\055\000\000\000\021\000\000\000\ \021\000\000\000\000\000\000\000\000\000\054\000\054\000\054\000\ \054\000\054\000\054\000\054\000\054\000\054\000\054\000\057\000\ \057\000\057\000\057\000\057\000\057\000\057\000\057\000\057\000\ \057\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\ \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\ \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\ \000\000\055\000\000\000\000\000\030\000\000\000\000\000\055\000\ \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\ \000\000\000\000\000\000\055\000\000\000\000\000\000\000\055\000\ \000\000\055\000\000\000\000\000\000\000\016\000\000\000\000\000\ \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\ \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\ \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\ \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\ \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\ \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\ \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\ \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\ \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\ \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\ \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\ \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\ \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\ \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\ \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\ \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\ \000\000\030\000\000\000\000\000\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\020\000\255\255\ \255\255\020\000\020\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\ \000\000\255\255\000\000\255\255\255\255\020\000\255\255\000\000\ \000\000\000\000\000\000\000\000\018\000\000\000\023\000\026\000\ \025\000\025\000\025\000\025\000\025\000\025\000\025\000\025\000\ \025\000\025\000\029\000\032\000\036\000\000\000\039\000\000\000\ \041\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\ \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\ \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\ \000\000\000\000\000\000\000\000\049\000\000\000\000\000\000\000\ \015\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\ \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\ \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\ \000\000\000\000\000\000\000\000\000\000\017\000\033\000\045\000\ \050\000\051\000\045\000\045\000\053\000\055\000\017\000\017\000\ \017\000\017\000\017\000\017\000\017\000\017\000\017\000\017\000\ \057\000\049\000\255\255\255\255\255\255\255\255\045\000\017\000\ \017\000\017\000\017\000\017\000\017\000\017\000\017\000\017\000\ \017\000\017\000\017\000\017\000\017\000\017\000\017\000\017\000\ \017\000\017\000\017\000\017\000\017\000\017\000\017\000\017\000\ \017\000\255\255\255\255\255\255\255\255\017\000\255\255\017\000\ \017\000\017\000\017\000\017\000\017\000\017\000\017\000\017\000\ \017\000\017\000\017\000\017\000\017\000\017\000\017\000\017\000\ \017\000\017\000\017\000\017\000\017\000\017\000\017\000\017\000\ \017\000\022\000\255\255\255\255\255\255\255\255\031\000\255\255\ \255\255\255\255\022\000\022\000\022\000\022\000\022\000\022\000\ \022\000\022\000\022\000\022\000\028\000\028\000\028\000\028\000\ \028\000\028\000\028\000\028\000\028\000\028\000\031\000\042\000\ \255\255\255\255\255\255\031\000\031\000\038\000\038\000\038\000\ \038\000\038\000\038\000\038\000\038\000\038\000\038\000\255\255\ \000\000\255\255\255\255\255\255\015\000\035\000\022\000\042\000\ \255\255\255\255\255\255\255\255\022\000\255\255\035\000\035\000\ \035\000\035\000\035\000\035\000\035\000\035\000\035\000\035\000\ \022\000\255\255\255\255\255\255\022\000\255\255\022\000\255\255\ \255\255\255\255\033\000\040\000\040\000\040\000\040\000\040\000\ \040\000\040\000\040\000\040\000\040\000\043\000\043\000\255\255\ \043\000\043\000\255\255\046\000\046\000\049\000\046\000\046\000\ \255\255\255\255\035\000\255\255\255\255\255\255\255\255\255\255\ \035\000\042\000\255\255\255\255\043\000\255\255\043\000\031\000\ \255\255\031\000\046\000\255\255\035\000\255\255\255\255\255\255\ \035\000\255\255\035\000\255\255\043\000\043\000\043\000\043\000\ \043\000\043\000\043\000\043\000\043\000\043\000\044\000\044\000\ \044\000\044\000\044\000\044\000\044\000\044\000\044\000\044\000\ \047\000\047\000\047\000\047\000\047\000\047\000\047\000\047\000\ \047\000\047\000\255\255\048\000\054\000\054\000\054\000\054\000\ \054\000\054\000\054\000\054\000\054\000\054\000\255\255\255\255\ \043\000\255\255\255\255\255\255\255\255\255\255\043\000\255\255\ \255\255\255\255\255\255\048\000\255\255\255\255\255\255\255\255\ \048\000\048\000\043\000\048\000\052\000\255\255\043\000\255\255\ \043\000\255\255\255\255\255\255\255\255\052\000\052\000\052\000\ \052\000\052\000\052\000\052\000\052\000\052\000\052\000\056\000\ \056\000\056\000\056\000\056\000\056\000\056\000\056\000\056\000\ \056\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\052\000\255\255\255\255\031\000\255\255\255\255\052\000\ \255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\ \255\255\255\255\255\255\052\000\255\255\255\255\255\255\052\000\ \255\255\052\000\255\255\255\255\255\255\042\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\048\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\ "; 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 main lexbuf = __ocaml_lex_main_rec lexbuf 0 and __ocaml_lex_main_rec lexbuf __ocaml_lex_state = match Lexing.engine __ocaml_lex_tables __ocaml_lex_state lexbuf with | 0 -> # 81 "ocamllex-parser/lex_lexer.mll" ( main lexbuf ) # 276 "ocamllex-parser/lex_lexer.ml" | 1 -> # 83 "ocamllex-parser/lex_lexer.mll" ( line_start_pos := Lexing.lexeme_end lexbuf; incr line_num; main lexbuf ) # 283 "ocamllex-parser/lex_lexer.ml" | 2 -> # 87 "ocamllex-parser/lex_lexer.mll" ( comment_depth := 1; handle_lexical_error comment lexbuf; main lexbuf ) # 290 "ocamllex-parser/lex_lexer.ml" | 3 -> # 91 "ocamllex-parser/lex_lexer.mll" ( match Lexing.lexeme lexbuf with "rule" -> Trule | "parse" -> Tparse | "and" -> Tand | "eof" -> Teof | "let" -> Tlet | s -> let l = cur_loc lexbuf in (*i Printf.eprintf "ident '%s' occurs at (%d,%d)\n" s l.start_pos l.end_pos; i*) Tident (s,l) ) # 307 "ocamllex-parser/lex_lexer.ml" | 4 -> # 105 "ocamllex-parser/lex_lexer.mll" ( reset_string_buffer(); handle_lexical_error string lexbuf; Tstring(get_stored_string()) ) # 314 "ocamllex-parser/lex_lexer.ml" | 5 -> # 109 "ocamllex-parser/lex_lexer.mll" ( Tchar(Char.code(Lexing.lexeme_char lexbuf 1)) ) # 319 "ocamllex-parser/lex_lexer.ml" | 6 -> # 111 "ocamllex-parser/lex_lexer.mll" ( Tchar(Char.code(char_for_backslash (Lexing.lexeme_char lexbuf 2))) ) # 324 "ocamllex-parser/lex_lexer.ml" | 7 -> # 113 "ocamllex-parser/lex_lexer.mll" ( Tchar(Char.code(char_for_decimal_code lexbuf 2)) ) # 329 "ocamllex-parser/lex_lexer.ml" | 8 -> # 115 "ocamllex-parser/lex_lexer.mll" ( let n1 = Lexing.lexeme_end lexbuf and l1 = !line_num and s1 = !line_start_pos in brace_depth := 1; let n2 = handle_lexical_error action lexbuf in Taction({start_pos = n1; end_pos = n2; start_line = l1; start_col = n1 - s1}) ) # 340 "ocamllex-parser/lex_lexer.ml" | 9 -> # 122 "ocamllex-parser/lex_lexer.mll" ( Tequal ) # 345 "ocamllex-parser/lex_lexer.ml" | 10 -> # 123 "ocamllex-parser/lex_lexer.mll" ( Tor ) # 350 "ocamllex-parser/lex_lexer.ml" | 11 -> # 124 "ocamllex-parser/lex_lexer.mll" ( Tunderscore ) # 355 "ocamllex-parser/lex_lexer.ml" | 12 -> # 125 "ocamllex-parser/lex_lexer.mll" ( Tlbracket ) # 360 "ocamllex-parser/lex_lexer.ml" | 13 -> # 126 "ocamllex-parser/lex_lexer.mll" ( Trbracket ) # 365 "ocamllex-parser/lex_lexer.ml" | 14 -> # 127 "ocamllex-parser/lex_lexer.mll" ( Tstar ) # 370 "ocamllex-parser/lex_lexer.ml" | 15 -> # 128 "ocamllex-parser/lex_lexer.mll" ( Tmaybe ) # 375 "ocamllex-parser/lex_lexer.ml" | 16 -> # 129 "ocamllex-parser/lex_lexer.mll" ( Tplus ) # 380 "ocamllex-parser/lex_lexer.ml" | 17 -> # 130 "ocamllex-parser/lex_lexer.mll" ( Tlparen ) # 385 "ocamllex-parser/lex_lexer.ml" | 18 -> # 131 "ocamllex-parser/lex_lexer.mll" ( Trparen ) # 390 "ocamllex-parser/lex_lexer.ml" | 19 -> # 132 "ocamllex-parser/lex_lexer.mll" ( Tcaret ) # 395 "ocamllex-parser/lex_lexer.ml" | 20 -> # 133 "ocamllex-parser/lex_lexer.mll" ( Tdash ) # 400 "ocamllex-parser/lex_lexer.ml" | 21 -> # 134 "ocamllex-parser/lex_lexer.mll" ( Tend ) # 405 "ocamllex-parser/lex_lexer.ml" | 22 -> # 136 "ocamllex-parser/lex_lexer.mll" ( raise(Lexical_error ("illegal character " ^ String.escaped(Lexing.lexeme lexbuf), !line_num, Lexing.lexeme_start lexbuf - !line_start_pos)) ) # 412 "ocamllex-parser/lex_lexer.ml" | __ocaml_lex_state -> lexbuf.Lexing.refill_buff lexbuf; __ocaml_lex_main_rec lexbuf __ocaml_lex_state and action lexbuf = __ocaml_lex_action_rec lexbuf 31 and __ocaml_lex_action_rec lexbuf __ocaml_lex_state = match Lexing.engine __ocaml_lex_tables __ocaml_lex_state lexbuf with | 0 -> # 142 "ocamllex-parser/lex_lexer.mll" ( incr brace_depth; action lexbuf ) # 424 "ocamllex-parser/lex_lexer.ml" | 1 -> # 145 "ocamllex-parser/lex_lexer.mll" ( decr brace_depth; if !brace_depth = 0 then Lexing.lexeme_start lexbuf else action lexbuf ) # 430 "ocamllex-parser/lex_lexer.ml" | 2 -> # 148 "ocamllex-parser/lex_lexer.mll" ( reset_string_buffer(); string lexbuf; reset_string_buffer(); action lexbuf ) # 438 "ocamllex-parser/lex_lexer.ml" | 3 -> # 153 "ocamllex-parser/lex_lexer.mll" ( action lexbuf ) # 443 "ocamllex-parser/lex_lexer.ml" | 4 -> # 155 "ocamllex-parser/lex_lexer.mll" ( action lexbuf ) # 448 "ocamllex-parser/lex_lexer.ml" | 5 -> # 157 "ocamllex-parser/lex_lexer.mll" ( action lexbuf ) # 453 "ocamllex-parser/lex_lexer.ml" | 6 -> # 159 "ocamllex-parser/lex_lexer.mll" ( comment_depth := 1; comment lexbuf; action lexbuf ) # 460 "ocamllex-parser/lex_lexer.ml" | 7 -> # 163 "ocamllex-parser/lex_lexer.mll" ( raise (Lexical_error("unterminated action", 0, 0)) ) # 465 "ocamllex-parser/lex_lexer.ml" | 8 -> # 165 "ocamllex-parser/lex_lexer.mll" ( line_start_pos := Lexing.lexeme_end lexbuf; incr line_num; action lexbuf ) # 472 "ocamllex-parser/lex_lexer.ml" | 9 -> # 169 "ocamllex-parser/lex_lexer.mll" ( action lexbuf ) # 477 "ocamllex-parser/lex_lexer.ml" | __ocaml_lex_state -> lexbuf.Lexing.refill_buff lexbuf; __ocaml_lex_action_rec lexbuf __ocaml_lex_state and string lexbuf = __ocaml_lex_string_rec lexbuf 42 and __ocaml_lex_string_rec lexbuf __ocaml_lex_state = match Lexing.engine __ocaml_lex_tables __ocaml_lex_state lexbuf with | 0 -> # 173 "ocamllex-parser/lex_lexer.mll" ( () ) # 488 "ocamllex-parser/lex_lexer.ml" | 1 -> # 175 "ocamllex-parser/lex_lexer.mll" ( line_start_pos := Lexing.lexeme_end lexbuf; incr line_num; string lexbuf ) # 495 "ocamllex-parser/lex_lexer.ml" | 2 -> # 179 "ocamllex-parser/lex_lexer.mll" ( store_string_char(char_for_backslash(Lexing.lexeme_char lexbuf 1)); string lexbuf ) # 501 "ocamllex-parser/lex_lexer.ml" | 3 -> # 182 "ocamllex-parser/lex_lexer.mll" ( store_string_char(char_for_decimal_code lexbuf 1); string lexbuf ) # 507 "ocamllex-parser/lex_lexer.ml" | 4 -> # 185 "ocamllex-parser/lex_lexer.mll" ( raise(Lexical_error("unterminated string", 0, 0)) ) # 512 "ocamllex-parser/lex_lexer.ml" | 5 -> # 187 "ocamllex-parser/lex_lexer.mll" ( store_string_char '\010'; line_start_pos := Lexing.lexeme_end lexbuf; incr line_num; string lexbuf ) # 520 "ocamllex-parser/lex_lexer.ml" | 6 -> # 192 "ocamllex-parser/lex_lexer.mll" ( store_string_char(Lexing.lexeme_char lexbuf 0); string lexbuf ) # 526 "ocamllex-parser/lex_lexer.ml" | __ocaml_lex_state -> lexbuf.Lexing.refill_buff lexbuf; __ocaml_lex_string_rec lexbuf __ocaml_lex_state and comment lexbuf = __ocaml_lex_comment_rec lexbuf 48 and __ocaml_lex_comment_rec lexbuf __ocaml_lex_state = match Lexing.engine __ocaml_lex_tables __ocaml_lex_state lexbuf with | 0 -> # 197 "ocamllex-parser/lex_lexer.mll" ( incr comment_depth; comment lexbuf ) # 537 "ocamllex-parser/lex_lexer.ml" | 1 -> # 199 "ocamllex-parser/lex_lexer.mll" ( decr comment_depth; if !comment_depth = 0 then () else comment lexbuf ) # 543 "ocamllex-parser/lex_lexer.ml" | 2 -> # 202 "ocamllex-parser/lex_lexer.mll" ( reset_string_buffer(); string lexbuf; reset_string_buffer(); comment lexbuf ) # 551 "ocamllex-parser/lex_lexer.ml" | 3 -> # 207 "ocamllex-parser/lex_lexer.mll" ( comment lexbuf ) # 556 "ocamllex-parser/lex_lexer.ml" | 4 -> # 209 "ocamllex-parser/lex_lexer.mll" ( comment lexbuf ) # 561 "ocamllex-parser/lex_lexer.ml" | 5 -> # 211 "ocamllex-parser/lex_lexer.mll" ( comment lexbuf ) # 566 "ocamllex-parser/lex_lexer.ml" | 6 -> # 213 "ocamllex-parser/lex_lexer.mll" ( comment lexbuf ) # 571 "ocamllex-parser/lex_lexer.ml" | 7 -> # 215 "ocamllex-parser/lex_lexer.mll" ( raise(Lexical_error("unterminated comment", 0, 0)) ) # 576 "ocamllex-parser/lex_lexer.ml" | 8 -> # 217 "ocamllex-parser/lex_lexer.mll" ( line_start_pos := Lexing.lexeme_end lexbuf; incr line_num; comment lexbuf ) # 583 "ocamllex-parser/lex_lexer.ml" | 9 -> # 221 "ocamllex-parser/lex_lexer.mll" ( comment lexbuf ) # 588 "ocamllex-parser/lex_lexer.ml" | __ocaml_lex_state -> lexbuf.Lexing.refill_buff lexbuf; __ocaml_lex_comment_rec lexbuf __ocaml_lex_state ;;