
000001| # 1 "src/scanner.mll"

000002|

000003| (** Autogenerated scanner module *)

000004|

000005| module P = Parser (* tokens are defined here *)

000006|

000007| exception Scan of string

000008|

000009| let error msg pos = Error.error "Scanner error" msg pos

000010|

000011| let get = Lexing.lexeme

000012| let getchar = Lexing.lexeme_char

000013| let strlen = String.length

000014| let pos_start = Lexing.lexeme_start

000015| let pos_end = Lexing.lexeme_end

000016|

000017| let keywords = Hashtbl.create 27

000018| let keyword s = Hashtbl.find keywords s

000019| let _ = Array.iter (fun (str,tok) -> Hashtbl.add keywords str tok)

000020| [| ("and" , P.AND)

000021| ; ("break" , P.BREAK)

000022| ; ("case" , P.CASE)

000023| ; ("do" , P.DO)

000024| ; ("else" , P.ELSE)

000025| ; ("elseif" , P.ELSEIF)

000026| ; ("end" , P.END)

000027| ; ("for" , P.FOR)

000028| ; ("function" , P.FUNCTION)

000029| ; ("globmatch" , P.GLOBMATCH)

000030| ; ("goto" , P.GOTO)

000031| ; ("if" , P.IF)

000032| ; ("in" , P.IN)

000033| ; ("local" , P.LOCAL)

000034| ; ("nil" , P.NIL)

000035| ; ("true" , P.TRUE)

000036| ; ("false" , P.FALSE)

000037| ; ("not" , P.NOT)

000038| ; ("of" , P.OF)

000039| ; ("or" , P.OR)

000040| ; ("repeat" , P.REPEAT)

000041| ; ("return" , P.RETURN)

000042| ; ("then" , P.THEN)

000043| ; ("until" , P.UNTIL)

000044| ; ("while" , P.WHILE)

000045| |]

000046|

000047|

000048| # 49 "src/scanner.ml"

