
000001| # 1 "build/lexer.mll"

000002|

000003|

000004| (**

000005| This program is free software; you can redistribute it and / or modify

000006| it under the terms of the GNU General Public License as published by

000007| the Free Software Foundation; version 3 of the License.

000008|

000009| This program is distributed in the hope that it will be useful,

000010| but WITHOUT ANY WARRANTY; without even the implied warranty of

000011| MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the

000012| GNU General Public License for more details.

000013|

000014| Jtemplate lexer

000015|

000016| @author Tony BenBrahim < tony.benbrahim at gmail.com >

000017|

000018| *)

000019|

000020| open RuntimeError

000021| open Parser

000022| open Ast

000023|

000024| (* from http://plus.kaist.ac.kr/~shoh/ocaml/ocamllex-ocamlyacc/ocamllex-tutorial.pdf , p.9 *)

000025| let incr_linenum lexbuf =

000026| let pos = lexbuf.Lexing.lex_curr_p in

000027| lexbuf.Lexing.lex_curr_p <- { pos with

000028| Lexing.pos_lnum = pos.Lexing.pos_lnum + 1;

000029| Lexing.pos_bol = pos.Lexing.pos_cnum;

000030| }

000031|

000032| let syntax_exception msg lexbuf=

000033| raise (LexerException (msg, lexbuf.Lexing.lex_curr_p.Lexing.pos_lnum,

000034| lexbuf.Lexing.lex_curr_p.Lexing.pos_cnum - lexbuf.Lexing.lex_curr_p.Lexing.pos_bol))

000035|

000036| let map_id name=

000037| match name with

000038| "foreach" -> FOREACH

000039| | "in" -> IN

000040| | "while" -> WHILE

000041| | "function" -> FUNCTION

000042| | "if" -> IF

000043| | "else" -> ELSE

000044| | "template" -> TEMPLATE

000045| | "instructions" ->INSTRUCTIONS

000046| | "continue" -> CONTINUE

000047| | "break" -> BREAK

000048| | "return" -> RETURN

000049| | "for" -> FOR

000050| | "once" -> ONCE

000051| | "when" -> WHEN

000052| | "var" -> VAR

000053| | "let" -> VAR

000054| | "true" -> BOOLEAN(true)

000055| | "false" -> BOOLEAN(false)

000056| | "Void" -> VOID

000057| | "import" -> IMPORT(false)

000058| | "use" -> IMPORT(true)

000059| | "switch" -> SWITCH

000060| | "case" -> CASE

000061| | "default" -> DEFAULT

000062| | "try" -> TRY

000063| | "catch" -> CATCH

000064| | "finally" -> FINALLY

000065| | "throw" -> THROW

000066| | _ -> ID(name)

000067|

000068| # 69 "build/lexer.ml"

000069| let __ocaml_lex_tables = (*[2]*){

000070| Lexing.lex_base =

000071| "\000\000\209\255\210\255\211\255\217\255\219\255\220\255\221\255\

000072| \222\255\223\255\224\255\225\255\226\255\227\255\031\000\033\000\

000073| \081\000\084\000\035\000\067\000\068\000\069\000\007\000\094\000\

000074| \246\255\091\000\249\255\250\255\105\000\182\000\194\000\001\000\

000075| \255\255\210\000\220\000\235\000\248\000\002\001\018\001\028\001\

000076| \088\000\038\001\237\255\233\255\247\255\125\000\245\255\244\255\

000077| \241\255\240\255\239\255\238\255\231\255\236\255\230\255\235\255\

000078| \234\255\232\255\087\001\251\255\252\255\253\255\254\255\255\255\

000079| \027\001\251\255\252\255\253\255\254\255\255\255\062\001\249\255\

000080| \250\255\251\255\252\255\253\255\254\255\255\255\127\000\252\255\

000081| \253\255\089\000\255\255\254\255";

000082| Lexing.lex_backtrk =

000083| "\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\

000084| \255\255\255\255\255\255\255\255\255\255\255\255\043\000\041\000\

000085| \040\000\039\000\037\000\026\000\013\000\012\000\045\000\045\000\

000086| \255\255\042\000\255\255\255\255\004\000\027\000\002\000\001\000\

000087| \255\255\255\255\003\000\255\255\003\000\255\255\003\000\255\255\

000088| \255\255\003\000\255\255\255\255\255\255\007\000\255\255\255\255\

000089| \255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\

000090| \255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\

000091| \255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\

000092| \255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\

000093| \255\255\002\000\255\255\255\255";

000094| Lexing.lex_default =

000095| "\002\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\

000096| \000\000\000\000\000\000\000\000\000\000\000\000\255\255\255\255\

000097| \255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\

000098| \000\000\255\255\000\000\000\000\255\255\255\255\255\255\031\000\

000099| \000\000\255\255\255\255\255\255\255\255\255\255\255\255\255\255\

000100| \255\255\255\255\000\000\000\000\000\000\045\000\000\000\000\000\

000101| \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\

000102| \000\000\000\000\060\000\000\000\000\000\000\000\000\000\000\000\

000103| \066\000\000\000\000\000\000\000\000\000\000\000\255\255\000\000\

000104| \000\000\000\000\000\000\000\000\000\000\000\000\080\000\000\000\

000105| \000\000\255\255\000\000\000\000";

000106| Lexing.lex_trans =

000107| "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\

000108| \000\000\032\000\024\000\255\255\000\000\032\000\000\000\000\000\

000109| \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\

000110| \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\

000111| \032\000\018\000\026\000\031\000\028\000\014\000\023\000\027\000\

000112| \011\000\010\000\015\000\017\000\007\000\016\000\029\000\025\000\

000113| \030\000\030\000\030\000\030\000\030\000\030\000\030\000\030\000\

000114| \030\000\030\000\005\000\006\000\021\000\019\000\020\000\004\000\

000115| \003\000\028\000\028\000\028\000\028\000\028\000\028\000\028\000\

000116| \028\000\028\000\028\000\028\000\028\000\028\000\028\000\028\000\

000117| \028\000\028\000\028\000\028\000\028\000\028\000\028\000\028\000\

000118| \028\000\028\000\028\000\009\000\057\000\008\000\056\000\028\000\

000119| \051\000\028\000\028\000\028\000\028\000\028\000\028\000\028\000\

000120| \028\000\028\000\028\000\028\000\028\000\028\000\028\000\028\000\

000121| \028\000\028\000\028\000\028\000\028\000\028\000\028\000\028\000\

000122| \028\000\028\000\028\000\013\000\022\000\012\000\054\000\052\000\

000123| \050\000\049\000\048\000\047\000\046\000\044\000\042\000\255\255\

000124| \083\000\082\000\045\000\000\000\000\000\028\000\055\000\000\000\

000125| \000\000\053\000\000\000\000\000\000\000\000\000\000\000\000\000\

000126| \043\000\028\000\028\000\028\000\028\000\028\000\028\000\028\000\

000127| \028\000\028\000\028\000\000\000\000\000\000\000\000\000\000\000\

000128| \000\000\081\000\028\000\028\000\028\000\028\000\028\000\028\000\

000129| \028\000\028\000\028\000\028\000\028\000\028\000\028\000\028\000\

000130| \028\000\028\000\028\000\028\000\028\000\028\000\028\000\028\000\

000131| \028\000\028\000\028\000\028\000\000\000\000\000\000\000\000\000\

000132| \028\000\000\000\028\000\028\000\028\000\028\000\028\000\028\000\

000133| \028\000\028\000\028\000\028\000\028\000\028\000\028\000\028\000\

000134| \028\000\028\000\028\000\028\000\028\000\028\000\028\000\028\000\

000135| \028\000\028\000\028\000\028\000\040\000\000\000\041\000\041\000\

000136| \041\000\041\000\041\000\041\000\041\000\041\000\041\000\041\000\

000137| \034\000\000\000\030\000\030\000\030\000\030\000\030\000\030\000\

000138| \030\000\030\000\030\000\030\000\000\000\039\000\000\000\039\000\

000139| \001\000\255\255\038\000\038\000\038\000\038\000\038\000\038\000\

000140| \038\000\038\000\038\000\038\000\034\000\034\000\034\000\034\000\

000141| \034\000\034\000\034\000\034\000\034\000\034\000\037\000\000\000\

000142| \037\000\000\000\000\000\036\000\036\000\036\000\036\000\036\000\

000143| \036\000\036\000\036\000\036\000\036\000\069\000\000\000\033\000\

000144| \036\000\036\000\036\000\036\000\036\000\036\000\036\000\036\000\

000145| \036\000\036\000\036\000\036\000\036\000\036\000\036\000\036\000\

000146| \036\000\036\000\036\000\036\000\000\000\068\000\000\000\000\000\

000147| \000\000\035\000\038\000\038\000\038\000\038\000\038\000\038\000\

000148| \038\000\038\000\038\000\038\000\038\000\038\000\038\000\038\000\

000149| \038\000\038\000\038\000\038\000\038\000\038\000\041\000\041\000\

000150| \041\000\041\000\041\000\041\000\041\000\041\000\041\000\041\000\

000151| \073\000\063\000\000\000\000\000\000\000\074\000\000\000\000\000\

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

000153| \000\000\000\000\000\000\000\000\000\000\000\000\000\000\067\000\

000154| \000\000\000\000\000\000\000\000\000\000\255\255\062\000\079\000\

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

000156| \000\000\000\000\000\000\035\000\000\000\000\000\000\000\000\000\

000157| \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\

000158| \000\000\000\000\077\000\000\000\000\000\000\000\000\000\000\000\

000159| \071\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\

000160| \000\000\000\000\000\000\000\000\076\000\000\000\000\000\000\000\

000161| \075\000\000\000\072\000\061\000\000\000\000\000\000\000\000\000\

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

000163| \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\

000164| \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\

000165| \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\

000166| \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\

000167| \000\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\000\000\000\000\

000169| \000\000\000\000\000\000\000\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\000\000\000\000\

000174| \000\000\000\000\000\000\065\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\000\000\

000181| \000\000\000\000\000\000\000\000\000\000\000\000\000\000\059\000\

000182| ";

000183| Lexing.lex_check =

000184| "\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\

000185| \255\255\000\000\000\000\031\000\255\255\000\000\255\255\255\255\

000186| \255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\

000187| \255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\

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\000\000\000\000\000\000\

000192| \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\

000193| \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\

000194| \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\

000195| \000\000\000\000\000\000\000\000\014\000\000\000\015\000\000\000\

000196| \018\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\

000197| \000\000\000\000\000\000\000\000\000\000\000\000\000\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\016\000\017\000\

000200| \019\000\020\000\021\000\022\000\023\000\025\000\040\000\045\000\

000201| \081\000\078\000\025\000\255\255\255\255\028\000\016\000\255\255\

000202| \255\255\017\000\255\255\255\255\255\255\255\255\255\255\255\255\

000203| \025\000\028\000\028\000\028\000\028\000\028\000\028\000\028\000\

000204| \028\000\028\000\028\000\255\255\255\255\255\255\255\255\255\255\

000205| \255\255\078\000\028\000\028\000\028\000\028\000\028\000\028\000\

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

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

000208| \028\000\028\000\028\000\028\000\255\255\255\255\255\255\255\255\

000209| \028\000\255\255\028\000\028\000\028\000\028\000\028\000\028\000\

000210| \028\000\028\000\028\000\028\000\028\000\028\000\028\000\028\000\

000211| \028\000\028\000\028\000\028\000\028\000\028\000\028\000\028\000\

000212| \028\000\028\000\028\000\028\000\029\000\255\255\029\000\029\000\

000213| \029\000\029\000\029\000\029\000\029\000\029\000\029\000\029\000\

000214| \030\000\255\255\030\000\030\000\030\000\030\000\030\000\030\000\

000215| \030\000\030\000\030\000\030\000\255\255\033\000\255\255\033\000\

000216| \000\000\031\000\033\000\033\000\033\000\033\000\033\000\033\000\

000217| \033\000\033\000\033\000\033\000\034\000\034\000\034\000\034\000\

000218| \034\000\034\000\034\000\034\000\034\000\034\000\035\000\255\255\

000219| \035\000\255\255\255\255\035\000\035\000\035\000\035\000\035\000\

000220| \035\000\035\000\035\000\035\000\035\000\064\000\255\255\030\000\

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

000222| \036\000\036\000\037\000\037\000\037\000\037\000\037\000\037\000\

000223| \037\000\037\000\037\000\037\000\255\255\064\000\255\255\255\255\

000224| \255\255\034\000\038\000\038\000\038\000\038\000\038\000\038\000\

000225| \038\000\038\000\038\000\038\000\039\000\039\000\039\000\039\000\

000226| \039\000\039\000\039\000\039\000\039\000\039\000\041\000\041\000\

000227| \041\000\041\000\041\000\041\000\041\000\041\000\041\000\041\000\

000228| \070\000\058\000\255\255\255\255\255\255\070\000\255\255\255\255\

000229| \255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\

000230| \255\255\255\255\255\255\255\255\255\255\255\255\255\255\064\000\

000231| \255\255\255\255\255\255\255\255\255\255\045\000\058\000\078\000\

000232| \255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\

000233| \255\255\255\255\255\255\041\000\255\255\255\255\255\255\255\255\

000234| \255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\

000235| \255\255\255\255\070\000\255\255\255\255\255\255\255\255\255\255\

000236| \070\000\255\255\255\255\255\255\255\255\255\255\255\255\255\255\

000237| \255\255\255\255\255\255\255\255\070\000\255\255\255\255\255\255\

000238| \070\000\255\255\070\000\058\000\255\255\255\255\255\255\255\255\

000239| \255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\

000240| \255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\

000241| \255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\

000242| \255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\

000243| \255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\

000244| \255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\

000245| \255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\

000246| \255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\

000247| \255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\

000248| \255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\

000249| \255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\

000250| \255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\

000251| \255\255\255\255\255\255\064\000\255\255\255\255\255\255\255\255\

000252| \255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\

000253| \255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\

000254| \255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\

000255| \255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\

000256| \255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\

000257| \255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\

000258| \255\255\255\255\255\255\255\255\255\255\255\255\255\255\058\000\

000259| ";

000260| Lexing.lex_base_code =

000261| "";

000262| Lexing.lex_backtrk_code =

000263| "";

000264| Lexing.lex_default_code =

000265| "";

000266| Lexing.lex_trans_code =

000267| "";

000268| Lexing.lex_check_code =

000269| "";

000270| Lexing.lex_code =

000271| "";

000272| }

000273|

000274| let rec main lexbuf =

000275| (*[54804]*)__ocaml_lex_main_rec lexbuf 0

000276| and __ocaml_lex_main_rec lexbuf __ocaml_lex_state =

000277| match Lexing.engine __ocaml_lex_tables __ocaml_lex_state lexbuf with

000278| | 0 ->

000279| # 75 "build/lexer.mll"

000280| ( main lexbuf )

000281| # 282 "build/lexer.ml"

000282|

000283| | 1 ->

000284| (*[32]*)let

000285| # 76 "build/lexer.mll"

000286| token

000287| # 288 "build/lexer.ml"

000288| = Lexing.sub_lexeme lexbuf lexbuf.Lexing.lex_start_pos lexbuf.Lexing.lex_curr_pos in

000289| # 76 "build/lexer.mll"

000290| ( TEXT(String.sub token 1 ((String.length token) - 1)))

000291| # 292 "build/lexer.ml"

000292|

000293| | 2 ->

000294| (*[900]*)let

000295| # 77 "build/lexer.mll"

000296| token

000297| # 298 "build/lexer.ml"

000298| = Lexing.sub_lexeme lexbuf lexbuf.Lexing.lex_start_pos lexbuf.Lexing.lex_curr_pos in

000299| # 77 "build/lexer.mll"

000300| ( try INT( int_of_string token) with _ -> OUTOFRANGENUMBER )

000301| # 302 "build/lexer.ml"

000302|

000303| | 3 ->

000304| (*[156]*)let

000305| # 78 "build/lexer.mll"

000306| token

000307| # 308 "build/lexer.ml"

000308| = Lexing.sub_lexeme lexbuf lexbuf.Lexing.lex_start_pos lexbuf.Lexing.lex_curr_pos in

000309| # 78 "build/lexer.mll"

000310| ( try REAL(float_of_string token) with _ -> OUTOFRANGENUMBER )

000311| # 312 "build/lexer.ml"

000312|

000313| | 4 ->

000314| (*[4686]*)let

000315| # 79 "build/lexer.mll"

000316| token

000317| # 318 "build/lexer.ml"

000318| = Lexing.sub_lexeme lexbuf lexbuf.Lexing.lex_start_pos lexbuf.Lexing.lex_curr_pos in

000319| # 79 "build/lexer.mll"

000320| ( (map_id token ))

000321| # 322 "build/lexer.ml"

000322|

000323| | 5 ->

000324| # 80 "build/lexer.mll"

000325| ( single_quote_string "" lexbuf )

000326| # 327 "build/lexer.ml"

000327|

000328| | 6 ->

000329| # 81 "build/lexer.mll"

000330| ( double_quote_string "" lexbuf )

000331| # 332 "build/lexer.ml"

000332|

000333| | 7 ->

000334| # 82 "build/lexer.mll"

000335| ( main lexbuf)

000336| # 337 "build/lexer.ml"

000337|

000338| | 8 ->

000339| # 83 "build/lexer.mll"

000340| (multiline_comment lexbuf)

000341| # 342 "build/lexer.ml"

000342|

000343| | 9 ->

000344| # 84 "build/lexer.mll"

000345| ( incr_linenum lexbuf;main lexbuf )

000346| # 347 "build/lexer.ml"

000347|

000348| | 10 ->

000349| # 85 "build/lexer.mll"

000350| (AND)

000351| # 352 "build/lexer.ml"

000352|

000353| | 11 ->

000354| # 86 "build/lexer.mll"

000355| (OR)

000356| # 357 "build/lexer.ml"

000357|

000358| | 12 ->

000359| # 87 "build/lexer.mll"

000360| (COMPOP(LessThan))

000361| # 362 "build/lexer.ml"

000362|

000363| | 13 ->

000364| # 88 "build/lexer.mll"

000365| (COMPOP(GreaterThan))

000366| # 367 "build/lexer.ml"

000367|

000368| | 14 ->

000369| # 89 "build/lexer.mll"

000370| (COMPOP(LessThanEqual))

000371| # 372 "build/lexer.ml"

000372|

000373| | 15 ->

000374| # 90 "build/lexer.mll"

000375| (COMPOP(GreaterThanEqual))

000376| # 377 "build/lexer.ml"

000377|

000378| | 16 ->

000379| # 91 "build/lexer.mll"

000380| (COMPOP(Equal))

000381| # 382 "build/lexer.ml"

000382|

000383| | 17 ->

000384| # 92 "build/lexer.mll"

000385| (COMPOP(NotEqual))

000386| # 387 "build/lexer.ml"

000387|

000388| | 18 ->

000389| # 93 "build/lexer.mll"

000390| (DOTDOTDOT)

000391| # 392 "build/lexer.ml"

000392|

000393| | 19 ->

000394| # 94 "build/lexer.mll"

000395| (PLUSEQUALS)

000396| # 397 "build/lexer.ml"

000397|

000398| | 20 ->

000399| # 95 "build/lexer.mll"

000400| (MINUSEQUALS)

000401| # 402 "build/lexer.ml"

000402|

000403| | 21 ->

000404| # 96 "build/lexer.mll"

000405| (TIMESEQUALS)

000406| # 407 "build/lexer.ml"

000407|

000408| | 22 ->

000409| # 97 "build/lexer.mll"

000410| (DIVEQUALS)

000411| # 412 "build/lexer.ml"

000412|

000413| | 23 ->

000414| # 98 "build/lexer.mll"

000415| (MODEQUALS)

000416| # 417 "build/lexer.ml"

000417|

000418| | 24 ->

000419| # 99 "build/lexer.mll"

000420| (PLUSPLUS)

000421| # 422 "build/lexer.ml"

000422|

000423| | 25 ->

000424| # 100 "build/lexer.mll"

000425| (MINUSMINUS)

000426| # 427 "build/lexer.ml"

000427|

000428| | 26 ->

000429| # 101 "build/lexer.mll"

000430| (EQUALS)

000431| # 432 "build/lexer.ml"

000432|

000433| | 27 ->

000434| # 102 "build/lexer.mll"

000435| (DOT)

000436| # 437 "build/lexer.ml"

000437|

000438| | 28 ->

000439| # 103 "build/lexer.mll"

000440| (LBRACE)

000441| # 442 "build/lexer.ml"

000442|

000443| | 29 ->

000444| # 104 "build/lexer.mll"

000445| (RBRACE)

000446| # 447 "build/lexer.ml"

000447|

000448| | 30 ->

000449| # 105 "build/lexer.mll"

000450| (LPAREN)

000451| # 452 "build/lexer.ml"

000452|

000453| | 31 ->

000454| # 106 "build/lexer.mll"

000455| (RPAREN)

000456| # 457 "build/lexer.ml"

000457|

000458| | 32 ->

000459| # 107 "build/lexer.mll"

000460| (LBRACKET)

000461| # 462 "build/lexer.ml"

000462|

000463| | 33 ->

000464| # 108 "build/lexer.mll"

000465| (RBRACKET)

000466| # 467 "build/lexer.ml"

000467|

000468| | 34 ->

000469| # 109 "build/lexer.mll"

000470| (COMMA)

000471| # 472 "build/lexer.ml"

000472|

000473| | 35 ->

000474| # 110 "build/lexer.mll"

000475| (SEMICOLON)

000476| # 477 "build/lexer.ml"

000477|

000478| | 36 ->

000479| # 111 "build/lexer.mll"

000480| (COLON)

000481| # 482 "build/lexer.ml"

000482|

000483| | 37 ->

000484| # 112 "build/lexer.mll"

000485| (NOT)

000486| # 487 "build/lexer.ml"

000487|

000488| | 38 ->

000489| # 113 "build/lexer.mll"

000490| (QUESTION)

000491| # 492 "build/lexer.ml"

000492|

000493| | 39 ->

000494| # 114 "build/lexer.mll"

000495| (PLUS)

000496| # 497 "build/lexer.ml"

000497|

000498| | 40 ->

000499| # 115 "build/lexer.mll"

000500| (MINUS)

000501| # 502 "build/lexer.ml"

000502|

000503| | 41 ->

000504| # 116 "build/lexer.mll"

000505| (TIMES)

000506| # 507 "build/lexer.ml"

000507|

000508| | 42 ->

000509| # 117 "build/lexer.mll"

000510| (DIVIDE)

000511| # 512 "build/lexer.ml"

000512|

000513| | 43 ->

000514| # 118 "build/lexer.mll"

000515| (MODULO)

000516| # 517 "build/lexer.ml"

000517|

000518| | 44 ->

000519| # 119 "build/lexer.mll"

000520| (AT)

000521| # 522 "build/lexer.ml"

000522|

000523| | 45 ->