# 1 "bnf_lexer.mll" open Lexing open Bnf_parser let id x = x # 9 "bnf_lexer.ml" let __ocaml_lex_tables = { Lexing.lex_base = "\000\000\248\255\249\255\250\255\000\000\252\255\253\255\254\255\ \005\000\251\255\001\000\002\000\004\000\255\255"; Lexing.lex_backtrk = "\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\ \000\000\255\255\255\255\003\000\255\255\255\255"; Lexing.lex_default = "\255\255\000\000\000\000\000\000\255\255\000\000\000\000\000\000\ \255\255\000\000\011\000\011\000\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\008\000\008\000\000\000\000\000\008\000\008\000\008\000\ \000\000\000\000\008\000\000\000\000\000\000\000\000\000\000\000\ \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\ \008\000\000\000\005\000\013\000\255\255\008\000\006\000\000\000\ \000\000\000\000\000\000\000\000\000\000\000\000\002\000\000\000\ \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\ \000\000\000\000\004\000\000\000\007\000\009\000\006\000\000\000\ \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\ \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\ \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\ \000\000\000\000\000\000\000\000\000\000\012\000\255\255\000\000\ \007\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\ \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\ \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\ \000\000\000\000\000\000\000\000\003\000\000\000\000\000\000\000\ \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\ \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\ \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\ \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\ \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\ \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\ \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\ \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\ \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\ \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\ \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\ \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\ \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\ \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\ \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\ \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\ \001\000\009\000\255\255\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\255\255\000\000\008\000\008\000\ \255\255\255\255\008\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\010\000\011\000\008\000\012\000\255\255\ \255\255\255\255\255\255\255\255\255\255\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\000\000\255\255\000\000\004\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\255\255\255\255\255\255\255\255\255\255\255\255\255\255\ \255\255\255\255\255\255\255\255\255\255\010\000\011\000\255\255\ \012\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\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\255\255\ \255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\ \255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\ \255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\ \255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\ \255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\ \255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\ \255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\ \255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\ \255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\ \255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\ \255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\ \255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\ \255\255\255\255\255\255\255\255\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\010\000\011\000\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 start lexbuf = __ocaml_lex_start_rec lexbuf 0 and __ocaml_lex_start_rec lexbuf __ocaml_lex_state = match Lexing.engine __ocaml_lex_tables __ocaml_lex_state lexbuf with | 0 -> # 12 "bnf_lexer.mll" ( start lexbuf ) # 109 "bnf_lexer.ml" | 1 -> # 13 "bnf_lexer.mll" ( LBRACK ) # 114 "bnf_lexer.ml" | 2 -> # 14 "bnf_lexer.mll" ( RBRACK ) # 119 "bnf_lexer.ml" | 3 -> # 16 "bnf_lexer.mll" ( let estr = String.concat "" ("\"" :: esc_string lexbuf) in ID (Scanf.sscanf estr "%S" id) ) # 127 "bnf_lexer.ml" | 4 -> # 20 "bnf_lexer.mll" ( DEF ) # 132 "bnf_lexer.ml" | 5 -> # 21 "bnf_lexer.mll" ( PIPE ) # 137 "bnf_lexer.ml" | 6 -> # 22 "bnf_lexer.mll" ( DOT ) # 142 "bnf_lexer.ml" | 7 -> # 23 "bnf_lexer.mll" ( EOF ) # 147 "bnf_lexer.ml" | __ocaml_lex_state -> lexbuf.Lexing.refill_buff lexbuf; __ocaml_lex_start_rec lexbuf __ocaml_lex_state and esc_string lexbuf = __ocaml_lex_esc_string_rec lexbuf 10 and __ocaml_lex_esc_string_rec lexbuf __ocaml_lex_state = match Lexing.engine __ocaml_lex_tables __ocaml_lex_state lexbuf with | 0 -> # 26 "bnf_lexer.mll" ( ["\""] ) # 158 "bnf_lexer.ml" | 1 -> # 27 "bnf_lexer.mll" ( "\\\\" :: esc_string lexbuf ) # 163 "bnf_lexer.ml" | 2 -> # 28 "bnf_lexer.mll" ( "\\\"" :: esc_string lexbuf ) # 168 "bnf_lexer.ml" | 3 -> let str = Lexing.sub_lexeme lexbuf lexbuf.Lexing.lex_start_pos lexbuf.Lexing.lex_curr_pos in # 29 "bnf_lexer.mll" ( str :: esc_string lexbuf ) # 175 "bnf_lexer.ml" | 4 -> # 30 "bnf_lexer.mll" ( failwith "bnf_lexer: eof in string" ) # 180 "bnf_lexer.ml" | __ocaml_lex_state -> lexbuf.Lexing.refill_buff lexbuf; __ocaml_lex_esc_string_rec lexbuf __ocaml_lex_state ;;