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|