000049| let __ocaml_lex_tables = {

000050| Lexing.lex_base =

000051| "\000\000\215\255\217\255\218\255\222\255\223\255\224\255\225\255\

000052| \063\000\230\255\231\255\232\255\233\255\234\255\018\000\237\255\

000053| \238\255\239\255\240\255\241\255\003\000\031\000\066\000\035\000\

000054| \083\000\095\000\117\000\192\000\253\255\006\000\146\000\255\255\

000055| \158\000\011\001\021\001\076\001\174\000\044\001\054\001\099\001\

000056| \109\001\084\000\131\001\153\001\163\001\173\001\247\255\246\255\

000057| \244\255\245\255\243\255\242\255\103\001\167\000\220\255\169\000\

000058| \092\000\221\255\216\255\096\000\242\000\252\255\097\000\254\255\

000059| \001\000\255\255\253\255\099\000\104\001\251\255\192\000\158\001\

000060| \051\000\100\000\255\255\254\255\101\000\253\255\221\001\249\255\

000061| \223\001\215\001\254\255\255\255\251\255\225\001\239\001\021\002\

000062| \253\255\044\002\252\255";

000063| Lexing.lex_backtrk =

000064| "\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\

000065| \029\000\255\255\255\255\255\255\255\255\255\255\019\000\255\255\

000066| \255\255\255\255\255\255\255\255\040\000\028\000\027\000\026\000\

000067| \020\000\004\000\004\000\003\000\255\255\001\000\001\000\255\255\

000068| \255\255\006\000\255\255\005\000\255\255\006\000\255\255\006\000\

000069| \255\255\007\000\006\000\255\255\006\000\255\255\255\255\255\255\

000070| \255\255\255\255\255\255\255\255\255\255\036\000\255\255\035\000\

000071| \255\255\255\255\255\255\255\255\255\255\255\255\003\000\255\255\

000072| \001\000\255\255\255\255\255\255\255\255\255\255\003\000\003\000\

000073| \003\000\003\000\255\255\255\255\255\255\255\255\255\255\255\255\

000074| \005\000\007\000\255\255\255\255\255\255\003\000\004\000\255\255\

000075| \255\255\003\000\255\255";

000076| Lexing.lex_default =

000077| "\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\

000078| \255\255\000\000\000\000\000\000\000\000\000\000\255\255\000\000\

000079| \000\000\000\000\000\000\000\000\255\255\255\255\255\255\255\255\

000080| \255\255\255\255\255\255\255\255\000\000\255\255\255\255\000\000\

000081| \255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\

000082| \255\255\255\255\255\255\255\255\255\255\255\255\000\000\000\000\

000083| \000\000\000\000\000\000\000\000\053\000\053\000\000\000\053\000\

000084| \255\255\000\000\000\000\255\255\061\000\000\000\255\255\000\000\

000085| \255\255\000\000\000\000\255\255\070\000\000\000\070\000\070\000\

000086| \255\255\255\255\000\000\000\000\255\255\000\000\080\000\000\000\

000087| \080\000\084\000\000\000\000\000\000\000\255\255\255\255\255\255\

000088| \000\000\255\255\000\000";

000089| Lexing.lex_trans =

000090| "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\

000091| \000\000\029\000\028\000\063\000\000\000\030\000\000\000\029\000\

000092| \000\000\000\000\000\000\029\000\000\000\000\000\000\000\000\000\

000093| \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\

000094| \029\000\000\000\002\000\013\000\000\000\011\000\029\000\003\000\

000095| \019\000\018\000\017\000\016\000\015\000\014\000\024\000\012\000\

000096| \026\000\025\000\025\000\025\000\025\000\025\000\025\000\025\000\

000097| \025\000\025\000\010\000\009\000\023\000\022\000\021\000\052\000\

000098| \051\000\027\000\027\000\027\000\027\000\027\000\027\000\027\000\

000099| \027\000\027\000\027\000\027\000\027\000\027\000\027\000\027\000\

000100| \027\000\027\000\027\000\027\000\027\000\027\000\027\000\027\000\

000101| \027\000\027\000\027\000\008\000\050\000\007\000\006\000\027\000\

000102| \047\000\027\000\027\000\027\000\027\000\027\000\027\000\027\000\

000103| \027\000\027\000\027\000\027\000\027\000\027\000\027\000\027\000\

000104| \027\000\027\000\027\000\027\000\027\000\027\000\027\000\027\000\

000105| \027\000\027\000\027\000\005\000\059\000\004\000\020\000\049\000\

000106| \048\000\041\000\046\000\042\000\042\000\042\000\042\000\042\000\

000107| \042\000\042\000\042\000\042\000\042\000\033\000\077\000\025\000\

000108| \025\000\025\000\025\000\025\000\025\000\025\000\025\000\025\000\

000109| \025\000\056\000\058\000\029\000\028\000\059\000\067\000\029\000\

000110| \067\000\076\000\076\000\033\000\032\000\025\000\025\000\025\000\

000111| \025\000\025\000\025\000\025\000\025\000\025\000\025\000\000\000\

000112| \000\000\255\255\029\000\054\000\000\000\000\000\000\000\057\000\

000113| \000\000\000\000\032\000\058\000\000\000\000\000\066\000\000\000\

000114| \066\000\075\000\075\000\000\000\032\000\000\000\000\000\000\000\

000115| \000\000\040\000\255\255\040\000\000\000\034\000\039\000\039\000\

000116| \039\000\039\000\039\000\039\000\039\000\039\000\039\000\039\000\

000117| \000\000\038\000\032\000\038\000\000\000\000\000\037\000\037\000\

000118| \037\000\037\000\037\000\037\000\037\000\037\000\037\000\037\000\

000119| \000\000\000\000\000\000\000\000\000\000\034\000\000\000\000\000\

000120| \027\000\027\000\027\000\027\000\027\000\027\000\027\000\027\000\

000121| \027\000\027\000\000\000\000\000\063\000\000\000\000\000\064\000\

000122| \031\000\027\000\027\000\027\000\027\000\027\000\027\000\027\000\

000123| \027\000\027\000\027\000\027\000\027\000\027\000\027\000\027\000\

000124| \027\000\027\000\027\000\027\000\027\000\027\000\027\000\027\000\

000125| \027\000\027\000\027\000\255\255\000\000\255\255\000\000\027\000\

000126| \000\000\027\000\027\000\027\000\027\000\027\000\027\000\027\000\

000127| \027\000\027\000\027\000\027\000\027\000\027\000\027\000\027\000\

000128| \027\000\027\000\027\000\027\000\027\000\027\000\027\000\027\000\

000129| \027\000\027\000\027\000\033\000\033\000\033\000\033\000\033\000\

000130| \033\000\033\000\033\000\033\000\033\000\035\000\035\000\035\000\

000131| \035\000\035\000\035\000\035\000\035\000\035\000\035\000\062\000\

000132| \036\000\000\000\000\000\000\000\000\000\000\000\035\000\035\000\

000133| \035\000\035\000\035\000\035\000\037\000\037\000\037\000\037\000\

000134| \037\000\037\000\037\000\037\000\037\000\037\000\037\000\037\000\

000135| \037\000\037\000\037\000\037\000\037\000\037\000\037\000\037\000\

000136| \036\000\054\000\069\000\000\000\055\000\071\000\035\000\035\000\

000137| \035\000\035\000\035\000\035\000\035\000\035\000\035\000\035\000\

000138| \035\000\035\000\035\000\035\000\035\000\035\000\000\000\000\000\

000139| \000\000\000\000\000\000\000\000\000\000\035\000\035\000\035\000\

000140| \035\000\035\000\035\000\039\000\039\000\039\000\039\000\039\000\

000141| \039\000\039\000\039\000\039\000\039\000\039\000\039\000\039\000\

000142| \039\000\039\000\039\000\039\000\039\000\039\000\039\000\255\255\

000143| \069\000\255\255\000\000\000\000\000\000\035\000\035\000\035\000\

000144| \035\000\035\000\035\000\042\000\042\000\042\000\042\000\042\000\

000145| \042\000\042\000\042\000\042\000\042\000\000\000\000\000\000\000\

000146| \255\255\000\000\056\000\072\000\045\000\073\000\045\000\000\000\

000147| \043\000\044\000\044\000\044\000\044\000\044\000\044\000\044\000\

000148| \044\000\044\000\044\000\044\000\044\000\044\000\044\000\044\000\

000149| \044\000\044\000\044\000\044\000\044\000\044\000\044\000\044\000\

000150| \044\000\044\000\044\000\044\000\044\000\044\000\044\000\082\000\

000151| \043\000\255\255\000\000\000\000\000\000\000\000\000\000\000\000\

000152| \000\000\000\000\065\000\000\000\000\000\000\000\000\000\000\000\

000153| \000\000\255\255\000\000\255\255\000\000\000\000\000\000\079\000\

000154| \000\000\255\255\000\000\000\000\079\000\000\000\255\255\085\000\

000155| \085\000\085\000\085\000\085\000\085\000\085\000\085\000\085\000\

000156| \085\000\089\000\089\000\089\000\089\000\089\000\089\000\089\000\

000157| \089\000\089\000\089\000\000\000\000\000\000\000\000\000\087\000\

000158| \087\000\087\000\087\000\087\000\087\000\087\000\087\000\087\000\

000159| \087\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\

000160| \087\000\087\000\087\000\087\000\087\000\087\000\000\000\000\000\

000161| \000\000\081\000\000\000\255\255\000\000\000\000\000\000\000\000\

000162| \000\000\000\000\000\000\000\000\000\000\088\000\088\000\088\000\

000163| \088\000\088\000\088\000\088\000\088\000\088\000\088\000\086\000\

000164| \087\000\087\000\087\000\087\000\087\000\087\000\088\000\088\000\

000165| \088\000\088\000\088\000\088\000\090\000\090\000\090\000\090\000\

000166| \090\000\090\000\090\000\090\000\090\000\090\000\000\000\255\255\

000167| \074\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\

000168| \000\000\000\000\000\000\000\000\000\000\000\000\088\000\088\000\

000169| \088\000\088\000\088\000\088\000\000\000\000\000\000\000\000\000\

000170| \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\

000171| \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\

000172| \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\

000173| \000\000\000\000\000\000\000\000\000\000\000\000\255\255\000\000\

000174| \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\

000175| \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\

000176| \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\

000177| \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\

000178| \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\

000179| \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\

000180| \000\000\000\000\000\000\000\000\000\000\000\000\000\000\255\255\

000181| \000\000\000\000\000\000\000\000\000\000\083\000\000\000\255\255\

000182| \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\

000183| \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\

000184| \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\

000185| \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\

000186| \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\

000187| \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\

000188| \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\

000189| \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\

000190| \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\

000191| \000\000\000\000\000\000\000\000\000\000";

000192| Lexing.lex_check =

000193| "\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\

000194| \255\255\000\000\000\000\064\000\255\255\000\000\255\255\029\000\

000195| \255\255\255\255\255\255\029\000\255\255\255\255\255\255\255\255\

000196| \255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\

000197| \000\000\255\255\000\000\000\000\255\255\000\000\029\000\000\000\

000198| \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\

000199| \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\

000200| \000\000\000\000\000\000\000\000\000\000\000\000\000\000\014\000\

000201| \020\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\

000202| \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\

000203| \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\

000204| \000\000\000\000\000\000\000\000\021\000\000\000\000\000\000\000\

000205| \023\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\

000206| \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\

000207| \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\

000208| \000\000\000\000\000\000\000\000\008\000\000\000\000\000\022\000\

000209| \022\000\024\000\041\000\024\000\024\000\024\000\024\000\024\000\

000210| \024\000\024\000\024\000\024\000\024\000\025\000\072\000\025\000\

000211| \025\000\025\000\025\000\025\000\025\000\025\000\025\000\025\000\

000212| \025\000\056\000\008\000\030\000\030\000\059\000\062\000\030\000\

000213| \067\000\073\000\076\000\026\000\025\000\026\000\026\000\026\000\

000214| \026\000\026\000\026\000\026\000\026\000\026\000\026\000\255\255\

000215| \255\255\053\000\030\000\055\000\255\255\255\255\255\255\056\000\

000216| \255\255\255\255\026\000\059\000\255\255\255\255\062\000\255\255\

000217| \067\000\073\000\076\000\255\255\025\000\255\255\255\255\255\255\

000218| \255\255\032\000\070\000\032\000\255\255\026\000\032\000\032\000\

000219| \032\000\032\000\032\000\032\000\032\000\032\000\032\000\032\000\

000220| \255\255\036\000\026\000\036\000\255\255\255\255\036\000\036\000\

000221| \036\000\036\000\036\000\036\000\036\000\036\000\036\000\036\000\

000222| \255\255\255\255\255\255\255\255\255\255\026\000\255\255\255\255\

000223| \027\000\027\000\027\000\027\000\027\000\027\000\027\000\027\000\

000224| \027\000\027\000\255\255\255\255\060\000\255\255\255\255\060\000\

000225| \000\000\027\000\027\000\027\000\027\000\027\000\027\000\027\000\

000226| \027\000\027\000\027\000\027\000\027\000\027\000\027\000\027\000\

000227| \027\000\027\000\027\000\027\000\027\000\027\000\027\000\027\000\

000228| \027\000\027\000\027\000\070\000\255\255\070\000\255\255\027\000\

000229| \255\255\027\000\027\000\027\000\027\000\027\000\027\000\027\000\

000230| \027\000\027\000\027\000\027\000\027\000\027\000\027\000\027\000\

000231| \027\000\027\000\027\000\027\000\027\000\027\000\027\000\027\000\

000232| \027\000\027\000\027\000\033\000\033\000\033\000\033\000\033\000\

000233| \033\000\033\000\033\000\033\000\033\000\034\000\034\000\034\000\

000234| \034\000\034\000\034\000\034\000\034\000\034\000\034\000\060\000\

000235| \033\000\255\255\255\255\255\255\255\255\255\255\034\000\034\000\

000236| \034\000\034\000\034\000\034\000\037\000\037\000\037\000\037\000\

000237| \037\000\037\000\037\000\037\000\037\000\037\000\038\000\038\000\

000238| \038\000\038\000\038\000\038\000\038\000\038\000\038\000\038\000\

000239| \033\000\052\000\068\000\255\255\052\000\068\000\034\000\034\000\

000240| \034\000\034\000\034\000\034\000\035\000\035\000\035\000\035\000\

000241| \035\000\035\000\035\000\035\000\035\000\035\000\255\255\255\255\

000242| \255\255\255\255\255\255\255\255\255\255\035\000\035\000\035\000\

000243| \035\000\035\000\035\000\039\000\039\000\039\000\039\000\039\000\

000244| \039\000\039\000\039\000\039\000\039\000\040\000\040\000\040\000\

000245| \040\000\040\000\040\000\040\000\040\000\040\000\040\000\053\000\

000246| \071\000\055\000\255\255\255\255\255\255\035\000\035\000\035\000\

000247| \035\000\035\000\035\000\042\000\042\000\042\000\042\000\042\000\

000248| \042\000\042\000\042\000\042\000\042\000\255\255\255\255\255\255\

000249| \070\000\255\255\052\000\068\000\043\000\068\000\043\000\255\255\

000250| \042\000\043\000\043\000\043\000\043\000\043\000\043\000\043\000\

000251| \043\000\043\000\043\000\044\000\044\000\044\000\044\000\044\000\

000252| \044\000\044\000\044\000\044\000\044\000\045\000\045\000\045\000\

000253| \045\000\045\000\045\000\045\000\045\000\045\000\045\000\078\000\

000254| \042\000\080\000\255\255\255\255\255\255\255\255\255\255\255\255\

000255| \255\255\255\255\060\000\255\255\255\255\255\255\255\255\255\255\

000256| \255\255\071\000\255\255\071\000\255\255\255\255\255\255\078\000\

000257| \255\255\080\000\255\255\255\255\078\000\255\255\080\000\081\000\

000258| \081\000\081\000\081\000\081\000\081\000\081\000\081\000\081\000\

000259| \081\000\085\000\085\000\085\000\085\000\085\000\085\000\085\000\

000260| \085\000\085\000\085\000\255\255\255\255\255\255\255\255\086\000\

000261| \086\000\086\000\086\000\086\000\086\000\086\000\086\000\086\000\

000262| \086\000\255\255\255\255\255\255\255\255\255\255\255\255\255\255\

000263| \086\000\086\000\086\000\086\000\086\000\086\000\255\255\255\255\

000264| \255\255\078\000\255\255\080\000\255\255\255\255\255\255\255\255\

000265| \255\255\255\255\255\255\255\255\255\255\087\000\087\000\087\000\

000266| \087\000\087\000\087\000\087\000\087\000\087\000\087\000\081\000\

000267| \086\000\086\000\086\000\086\000\086\000\086\000\087\000\087\000\

000268| \087\000\087\000\087\000\087\000\089\000\089\000\089\000\089\000\

000269| \089\000\089\000\089\000\089\000\089\000\089\000\255\255\052\000\

000270| \068\000\255\255\255\255\255\255\255\255\255\255\255\255\255\255\

000271| \255\255\255\255\255\255\255\255\255\255\255\255\087\000\087\000\

000272| \087\000\087\000\087\000\087\000\255\255\255\255\255\255\255\255\

000273| \255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\

000274| \255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\

000275| \255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\

000276| \255\255\255\255\255\255\255\255\255\255\255\255\071\000\255\255\

000277| \255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\

000278| \255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\

000279| \255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\

000280| \255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\

000281| \255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\

000282| \255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\

000283| \255\255\255\255\255\255\255\255\255\255\255\255\255\255\081\000\

000284| \255\255\255\255\255\255\255\255\255\255\078\000\255\255\080\000\

000285| \255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\

000286| \255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\

000287| \255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\

000288| \255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\

000289| \255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\

000290| \255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\

000291| \255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\

000292| \255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\

000293| \255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\

000294| \255\255\255\255\255\255\255\255\255\255";

000295| Lexing.lex_base_code =

000296| "";

000297| Lexing.lex_backtrk_code =

000298| "";

000299| Lexing.lex_default_code =

000300| "";

000301| Lexing.lex_trans_code =

000302| "";

000303| Lexing.lex_check_code =

000304| "";

000305| Lexing.lex_code =

000306| "";

000307| }

