# 26 "odiff/odiff_lexer.mll"
open Lexing
open Odiff_parser
let print_DEBUG s = ()
let line = ref 0
# 23 "odiff/odiff_lexer.ml"
let __ocaml_lex_tables = {
Lexing.lex_base =
"\000\000\001\000\246\255\247\255\248\255\249\255\000\000\001\000\015\000\254\255\002\000\000\000\000\000\003\000\000\000\000\000\000\000\000\000\000\000\002\000\001\000\004\000\001\000\000\000\005\000\002\000\003\000\004\000\006\000\003\000\004\000\007\000\005\000\004\000\007\000\016\000\001\000\031\000H\000\002\000\003\000\002\000\245\255";
Lexing.lex_backtrk =
"\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\003\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\002\000\004\000\005\000\255\255\255\255";
Lexing.lex_default =
"\255\255\255\255\000\000\000\000\000\000\000\000\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$\000\255\255\255\255'\000(\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\000\000\t\000\255\255\255\255\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\011\000\014\000\022\000\025\000\029\000 \000\000\000\000\000\000\000\000\000\000\000\001\000)\000*\000\008\000\008\000\008\000\008\000\008\000\008\000\008\000\008\000\008\000\008\000\000\000%\000\007\000\000\000\006\000\008\000\008\000\008\000\008\000\008\000\008\000\008\000\008\000\008\000\008\000\000\000\000\000\000\000\000\000\000\000\012\000&\000&\000&\000&\000&\000&\000&\000&\000&\000&\000\000\000\000\000\000\000\n\000\000\000\000\000\000\000\000\000\005\000\023\000\003\000\004\000\016\000\021\000\026\000\028\000\019\000\031\000!\000\018\000\"\000\015\000\013\000\020\000\027\000\030\000#\000\024\000$\000\000\000\017\000&\000&\000&\000&\000&\000&\000&\000&\000&\000&\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\255\255\255\255\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\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\255\255\000\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\006\000\007\000\n\000\013\000\021\000\024\000\028\000\031\000\255\255\255\255\255\255\255\255\255\255\000\000\001\000)\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\255\255\008\000\000\000\255\255\000\000\008\000\008\000\008\000\008\000\008\000\008\000\008\000\008\000\008\000\008\000\255\255\255\255\255\255\255\255\255\255\011\000%\000%\000%\000%\000%\000%\000%\000%\000%\000%\000\255\255\255\255\255\255\000\000\255\255\255\255\255\255\255\255\000\000\022\000\000\000\000\000\015\000\020\000\025\000\027\000\018\000\030\000 \000\017\000!\000\014\000\012\000\019\000\026\000\029\000\"\000\023\000#\000\255\255\016\000&\000&\000&\000&\000&\000&\000&\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\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\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$\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\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\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 ->
# 52 "odiff/odiff_lexer.mll"
(
main lexbuf
)
# 155 "odiff/odiff_lexer.ml"
| 1 ->
# 56 "odiff/odiff_lexer.mll"
(
incr line ;
main lexbuf
)
# 163 "odiff/odiff_lexer.ml"
| 2 ->
# 61 "odiff/odiff_lexer.mll"
(
try
let s = Lexing.lexeme lexbuf in
print_DEBUG s ;
let n = String.index s ',' in
let s1 = String.sub s 0 n in
let s2 = String.sub s (n+1) ((String.length s) - n - 1) in
IndexMany (int_of_string s1, int_of_string s2)
with
Not_found ->
raise (Failure "zarbi")
)
# 179 "odiff/odiff_lexer.ml"
| 3 ->
# 74 "odiff/odiff_lexer.mll"
(
let s = Lexing.lexeme lexbuf in
print_DEBUG s ;
IndexOne (int_of_string s) )
# 187 "odiff/odiff_lexer.ml"
| 4 ->
# 79 "odiff/odiff_lexer.mll"
(
let s = Lexing.lexeme lexbuf in
print_DEBUG s ;
DeletedString (String.sub s 2 ((String.length s) -2))
)
# 196 "odiff/odiff_lexer.ml"
| 5 ->
# 86 "odiff/odiff_lexer.mll"
(
let s = Lexing.lexeme lexbuf in
print_DEBUG s ;
AddedString (String.sub s 2 ((String.length s) -2))
)
# 205 "odiff/odiff_lexer.ml"
| 6 ->
# 93 "odiff/odiff_lexer.mll"
(
print_DEBUG "a" ;
ADD
)
# 213 "odiff/odiff_lexer.ml"
| 7 ->
# 98 "odiff/odiff_lexer.mll"
(
print_DEBUG "d" ;
DELETE
)
# 221 "odiff/odiff_lexer.ml"
| 8 ->
# 103 "odiff/odiff_lexer.mll"
(
print_DEBUG "c" ;
CHANGE
)
# 229 "odiff/odiff_lexer.ml"
| 9 ->
# 109 "odiff/odiff_lexer.mll"
( EOF )
# 234 "odiff/odiff_lexer.ml"
| 10 ->
# 112 "odiff/odiff_lexer.mll"
( SEP )
# 239 "odiff/odiff_lexer.ml"
| __ocaml_lex_state -> lexbuf.Lexing.refill_buff lexbuf; __ocaml_lex_main_rec lexbuf __ocaml_lex_state
;;