000308|

000309| let rec token lexbuf =

000310| (*[9890]*)__ocaml_lex_token_rec lexbuf 0

000311| and __ocaml_lex_token_rec lexbuf __ocaml_lex_state =

000312| match Lexing.engine __ocaml_lex_tables __ocaml_lex_state lexbuf with

000313| | 0 ->

000314| # 75 "src/scanner.mll"

000315| ( P.EOF )

000316| # 317 "src/scanner.ml"

000317|

000318| | 1 ->

000319| # 76 "src/scanner.mll"

000320| ( token lexbuf )

000321| # 322 "src/scanner.ml"

000322|

000323| | 2 ->

000324| # 77 "src/scanner.mll"

000325| ( Lexing.new_line lexbuf; token lexbuf )

000326| # 327 "src/scanner.ml"

000327|

000328| | 3 ->

000329| # 78 "src/scanner.mll"

000330| ( let s = get lexbuf in

000331| try keyword s with Not_found -> P.NAME s

000332| )

000333| # 334 "src/scanner.ml"

000334|

000335| | 4 ->

000336| # 81 "src/scanner.mll"

000337| ( let s = get lexbuf in P.NUMBER (Ast.Int (int_of_string s)) )

000338| # 339 "src/scanner.ml"

000339|

000340| | 5 ->

000341| # 82 "src/scanner.mll"

000342| ( let s = get lexbuf in P.NUMBER (Ast.Hex (int_of_string s)) )

000343| # 344 "src/scanner.ml"

000344|

000345| | 6 ->

000346| # 83 "src/scanner.mll"

000347| ( let s = get lexbuf in P.NUMBER (Ast.Float (float_of_string s)) )

000348| # 349 "src/scanner.ml"

000349|

000350| | 7 ->

000351| # 85 "src/scanner.mll"

000352| ( P.CONC )

000353| # 354 "src/scanner.ml"

000354|

000355| | 8 ->

000356| # 86 "src/scanner.mll"

000357| ( P.DOTS )

000358| # 359 "src/scanner.ml"

000359|

000360| | 9 ->

000361| # 87 "src/scanner.mll"

000362| ( P.LE )

000363| # 364 "src/scanner.ml"

000364|

000365| | 10 ->

000366| # 88 "src/scanner.mll"

000367| ( P.EQ )

000368| # 369 "src/scanner.ml"

000369|

000370| | 11 ->

000371| # 89 "src/scanner.mll"

000372| ( P.ARROW )

000373| # 374 "src/scanner.ml"

000374|

000375| | 12 ->

000376| # 90 "src/scanner.mll"

000377| ( P.GE )

000378| # 379 "src/scanner.ml"

000379|

000380| | 13 ->

000381| # 91 "src/scanner.mll"

000382| ( P.NE )

000383| # 384 "src/scanner.ml"

000384|

000385| | 14 ->

000386| # 92 "src/scanner.mll"

000387| ( P.LPAR )

000388| # 389 "src/scanner.ml"

000389|

000390| | 15 ->

000391| # 93 "src/scanner.mll"

000392| ( P.RPAR )

000393| # 394 "src/scanner.ml"

000394|

000395| | 16 ->

000396| # 94 "src/scanner.mll"

000397| ( P.STAR )

000398| # 399 "src/scanner.ml"

000399|

000400| | 17 ->

000401| # 95 "src/scanner.mll"

000402| ( P.PLUS )

000403| # 404 "src/scanner.ml"

000404|

000405| | 18 ->

000406| # 96 "src/scanner.mll"

000407| ( P.COMMA )

000408| # 409 "src/scanner.ml"

000409|

000410| | 19 ->

000411| # 97 "src/scanner.mll"

000412| ( P.MINUS )

000413| # 414 "src/scanner.ml"

000414|

000415| | 20 ->

000416| # 98 "src/scanner.mll"

000417| ( P.DOT )

000418| # 419 "src/scanner.ml"

000419|

000420| | 21 ->

000421| # 99 "src/scanner.mll"

000422| ( P.HASH )

000423| # 424 "src/scanner.ml"

000424|

000425| | 22 ->

000426| # 100 "src/scanner.mll"

000427| ( P.SLASH )

000428| # 429 "src/scanner.ml"

000429|

000430| | 23 ->

000431| # 101 "src/scanner.mll"

000432| ( P.MOD )

000433| # 434 "src/scanner.ml"

000434|

000435| | 24 ->

000436| # 102 "src/scanner.mll"

000437| ( P.COLON )

000438| # 439 "src/scanner.ml"

000439|

000440| | 25 ->

000441| # 103 "src/scanner.mll"

000442| ( P.SEMI )

000443| # 444 "src/scanner.ml"

000444|

000445| | 26 ->

000446| # 104 "src/scanner.mll"

000447| ( P.LT )

000448| # 449 "src/scanner.ml"

000449|

000450| | 27 ->

000451| # 105 "src/scanner.mll"

000452| ( P.GETS )

000453| # 454 "src/scanner.ml"

000454|

000455| | 28 ->

000456| # 106 "src/scanner.mll"

000457| ( P.GT )

000458| # 459 "src/scanner.ml"

000459|

000460| | 29 ->

000461| # 107 "src/scanner.mll"

000462| ( P.LSQ )

000463| # 464 "src/scanner.ml"

000464|

000465| | 30 ->

000466| # 108 "src/scanner.mll"

000467| ( P.RSQ )

000468| # 469 "src/scanner.ml"

000469|

000470| | 31 ->

000471| # 109 "src/scanner.mll"

000472| ( P.HAT )

000473| # 474 "src/scanner.ml"

000474|

000475| | 32 ->

000476| # 110 "src/scanner.mll"

000477| ( P.LBRA )

000478| # 479 "src/scanner.ml"

000479|

000480| | 33 ->

000481| # 111 "src/scanner.mll"

000482| ( P.RBRA )

000483| # 484 "src/scanner.ml"

000484|

000485| | 34 ->

000486| # 116 "src/scanner.mll"

000487| ( let level = String.length (get lexbuf) - 4 in (* sans --[ [ *)

000488| longcomment level lexbuf )

000489| # 490 "src/scanner.ml"

000490|

000491| | 35 ->

000492| # 118 "src/scanner.mll"

000493| ( Lexing.new_line lexbuf; token lexbuf )

000494| # 495 "src/scanner.ml"

000495|

000496| | 36 ->

000497| # 119 "src/scanner.mll"

000498| ( token lexbuf )

000499| # 500 "src/scanner.ml"

000500|

000501| | 37 ->

000502| # 120 "src/scanner.mll"

000503| ( shortstring lexbuf "'" (Buffer.create 80) )

000504| # 505 "src/scanner.ml"

000505|

000506| | 38 ->

000507| # 121 "src/scanner.mll"

000508| ( shortstring lexbuf "\"" (Buffer.create 80) )

000509| # 510 "src/scanner.ml"

000510|

000511| | 39 ->

000512| # 122 "src/scanner.mll"

000513| ( let level = String.length (get lexbuf) - 2 in (* sans [ [ *)

000514| longstring level lexbuf 1 (Buffer.create 160) )

000515| # 516 "src/scanner.ml"

000516|

000517| | 40 ->

000518| # 125 "src/scanner.mll"

000519| ( error "illegal character" lexbuf.Lexing.lex_start_p )

000520| # 521 "src/scanner.ml"

000521|

000522| | __ocaml_lex_state -> (*[347]*)lexbuf.Lexing.refill_buff lexbuf;

000523| (*[347]*)__ocaml_lex_token_rec lexbuf __ocaml_lex_state

000524|

000525| and longcomment level lexbuf =

000526| (*[93]*)__ocaml_lex_longcomment_rec level lexbuf 60

000527| and __ocaml_lex_longcomment_rec level lexbuf __ocaml_lex_state =

000528| match Lexing.engine __ocaml_lex_tables __ocaml_lex_state lexbuf with

000529| | 0 ->

000530| # 128 "src/scanner.mll"

000531| ( error "end of file in long comment" lexbuf.Lexing.lex_start_p )

000532| # 533 "src/scanner.ml"

000533|

000534| | 1 ->

000535| # 129 "src/scanner.mll"

000536| ( Lexing.new_line lexbuf; longcomment level lexbuf )

000537| # 538 "src/scanner.ml"

000538|

000539| | 2 ->

000540| # 130 "src/scanner.mll"

000541| ( let exitlevel = String.length (get lexbuf) - 2 in (* sans ] ] *)

000542| if level = exitlevel

000543| then token lexbuf

000544| else longcomment level lexbuf )

000545| # 546 "src/scanner.ml"

000546|

000547| | 3 ->

000548| # 134 "src/scanner.mll"

000549| ( longcomment level lexbuf )

000550| # 551 "src/scanner.ml"

000551|