
000001| type token =

000002| | ID of (string)

000003| | INT of (int)

000004| | STRING of (string)

000005| | REAL of (float)

000006| | BOOLEAN of (bool)

000007| | TEXT of (string)

000008| | COMPOP of (Ast.comparator)

000009| | IMPORT of (bool)

000010| | FOREACH

000011| | WHILE

000012| | IF

000013| | FOR

000014| | ELSE

000015| | TEMPLATE

000016| | INSTRUCTIONS

000017| | FUNCTION

000018| | CONTINUE

000019| | BREAK

000020| | RETURN

000021| | IN

000022| | ONCE

000023| | WHEN

000024| | VAR

000025| | EOF

000026| | LBRACE

000027| | RBRACE

000028| | LPAREN

000029| | RPAREN

000030| | LBRACKET

000031| | RBRACKET

000032| | COMMA

000033| | SEMICOLON

000034| | COLON

000035| | DOTDOTDOT

000036| | DOT

000037| | EQUALS

000038| | NOT

000039| | QUESTION

000040| | PLUS

000041| | MINUS

000042| | TIMES

000043| | DIVIDE

000044| | MODULO

000045| | AND

000046| | OR

000047| | VOID

000048| | SWITCH

000049| | CASE

000050| | DEFAULT

000051| | PLUSEQUALS

000052| | MINUSEQUALS

000053| | TIMESEQUALS

000054| | DIVEQUALS

000055| | MODEQUALS

000056| | PLUSPLUS

000057| | MINUSMINUS

000058| | AT

000059| | TRY

000060| | CATCH

000061| | THROW

000062| | FINALLY

000063| | PROTOTYPE

000064| | OUTOFRANGENUMBER

000065|

000066| open Parsing;;

000067| # 1 "build/parser.mly"

000068|

000069|

000070| (**

000071|

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

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

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

000075|

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

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

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

000079| GNU General Public License for more details.

000080|

000081| Jtemplate parser

000082| expression parsing adapted from ECMA-262

000083| http://www.ecma-international.org/publications/files/ECMA-ST/ECMA-262.pdf

000084|

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

000086|

000087| *)

000088|

000089| open Ast

000090|

000091| let parse_error s =

000092| let pos = Parsing.symbol_start_pos() in

000093| print_string ("in file " ^ (Filename.basename pos.Lexing.pos_fname) ^ ": "^ s^" at line ");

000094| print_int pos.Lexing.pos_lnum;

000095| print_string " at columns ";

000096| print_int (Parsing.symbol_start() - pos.Lexing.pos_bol);

000097| print_string("-");

000098| print_int (Parsing.symbol_end() - pos.Lexing.pos_bol);

000099| print_string "\n";

000100| flush stdout

000101|

000102| let get_env ()=

000103| let pos=Parsing.symbol_start_pos() in

000104| (pos.Lexing.pos_fname,pos.Lexing.pos_lnum)

000105|

000106|

000107| let resolve_import (filename, library, (inp_file, _))=

000108| Filename_util.resolve_filename (Filename.dirname inp_file) filename

000109|

000110| let extract_stmt_list=function

000111| | StatementBlock(lst) -> lst

000112| | _ -> raise ( RuntimeError.InternalError "expected statement block" )

000113| # 114 "build/parser.ml"

000114| let yytransl_const = (*[2]*)[|

000115| 265 (* FOREACH *);

000116| 266 (* WHILE *);

000117| 267 (* IF *);

000118| 268 (* FOR *);

000119| 269 (* ELSE *);

000120| 270 (* TEMPLATE *);

000121| 271 (* INSTRUCTIONS *);

000122| 272 (* FUNCTION *);

000123| 273 (* CONTINUE *);

000124| 274 (* BREAK *);

000125| 275 (* RETURN *);

000126| 276 (* IN *);

000127| 277 (* ONCE *);

000128| 278 (* WHEN *);

000129| 279 (* VAR *);

000130| 0 (* EOF *);

000131| 280 (* LBRACE *);

000132| 281 (* RBRACE *);

000133| 282 (* LPAREN *);

000134| 283 (* RPAREN *);

000135| 284 (* LBRACKET *);

000136| 285 (* RBRACKET *);

000137| 286 (* COMMA *);

000138| 287 (* SEMICOLON *);

000139| 288 (* COLON *);

000140| 289 (* DOTDOTDOT *);

000141| 290 (* DOT *);

000142| 291 (* EQUALS *);

000143| 292 (* NOT *);

000144| 293 (* QUESTION *);

000145| 294 (* PLUS *);

000146| 295 (* MINUS *);

000147| 296 (* TIMES *);

000148| 297 (* DIVIDE *);

000149| 298 (* MODULO *);

000150| 299 (* AND *);

000151| 300 (* OR *);

000152| 301 (* VOID *);

000153| 302 (* SWITCH *);

000154| 303 (* CASE *);

000155| 304 (* DEFAULT *);

000156| 305 (* PLUSEQUALS *);

000157| 306 (* MINUSEQUALS *);

000158| 307 (* TIMESEQUALS *);

000159| 308 (* DIVEQUALS *);

000160| 309 (* MODEQUALS *);

000161| 310 (* PLUSPLUS *);

000162| 311 (* MINUSMINUS *);

000163| 312 (* AT *);

000164| 313 (* TRY *);

000165| 314 (* CATCH *);

000166| 315 (* THROW *);

000167| 316 (* FINALLY *);

000168| 317 (* PROTOTYPE *);

000169| 318 (* OUTOFRANGENUMBER *);

000170| 0|]

000171|

000172| let yytransl_block = (*[2]*)[|

000173| 257 (* ID *);

000174| 258 (* INT *);

000175| 259 (* STRING *);

000176| 260 (* REAL *);

000177| 261 (* BOOLEAN *);

000178| 262 (* TEXT *);

000179| 263 (* COMPOP *);

000180| 264 (* IMPORT *);

000181| 0|]

000182|

000183| let yylhs = (*[2]*)"\255\255\

000184| \001\000\003\000\003\000\002\000\002\000\005\000\005\000\006\000\

000185| \007\000\007\000\004\000\004\000\004\000\004\000\004\000\004\000\

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

000187| \004\000\004\000\004\000\014\000\014\000\014\000\013\000\013\000\

000188| \009\000\009\000\015\000\016\000\016\000\016\000\016\000\016\000\

000189| \016\000\016\000\016\000\016\000\019\000\019\000\019\000\019\000\

000190| \020\000\020\000\020\000\020\000\022\000\022\000\023\000\023\000\

000191| \023\000\023\000\023\000\024\000\024\000\024\000\024\000\024\000\

000192| \024\000\024\000\024\000\024\000\024\000\024\000\025\000\025\000\

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

000194| \008\000\008\000\011\000\011\000\011\000\011\000\017\000\017\000\

000195| \017\000\017\000\026\000\026\000\026\000\026\000\021\000\021\000\

000196| \021\000\027\000\027\000\018\000\018\000\028\000\028\000\010\000\

000197| \010\000\030\000\030\000\031\000\031\000\031\000\031\000\033\000\

000198| \032\000\032\000\032\000\012\000\012\000\029\000\029\000\000\000"

000199|

000200| let yylen = (*[2]*)"\002\000\

000201| \002\000\001\000\002\000\001\000\000\000\003\000\001\000\002\000\

000202| \002\000\000\000\006\000\002\000\001\000\001\000\007\000\005\000\

000203| \002\000\002\000\003\000\003\000\005\000\009\000\007\000\009\000\

000204| \007\000\004\000\003\000\003\000\002\000\001\000\001\000\002\000\

000205| \001\000\001\000\000\000\001\000\001\000\001\000\001\000\001\000\

000206| \003\000\003\000\001\000\003\000\001\000\005\000\004\000\003\000\

000207| \004\000\004\000\004\000\003\000\001\000\001\000\001\000\002\000\

000208| \002\000\002\000\002\000\001\000\003\000\003\000\003\000\003\000\

000209| \003\000\003\000\002\000\003\000\003\000\002\000\001\000\005\000\

000210| \001\000\003\000\003\000\004\000\004\000\003\000\003\000\003\000\

000211| \003\000\003\000\001\000\002\000\003\000\000\000\001\000\001\000\

000212| \003\000\000\000\001\000\001\000\002\000\003\000\001\000\003\000\

000213| \000\000\003\000\003\000\001\000\003\000\002\000\001\000\001\000\

000214| \002\000\005\000\003\000\001\000\004\000\006\000\010\000\003\000\

000215| \000\000\001\000\003\000\001\000\002\000\001\000\001\000\002\000"

000216|

000217| let yydefred = (*[2]*)"\000\000\

000218| \000\000\000\000\043\000\036\000\038\000\037\000\039\000\000\000\

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

000220| \000\000\000\000\000\000\000\000\000\000\000\000\013\000\000\000\

000221| \000\000\040\000\000\000\000\000\000\000\000\000\000\000\120\000\

000222| \000\000\004\000\000\000\014\000\007\000\000\000\045\000\000\000\

000223| \000\000\000\000\060\000\000\000\073\000\000\000\000\000\000\000\

000224| \000\000\000\000\000\000\000\000\000\000\017\000\018\000\000\000\

000225| \000\000\000\000\034\000\000\000\000\000\008\000\000\000\000\000\

000226| \000\000\000\000\000\000\088\000\000\000\000\000\067\000\000\000\

000227| \070\000\000\000\056\000\057\000\000\000\000\000\000\000\001\000\

000228| \003\000\012\000\000\000\000\000\000\000\000\000\000\000\000\000\

000229| \000\000\000\000\000\000\000\000\000\000\000\000\000\000\058\000\

000230| \059\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\

000231| \000\000\020\000\000\000\000\000\000\000\000\000\000\000\000\000\

000232| \000\000\000\000\000\000\019\000\000\000\000\000\006\000\042\000\

000233| \000\000\044\000\000\000\041\000\000\000\000\000\000\000\027\000\

000234| \000\000\000\000\092\000\000\000\000\000\000\000\000\000\048\000\

000235| \000\000\000\000\052\000\075\000\000\000\000\000\000\000\000\000\

000236| \000\000\000\000\000\000\000\000\000\000\063\000\064\000\065\000\

000237| \000\000\000\000\000\000\000\000\000\000\000\000\118\000\119\000\

000238| \103\000\000\000\000\000\000\000\000\000\000\000\084\000\000\000\

000239| \077\000\000\000\099\000\000\000\101\000\089\000\000\000\000\000\

000240| \026\000\000\000\000\000\049\000\000\000\047\000\050\000\051\000\

000241| \000\000\016\000\000\000\000\000\021\000\105\000\102\000\000\000\

000242| \085\000\046\000\000\000\000\000\000\000\094\000\096\000\000\000\

000243| \000\000\011\000\000\000\000\000\000\000\000\000\030\000\000\000\

000244| \000\000\000\000\015\000\009\000\000\000\000\000\000\000\029\000\

000245| \023\000\032\000\025\000\000\000\000\000\000\000\000\000\028\000\

000246| \024\000\022\000\000\000\108\000\000\000\000\000\117\000\000\000\

000247| \000\000\107\000\000\000\000\000\000\000\000\000\000\000\000\000\

000248| \000\000\109\000\000\000\106\000\000\000\000\000\000\000\115\000\

000249| \000\000\000\000\000\000\000\000\111\000"

000250|

000251| let yydgoto = (*[2]*)"\002\000\

000252| \032\000\033\000\063\000\035\000\036\000\037\000\202\000\038\000\

000253| \058\000\162\000\114\000\221\000\208\000\209\000\059\000\039\000\

000254| \070\000\064\000\040\000\041\000\133\000\042\000\043\000\044\000\

000255| \045\000\134\000\065\000\163\000\164\000\223\000\230\000\239\000\

000256| \240\000"

000257|

000258| let yysindex = (*[2]*)"\015\000\

000259| \178\000\000\000\000\000\000\000\000\000\000\000\000\000\060\255\

000260| \017\255\108\255\126\255\130\255\163\255\162\255\160\255\159\255\

000261| \161\255\224\000\143\255\060\000\224\000\013\001\000\000\143\255\

000262| \058\001\000\000\179\255\143\255\143\255\198\255\224\000\000\000\

000263| \226\000\000\000\178\000\000\000\000\000\142\255\000\000\241\254\

000264| \107\255\231\254\000\000\004\001\000\000\193\255\231\255\224\000\

000265| \224\000\224\000\224\255\249\255\013\000\000\000\000\000\029\000\

000266| \250\255\002\000\000\000\255\255\004\000\000\000\010\000\014\000\

000267| \008\000\011\255\006\255\000\000\124\255\012\000\000\000\027\255\

000268| \000\000\224\000\000\000\000\000\119\000\040\255\154\255\000\000\

000269| \000\000\000\000\224\000\127\255\224\000\041\000\127\255\224\000\

000270| \042\000\013\001\224\000\224\000\224\000\224\000\224\000\000\000\

000271| \000\000\058\001\058\001\058\001\058\001\058\001\058\001\058\001\

000272| \058\001\000\000\024\000\012\255\025\255\019\000\228\255\025\000\

000273| \066\255\018\000\004\000\000\000\013\001\013\001\000\000\000\000\

000274| \029\000\000\000\013\001\000\000\033\255\026\000\198\255\000\000\

000275| \236\254\052\000\000\000\250\255\027\000\036\000\008\255\000\000\

000276| \030\000\147\255\000\000\000\000\250\255\250\255\250\255\250\255\

000277| \250\255\250\255\203\255\237\255\237\255\000\000\000\000\000\000\

000278| \015\255\214\255\224\000\178\000\178\000\224\000\000\000\000\000\

000279| \000\000\034\000\228\255\061\000\013\000\013\000\000\000\198\255\

000280| \000\000\250\255\000\000\250\255\000\000\000\000\049\000\079\000\

000281| \000\000\224\000\048\000\000\000\127\255\000\000\000\000\000\000\

000282| \058\255\000\000\069\000\056\000\000\000\000\000\000\000\062\000\

000283| \000\000\000\000\192\255\063\000\250\255\000\000\000\000\178\000\

000284| \178\000\000\000\224\000\068\000\224\000\065\000\000\000\070\000\

000285| \192\255\198\255\000\000\000\000\066\000\116\255\029\255\000\000\

000286| \000\000\000\000\000\000\178\000\073\000\014\255\116\255\000\000\

000287| \000\000\000\000\074\000\000\000\075\000\105\255\000\000\093\000\

000288| \224\000\000\000\101\000\083\000\078\255\072\000\077\000\080\000\

000289| \224\000\000\000\224\000\000\000\101\000\131\255\250\255\000\000\

000290| \082\000\085\000\224\000\133\255\000\000"

000291|

000292| let yyrindex = (*[2]*)"\000\000\

000293| \109\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\

000294| \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\

000295| \000\000\081\000\000\000\000\000\000\000\084\000\000\000\000\000\

000296| \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\

000297| \000\000\000\000\003\000\000\000\000\000\000\000\000\000\089\001\

000298| \127\001\203\001\000\000\079\255\000\000\000\000\000\000\000\000\

000299| \000\000\081\000\000\000\000\000\089\000\000\000\000\000\000\000\

000300| \013\255\000\000\000\000\000\000\165\001\000\000\000\000\000\000\

000301| \100\000\000\000\000\000\000\000\097\000\000\000\000\000\203\001\

000302| \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\

000303| \000\000\000\000\000\000\091\000\000\000\000\000\091\000\000\000\

000304| \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\

000305| \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\

000306| \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\

000307| \105\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\

000308| \000\000\000\000\084\000\000\000\000\000\000\000\000\000\000\000\

000309| \000\000\000\000\000\000\148\255\000\000\112\000\000\000\000\000\

000310| \000\000\000\000\000\000\000\000\001\001\075\001\158\001\018\002\

000311| \027\002\035\002\214\000\224\001\245\001\000\000\000\000\000\000\

000312| \046\001\009\002\000\000\000\000\000\000\081\000\000\000\000\000\

000313| \000\000\000\000\115\000\000\000\089\000\089\000\000\000\000\000\

000314| \000\000\043\002\000\000\189\255\000\000\000\000\000\000\000\000\

000315| \000\000\000\000\206\255\000\000\091\000\000\000\000\000\000\000\

000316| \000\000\000\000\001\000\000\000\000\000\000\000\000\000\000\000\

000317| \000\000\000\000\000\000\000\000\051\002\000\000\000\000\000\000\

000318| \000\000\000\000\114\000\000\000\000\000\000\000\000\000\000\000\

000319| \121\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\

000320| \000\000\000\000\000\000\000\000\000\000\000\000\123\000\000\000\

000321| \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\

000322| \000\000\000\000\118\000\000\000\000\000\000\000\000\000\120\000\

000323| \000\000\000\000\000\000\000\000\118\000\000\000\168\255\000\000\

000324| \181\255\000\000\000\000\000\000\000\000"

000325|

000326| let yygindex = (*[2]*)"\000\000\

000327| \000\000\000\000\007\000\120\255\226\255\252\255\000\000\240\255\

000328| \210\255\245\000\098\000\186\000\201\000\000\000\000\000\000\000\

000329| \033\001\036\001\000\000\000\000\178\255\022\000\000\000\245\255\

000330| \000\000\000\000\000\000\000\000\182\255\000\000\000\000\170\000\

000331| \000\000"

000332|

000333| let yytablesize = (*[2]*)851

000334| let yytable = (*[2]*)"\078\000\

000335| \010\000\057\000\002\000\110\000\066\000\069\000\115\000\034\000\

000336| \137\000\090\000\084\000\178\000\085\000\073\000\079\000\001\000\

000337| \083\000\068\000\086\000\186\000\187\000\098\000\227\000\091\000\

000338| \092\000\093\000\094\000\095\000\096\000\097\000\062\000\108\000\

000339| \109\000\057\000\228\000\229\000\182\000\122\000\156\000\033\000\

000340| \060\000\081\000\047\000\033\000\083\000\071\000\072\000\083\000\

000341| \083\000\075\000\076\000\157\000\099\000\100\000\101\000\102\000\

000342| \103\000\125\000\207\000\175\000\224\000\083\000\046\000\211\000\

000343| \212\000\083\000\129\000\132\000\135\000\083\000\132\000\138\000\

000344| \207\000\141\000\142\000\143\000\144\000\145\000\146\000\131\000\

000345| \096\000\097\000\131\000\225\000\200\000\140\000\147\000\148\000\

000346| \149\000\150\000\151\000\152\000\153\000\154\000\083\000\166\000\

000347| \177\000\126\000\167\000\127\000\170\000\172\000\199\000\071\000\

000348| \242\000\071\000\069\000\071\000\071\000\071\000\071\000\188\000\

000349| \169\000\171\000\083\000\071\000\159\000\160\000\068\000\072\000\

000350| \072\000\072\000\072\000\072\000\072\000\072\000\072\000\003\000\

000351| \004\000\005\000\006\000\007\000\087\000\048\000\088\000\234\000\

000352| \235\000\194\000\185\000\222\000\089\000\057\000\015\000\003\000\

000353| \004\000\005\000\006\000\007\000\222\000\019\000\067\000\049\000\

000354| \021\000\123\000\022\000\050\000\213\000\249\000\015\000\253\000\

000355| \083\000\197\000\024\000\051\000\132\000\025\000\056\000\083\000\

000356| \021\000\083\000\022\000\026\000\082\000\052\000\091\000\184\000\

000357| \131\000\091\000\083\000\219\000\028\000\029\000\130\000\083\000\

000358| \128\000\053\000\057\000\026\000\215\000\054\000\083\000\055\000\

000359| \003\000\004\000\005\000\006\000\007\000\112\000\112\000\008\000\

000360| \009\000\010\000\011\000\012\000\074\000\013\000\014\000\015\000\

000361| \016\000\017\000\018\000\110\000\110\000\098\000\019\000\020\000\

000362| \237\000\021\000\098\000\022\000\098\000\077\000\023\000\106\000\

000363| \246\000\080\000\247\000\024\000\159\000\160\000\025\000\107\000\

000364| \093\000\161\000\252\000\093\000\026\000\027\000\205\000\206\000\

000365| \099\000\100\000\101\000\102\000\103\000\028\000\029\000\111\000\

000366| \030\000\112\000\031\000\099\000\100\000\101\000\102\000\103\000\

000367| \104\000\010\000\010\000\010\000\010\000\010\000\192\000\193\000\

000368| \010\000\010\000\010\000\010\000\010\000\113\000\010\000\010\000\

000369| \010\000\010\000\010\000\010\000\101\000\102\000\103\000\010\000\

000370| \010\000\010\000\010\000\002\000\010\000\115\000\083\000\010\000\

000371| \116\000\117\000\119\000\118\000\010\000\121\000\120\000\010\000\

000372| \124\000\136\000\139\000\155\000\168\000\010\000\010\000\010\000\

000373| \010\000\158\000\165\000\176\000\179\000\180\000\010\000\010\000\

000374| \183\000\010\000\189\000\010\000\061\000\004\000\005\000\006\000\

000375| \007\000\181\000\191\000\008\000\009\000\010\000\011\000\012\000\

000376| \195\000\013\000\014\000\015\000\016\000\017\000\018\000\196\000\

000377| \198\000\201\000\019\000\020\000\062\000\021\000\203\000\022\000\

000378| \204\000\210\000\023\000\214\000\220\000\236\000\217\000\024\000\

000379| \216\000\226\000\025\000\232\000\233\000\238\000\241\000\250\000\

000380| \026\000\027\000\243\000\244\000\005\000\245\000\251\000\035\000\

000381| \090\000\028\000\029\000\086\000\030\000\097\000\031\000\003\000\

000382| \004\000\005\000\006\000\007\000\100\000\087\000\008\000\009\000\

000383| \010\000\011\000\012\000\083\000\013\000\014\000\015\000\016\000\

000384| \017\000\018\000\095\000\104\000\035\000\019\000\020\000\062\000\

000385| \021\000\031\000\022\000\116\000\113\000\023\000\114\000\190\000\

000386| \231\000\218\000\024\000\174\000\173\000\025\000\248\000\000\000\

000387| \000\000\000\000\000\000\026\000\027\000\000\000\000\000\000\000\

000388| \000\000\000\000\000\000\000\000\028\000\029\000\000\000\030\000\

000389| \000\000\031\000\003\000\004\000\005\000\006\000\007\000\000\000\

000390| \000\000\008\000\009\000\010\000\011\000\012\000\000\000\013\000\

000391| \014\000\015\000\016\000\017\000\018\000\000\000\000\000\000\000\

000392| \019\000\020\000\000\000\021\000\000\000\022\000\000\000\000\000\

000393| \023\000\000\000\000\000\000\000\000\000\024\000\000\000\000\000\

000394| \025\000\000\000\000\000\000\000\066\000\000\000\026\000\027\000\

000395| \003\000\004\000\005\000\006\000\007\000\000\000\000\000\028\000\

000396| \029\000\000\000\030\000\000\000\031\000\000\000\066\000\015\000\

000397| \066\000\000\000\066\000\066\000\066\000\066\000\019\000\056\000\

000398| \000\000\021\000\066\000\022\000\000\000\000\000\000\000\000\000\

000399| \066\000\066\000\000\000\024\000\000\000\000\000\025\000\000\000\

000400| \000\000\000\000\098\000\000\000\026\000\003\000\004\000\005\000\

000401| \006\000\007\000\000\000\000\000\000\000\028\000\029\000\000\000\

000402| \000\000\074\000\000\000\074\000\015\000\074\000\074\000\074\000\

000403| \074\000\000\000\000\000\019\000\067\000\000\000\021\000\000\000\

000404| \022\000\099\000\100\000\101\000\102\000\103\000\104\000\105\000\

000405| \024\000\000\000\000\000\025\000\000\000\000\000\000\000\000\000\

000406| \000\000\026\000\003\000\004\000\005\000\006\000\007\000\000\000\

000407| \000\000\000\000\028\000\029\000\000\000\000\000\068\000\000\000\

000408| \068\000\015\000\068\000\068\000\068\000\068\000\000\000\000\000\

000409| \000\000\056\000\068\000\021\000\000\000\022\000\000\000\000\000\

000410| \068\000\068\000\000\000\000\000\000\000\024\000\000\000\053\000\

000411| \025\000\000\000\000\000\081\000\000\000\081\000\026\000\081\000\

000412| \081\000\081\000\081\000\000\000\000\000\000\000\000\000\028\000\

000413| \029\000\053\000\000\000\053\000\000\000\053\000\053\000\053\000\

000414| \053\000\000\000\000\000\053\000\000\000\053\000\053\000\053\000\

000415| \053\000\053\000\053\000\053\000\053\000\054\000\000\000\000\000\

000416| \000\000\053\000\053\000\053\000\053\000\053\000\053\000\053\000\

000417| \000\000\000\000\000\000\000\000\000\000\000\000\000\000\054\000\

000418| \000\000\054\000\000\000\054\000\054\000\054\000\054\000\000\000\

000419| \000\000\054\000\000\000\054\000\054\000\054\000\054\000\054\000\

000420| \054\000\054\000\054\000\043\000\000\000\000\000\000\000\054\000\

000421| \054\000\054\000\054\000\054\000\054\000\054\000\082\000\000\000\

000422| \082\000\000\000\082\000\082\000\082\000\082\000\043\000\000\000\

000423| \043\000\000\000\000\000\043\000\000\000\000\000\043\000\043\000\

000424| \000\000\043\000\043\000\043\000\043\000\043\000\043\000\043\000\

000425| \043\000\055\000\000\000\000\000\000\000\043\000\043\000\043\000\

000426| \043\000\043\000\043\000\043\000\000\000\000\000\000\000\000\000\

000427| \000\000\000\000\000\000\055\000\000\000\055\000\061\000\055\000\

000428| \055\000\055\000\055\000\000\000\000\000\000\000\000\000\055\000\

000429| \055\000\055\000\055\000\055\000\055\000\055\000\055\000\000\000\

000430| \061\000\000\000\061\000\062\000\061\000\061\000\061\000\061\000\

000431| \000\000\000\000\000\000\000\000\061\000\061\000\061\000\000\000\

000432| \000\000\000\000\061\000\061\000\000\000\062\000\000\000\062\000\

000433| \000\000\062\000\062\000\062\000\062\000\000\000\000\000\000\000\

000434| \000\000\062\000\062\000\062\000\000\000\000\000\000\000\062\000\

000435| \062\000\069\000\000\000\069\000\000\000\069\000\069\000\069\000\

000436| \069\000\000\000\078\000\000\000\078\000\069\000\078\000\078\000\

000437| \078\000\078\000\000\000\080\000\069\000\080\000\000\000\080\000\

000438| \080\000\080\000\080\000\079\000\000\000\079\000\000\000\079\000\

000439| \079\000\079\000\079\000\076\000\000\000\076\000\000\000\076\000\

000440| \076\000\076\000\076\000\072\000\000\000\072\000\000\000\072\000\

000441| \072\000\072\000\072\000"

000442|

000443| let yycheck = (*[2]*)"\030\000\

000444| \000\000\018\000\000\000\050\000\021\000\022\000\001\001\001\000\

000445| \087\000\035\001\026\001\032\001\028\001\025\000\031\000\001\000\

000446| \037\001\022\000\034\001\156\000\157\000\007\001\009\001\049\001\

000447| \050\001\051\001\052\001\053\001\054\001\055\001\025\001\048\000\

000448| \049\000\050\000\021\001\022\001\029\001\027\001\027\001\027\001\

000449| \019\000\035\000\026\001\031\001\037\001\024\000\025\000\037\001\

000450| \037\001\028\000\029\000\027\001\038\001\039\001\040\001\041\001\

000451| \042\001\074\000\195\000\027\001\032\001\037\001\003\001\200\000\

000452| \201\000\037\001\083\000\084\000\085\000\037\001\087\000\088\000\

000453| \209\000\090\000\091\000\092\000\093\000\094\000\095\000\084\000\

000454| \054\001\055\001\087\000\220\000\027\001\090\000\098\000\099\000\

000455| \100\000\101\000\102\000\103\000\104\000\105\000\037\001\030\001\

000456| \127\000\058\001\033\001\060\001\117\000\118\000\181\000\025\001\

000457| \027\001\027\001\123\000\029\001\030\001\031\001\032\001\158\000\

000458| \117\000\118\000\037\001\037\001\001\001\002\001\123\000\098\000\

000459| \099\000\100\000\101\000\102\000\103\000\104\000\105\000\001\001\

000460| \002\001\003\001\004\001\005\001\026\001\026\001\028\001\031\001\

000461| \032\001\168\000\155\000\214\000\034\001\158\000\016\001\001\001\

000462| \002\001\003\001\004\001\005\001\223\000\023\001\024\001\026\001\

000463| \026\001\030\001\028\001\026\001\203\000\027\001\016\001\027\001\

000464| \037\001\178\000\036\001\001\001\181\000\039\001\024\001\037\001\

000465| \026\001\037\001\028\001\045\001\031\001\012\001\027\001\029\001\

000466| \181\000\030\001\037\001\210\000\054\001\055\001\056\001\037\001\

000467| \031\001\026\001\203\000\045\001\205\000\031\001\037\001\031\001\

000468| \001\001\002\001\003\001\004\001\005\001\030\001\031\001\008\001\

000469| \009\001\010\001\011\001\012\001\026\001\014\001\015\001\016\001\

000470| \017\001\018\001\019\001\031\001\032\001\025\001\023\001\024\001\

000471| \233\000\026\001\030\001\028\001\007\001\024\001\031\001\031\001\

000472| \241\000\000\000\243\000\036\001\001\001\002\001\039\001\001\001\

000473| \027\001\006\001\251\000\030\001\045\001\046\001\047\001\048\001\

000474| \038\001\039\001\040\001\041\001\042\001\054\001\055\001\024\001\

000475| \057\001\001\001\059\001\038\001\039\001\040\001\041\001\042\001\

000476| \043\001\001\001\002\001\003\001\004\001\005\001\165\000\166\000\

000477| \008\001\009\001\010\001\011\001\012\001\001\001\014\001\015\001\

000478| \016\001\017\001\018\001\019\001\040\001\041\001\042\001\023\001\

000479| \024\001\025\001\026\001\025\001\028\001\001\001\037\001\031\001\

000480| \031\001\035\001\025\001\032\001\036\001\030\001\025\001\039\001\

000481| \029\001\001\001\001\001\020\001\027\001\045\001\046\001\047\001\

000482| \048\001\031\001\026\001\026\001\001\001\027\001\054\001\055\001\

000483| \027\001\057\001\025\001\059\001\001\001\002\001\003\001\004\001\

000484| \005\001\030\001\006\001\008\001\009\001\010\001\011\001\012\001\

000485| \024\001\014\001\015\001\016\001\017\001\018\001\019\001\001\001\

000486| \033\001\013\001\023\001\024\001\025\001\026\001\031\001\028\001\

000487| \027\001\027\001\031\001\024\001\027\001\001\001\025\001\036\001\

000488| \032\001\025\001\039\001\026\001\026\001\001\001\020\001\022\001\

000489| \045\001\046\001\035\001\031\001\000\000\030\001\026\001\031\001\

000490| \029\001\054\001\055\001\027\001\057\001\027\001\059\001\001\001\

000491| \002\001\003\001\004\001\005\001\025\001\029\001\008\001\009\001\

000492| \010\001\011\001\012\001\027\001\014\001\015\001\016\001\017\001\

000493| \018\001\019\001\027\001\025\001\027\001\023\001\024\001\025\001\

000494| \026\001\025\001\028\001\025\001\031\001\031\001\031\001\163\000\

000495| \223\000\209\000\036\001\123\000\121\000\039\001\245\000\255\255\

000496| \255\255\255\255\255\255\045\001\046\001\255\255\255\255\255\255\

000497| \255\255\255\255\255\255\255\255\054\001\055\001\255\255\057\001\

000498| \255\255\059\001\001\001\002\001\003\001\004\001\005\001\255\255\

000499| \255\255\008\001\009\001\010\001\011\001\012\001\255\255\014\001\

000500| \015\001\016\001\017\001\018\001\019\001\255\255\255\255\255\255\

000501| \023\001\024\001\255\255\026\001\255\255\028\001\255\255\255\255\

000502| \031\001\255\255\255\255\255\255\255\255\036\001\255\255\255\255\

000503| \039\001\255\255\255\255\255\255\007\001\255\255\045\001\046\001\

000504| \001\001\002\001\003\001\004\001\005\001\255\255\255\255\054\001\

000505| \055\001\255\255\057\001\255\255\059\001\255\255\025\001\016\001\

000506| \027\001\255\255\029\001\030\001\031\001\032\001\023\001\024\001\

000507| \255\255\026\001\037\001\028\001\255\255\255\255\255\255\255\255\

000508| \043\001\044\001\255\255\036\001\255\255\255\255\039\001\255\255\

000509| \255\255\255\255\007\001\255\255\045\001\001\001\002\001\003\001\

000510| \004\001\005\001\255\255\255\255\255\255\054\001\055\001\255\255\

000511| \255\255\025\001\255\255\027\001\016\001\029\001\030\001\031\001\

000512| \032\001\255\255\255\255\023\001\024\001\255\255\026\001\255\255\

000513| \028\001\038\001\039\001\040\001\041\001\042\001\043\001\044\001\

000514| \036\001\255\255\255\255\039\001\255\255\255\255\255\255\255\255\

000515| \255\255\045\001\001\001\002\001\003\001\004\001\005\001\255\255\

000516| \255\255\255\255\054\001\055\001\255\255\255\255\025\001\255\255\

000517| \027\001\016\001\029\001\030\001\031\001\032\001\255\255\255\255\

000518| \255\255\024\001\037\001\026\001\255\255\028\001\255\255\255\255\

000519| \043\001\044\001\255\255\255\255\255\255\036\001\255\255\007\001\

000520| \039\001\255\255\255\255\025\001\255\255\027\001\045\001\029\001\

000521| \030\001\031\001\032\001\255\255\255\255\255\255\255\255\054\001\

000522| \055\001\025\001\255\255\027\001\255\255\029\001\030\001\031\001\

000523| \032\001\255\255\255\255\035\001\255\255\037\001\038\001\039\001\

000524| \040\001\041\001\042\001\043\001\044\001\007\001\255\255\255\255\

000525| \255\255\049\001\050\001\051\001\052\001\053\001\054\001\055\001\

000526| \255\255\255\255\255\255\255\255\255\255\255\255\255\255\025\001\

000527| \255\255\027\001\255\255\029\001\030\001\031\001\032\001\255\255\

000528| \255\255\035\001\255\255\037\001\038\001\039\001\040\001\041\001\

000529| \042\001\043\001\044\001\007\001\255\255\255\255\255\255\049\001\

000530| \050\001\051\001\052\001\053\001\054\001\055\001\025\001\255\255\

000531| \027\001\255\255\029\001\030\001\031\001\032\001\026\001\255\255\

000532| \028\001\255\255\255\255\031\001\255\255\255\255\034\001\035\001\

000533| \255\255\037\001\038\001\039\001\040\001\041\001\042\001\043\001\

000534| \044\001\007\001\255\255\255\255\255\255\049\001\050\001\051\001\

000535| \052\001\053\001\054\001\055\001\255\255\255\255\255\255\255\255\

000536| \255\255\255\255\255\255\025\001\255\255\027\001\007\001\029\001\

000537| \030\001\031\001\032\001\255\255\255\255\255\255\255\255\037\001\

000538| \038\001\039\001\040\001\041\001\042\001\043\001\044\001\255\255\

000539| \025\001\255\255\027\001\007\001\029\001\030\001\031\001\032\001\

000540| \255\255\255\255\255\255\255\255\037\001\038\001\039\001\255\255\

000541| \255\255\255\255\043\001\044\001\255\255\025\001\255\255\027\001\

000542| \255\255\029\001\030\001\031\001\032\001\255\255\255\255\255\255\

000543| \255\255\037\001\038\001\039\001\255\255\255\255\255\255\043\001\

000544| \044\001\025\001\255\255\027\001\255\255\029\001\030\001\031\001\

000545| \032\001\255\255\025\001\255\255\027\001\037\001\029\001\030\001\

000546| \031\001\032\001\255\255\025\001\044\001\027\001\255\255\029\001\

000547| \030\001\031\001\032\001\025\001\255\255\027\001\255\255\029\001\

000548| \030\001\031\001\032\001\025\001\255\255\027\001\255\255\029\001\

000549| \030\001\031\001\032\001\025\001\255\255\027\001\255\255\029\001\

000550| \030\001\031\001\032\001"

000551|

000552| let yynames_const = (*[2]*)"\

000553| FOREACH\000\

000554| WHILE\000\

000555| IF\000\

000556| FOR\000\

000557| ELSE\000\

000558| TEMPLATE\000\

000559| INSTRUCTIONS\000\

000560| FUNCTION\000\

000561| CONTINUE\000\

000562| BREAK\000\

000563| RETURN\000\

000564| IN\000\

000565| ONCE\000\

000566| WHEN\000\

000567| VAR\000\

000568| EOF\000\

000569| LBRACE\000\

000570| RBRACE\000\

000571| LPAREN\000\

000572| RPAREN\000\

000573| LBRACKET\000\

000574| RBRACKET\000\

000575| COMMA\000\

000576| SEMICOLON\000\

000577| COLON\000\

000578| DOTDOTDOT\000\

000579| DOT\000\

000580| EQUALS\000\

000581| NOT\000\

000582| QUESTION\000\

000583| PLUS\000\

000584| MINUS\000\

000585| TIMES\000\

000586| DIVIDE\000\

000587| MODULO\000\

000588| AND\000\

000589| OR\000\

000590| VOID\000\

000591| SWITCH\000\

000592| CASE\000\

000593| DEFAULT\000\

000594| PLUSEQUALS\000\

000595| MINUSEQUALS\000\

000596| TIMESEQUALS\000\

000597| DIVEQUALS\000\

000598| MODEQUALS\000\

000599| PLUSPLUS\000\

000600| MINUSMINUS\000\

000601| AT\000\

000602| TRY\000\

000603| CATCH\000\

000604| THROW\000\

000605| FINALLY\000\

000606| PROTOTYPE\000\

000607| OUTOFRANGENUMBER\000\

000608| "

000609|

000610| let yynames_block = (*[2]*)"\

000611| ID\000\

000612| INT\000\

000613| STRING\000\

000614| REAL\000\

000615| BOOLEAN\000\

000616| TEXT\000\

000617| COMPOP\000\

000618| IMPORT\000\

000619| "

000620|

000621| let yyact = (*[2]*)[|

000654| # 102 "build/parser.mly"

000655| ( [] )

000656| # 657 "build/parser.ml"

000657| : 'opt_statements))

000658| ; (fun __caml_parser_env ->

000659| (*[596]*)let _2 = (Parsing.peek_val __caml_parser_env 1 : 'statements) in

000660| (*[596]*)Obj.repr(

000661| # 105 "build/parser.mly"

000662| ( StatementBlock(_2) )

000663| # 664 "build/parser.ml"

000664| : 'statement_block))

000665| ; (fun __caml_parser_env ->

000666| (*[14]*)let _1 = (Parsing.peek_val __caml_parser_env 0 : 'empty_statement_block) in

000667| (*[14]*)Obj.repr(

000668| # 106 "build/parser.mly"

000669| ( _1 )

000670| # 671 "build/parser.ml"

000671| : 'statement_block))

000672| ; (fun __caml_parser_env ->

000673| (*[32]*)Obj.repr(

000674| # 109 "build/parser.mly"

000675| ( StatementBlock([]) )

000676| # 677 "build/parser.ml"

000677| : 'empty_statement_block))

000678| ; (fun __caml_parser_env ->

000679| (*[14]*)let _2 = (Parsing.peek_val __caml_parser_env 0 : 'statement) in

000680| (*[14]*)Obj.repr(

000681| # 112 "build/parser.mly"

000682| ( _2 )

000683| # 684 "build/parser.ml"

000684| : 'else_clause))

000685| ; (fun __caml_parser_env ->

000686| (*[22]*)Obj.repr(

000687| # 113 "build/parser.mly"

000688| ( Noop )

000689| # 690 "build/parser.ml"

000690| : 'else_clause))

000691| ; (fun __caml_parser_env ->

000692| (*[36]*)let _3 = (Parsing.peek_val __caml_parser_env 3 : 'expression) in

000693| (*[36]*)let _5 = (Parsing.peek_val __caml_parser_env 1 : 'statement) in

000694| (*[36]*)let _6 = (Parsing.peek_val __caml_parser_env 0 : 'else_clause) in

000695| (*[36]*)Obj.repr(

000696| # 116 "build/parser.mly"

000697| ( If(_3,_5,_6,get_env()) )

000698| # 699 "build/parser.ml"

000699| : 'statement))

000700| ; (fun __caml_parser_env ->

000701| (*[616]*)let _1 = (Parsing.peek_val __caml_parser_env 1 : 'expression) in

000702| (*[616]*)Obj.repr(

000703| # 117 "build/parser.mly"

000704| ( ExpressionStatement(_1, get_env()) )

000705| # 706 "build/parser.ml"

000706| : 'statement))

000707| ; (fun __caml_parser_env ->

000708| (*[22]*)Obj.repr(

000709| # 118 "build/parser.mly"

000710| ( Noop )

000711| # 712 "build/parser.ml"

000712| : 'statement))

000713| ; (fun __caml_parser_env ->

000714| (*[52]*)let _1 = (Parsing.peek_val __caml_parser_env 0 : 'statement_block) in

000715| (*[52]*)Obj.repr(

000716| # 119 "build/parser.mly"

000717| ( _1 )

000718| # 719 "build/parser.ml"

000719| : 'statement))

000720| ; (fun __caml_parser_env ->

000721| (*[16]*)let _3 = (Parsing.peek_val __caml_parser_env 4 : string) in

000722| (*[16]*)let _5 = (Parsing.peek_val __caml_parser_env 2 : 'expression) in

000723| (*[16]*)let _7 = (Parsing.peek_val __caml_parser_env 0 : 'statement) in

000724| (*[16]*)Obj.repr(

000725| # 120 "build/parser.mly"

000726| ( ForEach(_3,_5,_7,get_env()) )

000727| # 728 "build/parser.ml"

000728| : 'statement))

000729| ; (fun __caml_parser_env ->

000730| (*[14]*)let _3 = (Parsing.peek_val __caml_parser_env 2 : 'expression) in

000731| (*[14]*)let _5 = (Parsing.peek_val __caml_parser_env 0 : 'statement) in

000732| (*[14]*)Obj.repr(

000733| # 121 "build/parser.mly"

000734| ( For(Value(Void),_3,Value(Void),_5,get_env()) )

000735| # 736 "build/parser.ml"

000736| : 'statement))

000737| ; (fun __caml_parser_env ->

000738| (*[8]*)Obj.repr(

000739| # 122 "build/parser.mly"

000740| ( Continue(get_env()))

000741| # 742 "build/parser.ml"

000742| : 'statement))

000743| ; (fun __caml_parser_env ->

000744| (*[16]*)Obj.repr(

000745| # 123 "build/parser.mly"

000746| ( Break(get_env()))

000747| # 748 "build/parser.ml"

000748| : 'statement))

000749| ; (fun __caml_parser_env ->

000750| (*[440]*)let _2 = (Parsing.peek_val __caml_parser_env 1 : 'opt_expression) in

000751| (*[440]*)Obj.repr(

000752| # 124 "build/parser.mly"

000753| ( Return(_2,get_env()) )

000754| # 755 "build/parser.ml"

000755| : 'statement))

000756| ; (fun __caml_parser_env ->

000757| (*[18]*)let _1 = (Parsing.peek_val __caml_parser_env 2 : bool) in

000758| (*[18]*)let _2 = (Parsing.peek_val __caml_parser_env 1 : string) in

000759| (*[18]*)Obj.repr(

000760| # 125 "build/parser.mly"

000761| ( Import(resolve_import(_2,_1,get_env()),get_env()) )

000762| # 763 "build/parser.ml"

000763| : 'statement))

000764| ; (fun __caml_parser_env ->

000765| (*[4]*)let _2 = (Parsing.peek_val __caml_parser_env 3 : string) in

000766| (*[4]*)let _4 = (Parsing.peek_val __caml_parser_env 1 : 'template_specs) in

000767| (*[4]*)Obj.repr(

000768| # 126 "build/parser.mly"

000769| ( TemplateDef(_2, _4,get_env()) )

000770| # 771 "build/parser.ml"

000771| : 'statement))

000772| ; (fun __caml_parser_env ->

000773| (*[2]*)let _3 = (Parsing.peek_val __caml_parser_env 6 : string) in

000774| (*[2]*)let _5 = (Parsing.peek_val __caml_parser_env 4 : 'arglist) in

000775| (*[2]*)let _8 = (Parsing.peek_val __caml_parser_env 1 : 'instruction_specs) in

000776| (*[2]*)Obj.repr(

000777| # 128 "build/parser.mly"

000778| ( Instructions(_3,_5,_8,get_env()) )

000779| # 780 "build/parser.ml"

000780| : 'statement))

000781| ; (fun __caml_parser_env ->

000782| (*[14]*)let _3 = (Parsing.peek_val __caml_parser_env 4 : 'expression) in

000783| (*[14]*)let _6 = (Parsing.peek_val __caml_parser_env 1 : 'switch_statements) in

000784| (*[14]*)Obj.repr(

000785| # 130 "build/parser.mly"

000786| ( Switch(_3,_6, get_env()) )

000787| # 788 "build/parser.ml"

000788| : 'statement))

000789| ; (fun __caml_parser_env ->

000790| (*[22]*)let _3 = (Parsing.peek_val __caml_parser_env 6 : 'opt_expression) in

000791| (*[22]*)let _5 = (Parsing.peek_val __caml_parser_env 4 : 'opt_expression) in

000792| (*[22]*)let _7 = (Parsing.peek_val __caml_parser_env 2 : 'opt_expression) in

000793| (*[22]*)let _9 = (Parsing.peek_val __caml_parser_env 0 : 'statement) in

000794| (*[22]*)Obj.repr(

000795| # 133 "build/parser.mly"

000796| ( For(_3,_5,_7,_9,get_env()) )

000797| # 798 "build/parser.ml"

000798| : 'statement))

000799| ; (fun __caml_parser_env ->

000800| (*[98]*)let _2 = (Parsing.peek_val __caml_parser_env 5 : 'statement_block) in

000801| (*[98]*)let _5 = (Parsing.peek_val __caml_parser_env 2 : string) in

000802| (*[98]*)let _7 = (Parsing.peek_val __caml_parser_env 0 : 'statement_block) in

000803| (*[98]*)Obj.repr(

000804| # 134 "build/parser.mly"

000805| ( TryCatch(_2,_5,_7, get_env()) )

000806| # 807 "build/parser.ml"

000807| : 'statement))

000808| ; (fun __caml_parser_env ->

000809| (*[8]*)let _2 = (Parsing.peek_val __caml_parser_env 2 : 'statement_block) in

000810| (*[8]*)let _4 = (Parsing.peek_val __caml_parser_env 0 : 'statement_block) in

000811| (*[8]*)Obj.repr(

000812| # 135 "build/parser.mly"

000813| ( TryFinally(_2,_4,get_env()) )

000814| # 815 "build/parser.ml"

000815| : 'statement))

000816| ; (fun __caml_parser_env ->

000817| (*[12]*)let _2 = (Parsing.peek_val __caml_parser_env 1 : 'expression) in

000818| (*[12]*)Obj.repr(

000819| # 136 "build/parser.mly"

000820| ( Throw(_2, get_env()) )

000821| # 822 "build/parser.ml"

000822| : 'statement))

000823| ; (fun __caml_parser_env ->

000824| (*[30]*)let _2 = (Parsing.peek_val __caml_parser_env 1 : 'expression) in

000825| (*[30]*)Obj.repr(

000826| # 139 "build/parser.mly"

000827| ( Case(Some _2,get_env()) )

000828| # 829 "build/parser.ml"

000829| : 'switch_statement))

000830| ; (fun __caml_parser_env ->

000831| (*[14]*)Obj.repr(

000832| # 140 "build/parser.mly"

000833| ( Case(None,get_env()) )

000834| # 835 "build/parser.ml"

000835| : 'switch_statement))

000836| ; (fun __caml_parser_env ->

000837| (*[40]*)let _1 = (Parsing.peek_val __caml_parser_env 0 : 'statement) in

000838| (*[40]*)Obj.repr(

000839| # 141 "build/parser.mly"

000840| ( _1 )

000841| # 842 "build/parser.ml"

000842| : 'switch_statement))

000843| ; (fun __caml_parser_env ->

000844| (*[14]*)let _1 = (Parsing.peek_val __caml_parser_env 0 : 'switch_statement) in

000845| (*[14]*)Obj.repr(

000846| # 144 "build/parser.mly"

000847| ( [_1] )

000848| # 849 "build/parser.ml"

000849| : 'switch_statements))

000850| ; (fun __caml_parser_env ->

000851| (*[70]*)let _1 = (Parsing.peek_val __caml_parser_env 1 : 'switch_statement) in

000852| (*[70]*)let _2 = (Parsing.peek_val __caml_parser_env 0 : 'switch_statements) in

000853| (*[70]*)Obj.repr(

000854| # 145 "build/parser.mly"

000855| ( _1::_2 )

000856| # 857 "build/parser.ml"

000857| : 'switch_statements))

000858| ; (fun __caml_parser_env ->

000859| (*[506]*)let _1 = (Parsing.peek_val __caml_parser_env 0 : 'expression) in

000860| (*[506]*)Obj.repr(

000861| # 148 "build/parser.mly"

000862| ( _1 )

000863| # 864 "build/parser.ml"

000864| : 'opt_expression))

000865| ; (fun __caml_parser_env ->

000874| # 152 "build/parser.mly"

000875| ( Value(Void) )

000876| # 877 "build/parser.ml"

000877| : 'empty_expression))

000878| ; (fun __caml_parser_env ->

000879| (*[900]*)let _1 = (Parsing.peek_val __caml_parser_env 0 : int) in

000880| (*[900]*)Obj.repr(

000881| # 155 "build/parser.mly"

000882| ( Value(IntegerValue(_1)) )

000883| # 884 "build/parser.ml"

000884| : 'atom_expr))

000885| ; (fun __caml_parser_env ->

000886| (*[156]*)let _1 = (Parsing.peek_val __caml_parser_env 0 : float) in

000887| (*[156]*)Obj.repr(

000888| # 156 "build/parser.mly"

000889| ( Value(FloatValue(_1)) )

000890| # 891 "build/parser.ml"

000891| : 'atom_expr))

000892| ; (fun __caml_parser_env ->

000893| (*[942]*)let _1 = (Parsing.peek_val __caml_parser_env 0 : string) in

000894| (*[942]*)Obj.repr(

000895| # 157 "build/parser.mly"

000896| ( Value(StringValue(_1)) )

000897| # 898 "build/parser.ml"

000898| : 'atom_expr))

000899| ; (fun __caml_parser_env ->

000900| (*[272]*)let _1 = (Parsing.peek_val __caml_parser_env 0 : bool) in

000901| (*[272]*)Obj.repr(

000902| # 158 "build/parser.mly"

000903| ( Value(BooleanValue(_1)) )

000904| # 905 "build/parser.ml"

000905| : 'atom_expr))

000906| ; (fun __caml_parser_env ->

000907| (*[12]*)Obj.repr(

000908| # 159 "build/parser.mly"

000909| ( Value(Void) )

000910| # 911 "build/parser.ml"

000911| : 'atom_expr))

000912| ; (fun __caml_parser_env ->

000913| (*[118]*)let _2 = (Parsing.peek_val __caml_parser_env 1 : 'expr_list) in

000914| (*[118]*)Obj.repr(

000915| # 160 "build/parser.mly"

000916| ( ArrayExpr(_2) )

000917| # 918 "build/parser.ml"

000918| : 'atom_expr))

000919| ; (fun __caml_parser_env ->

000920| (*[352]*)let _2 = (Parsing.peek_val __caml_parser_env 1 : 'prop_list) in

000921| (*[352]*)Obj.repr(

000922| # 161 "build/parser.mly"

000923| ( MapExpr(_2) )

000924| # 925 "build/parser.ml"

000925| : 'atom_expr))

000926| ; (fun __caml_parser_env ->

000927| (*[1486]*)let _1 = (Parsing.peek_val __caml_parser_env 0 : string) in

000928| (*[1486]*)Obj.repr(

000929| # 162 "build/parser.mly"

000930| ( Id(_1) )

000931| # 932 "build/parser.ml"

000932| : 'atom_expr))

000933| ; (fun __caml_parser_env ->

000934| (*[40]*)let _2 = (Parsing.peek_val __caml_parser_env 1 : 'expression) in

000935| (*[40]*)Obj.repr(

000936| # 163 "build/parser.mly"

000937| ( _2 )

000938| # 939 "build/parser.ml"

000939| : 'atom_expr))

000940| ; (fun __caml_parser_env ->

000941| (*[4278]*)let _1 = (Parsing.peek_val __caml_parser_env 0 : 'atom_expr) in

000942| (*[4278]*)Obj.repr(

000943| # 166 "build/parser.mly"

000944| (_1)

000945| # 946 "build/parser.ml"

000946| : 'member_expr))

000947| ; (fun __caml_parser_env ->

000948| (*[346]*)let _3 = (Parsing.peek_val __caml_parser_env 2 : 'arglist) in

000949| (*[346]*)let _5 = (Parsing.peek_val __caml_parser_env 0 : 'statement_block) in

000950| (*[346]*)Obj.repr(

000951| # 167 "build/parser.mly"

000952| ( Value(FunctionValue(_3,extract_stmt_list(_5))) )

000953| # 954 "build/parser.ml"

000954| : 'member_expr))

000955| ; (fun __caml_parser_env ->

000956| (*[46]*)let _1 = (Parsing.peek_val __caml_parser_env 3 : 'member_expr) in

000957| (*[46]*)let _3 = (Parsing.peek_val __caml_parser_env 1 : 'expression) in

000958| (*[46]*)Obj.repr(

000959| # 168 "build/parser.mly"

000960| ( MemberExpr(_1,_3) )

000961| # 962 "build/parser.ml"

000962| : 'member_expr))

000963| ; (fun __caml_parser_env ->

000964| (*[338]*)let _1 = (Parsing.peek_val __caml_parser_env 2 : 'member_expr) in

000965| (*[338]*)let _3 = (Parsing.peek_val __caml_parser_env 0 : string) in

000966| (*[338]*)Obj.repr(

000967| # 169 "build/parser.mly"

000968| ( MemberExpr(_1,Value(StringValue(_3))) )

000969| # 970 "build/parser.ml"

000970| : 'member_expr))

000971| ; (fun __caml_parser_env ->

000972| (*[380]*)let _1 = (Parsing.peek_val __caml_parser_env 3 : 'member_expr) in

000973| (*[380]*)let _3 = (Parsing.peek_val __caml_parser_env 1 : 'fexpr_list) in

000974| (*[380]*)Obj.repr(

000975| # 172 "build/parser.mly"

000976| ( FunctionCall(_1,_3) )

000977| # 978 "build/parser.ml"

000978| : 'call_expr))

000979| ; (fun __caml_parser_env ->

000980| (*[2]*)let _1 = (Parsing.peek_val __caml_parser_env 3 : 'call_expr) in

000981| (*[2]*)let _3 = (Parsing.peek_val __caml_parser_env 1 : 'fexpr_list) in

000982| (*[2]*)Obj.repr(

000983| # 173 "build/parser.mly"

000984| ( FunctionCall(_1,_3) )

000985| # 986 "build/parser.ml"

000986| : 'call_expr))

000987| ; (fun __caml_parser_env ->

000991| # 174 "build/parser.mly"

000992| ( MemberExpr(_1,_3) )

000993| # 994 "build/parser.ml"

000994| : 'call_expr))

000995| ; (fun __caml_parser_env ->

000996| (*[2]*)let _1 = (Parsing.peek_val __caml_parser_env 2 : 'call_expr) in

000997| (*[2]*)let _3 = (Parsing.peek_val __caml_parser_env 0 : string) in

000998| (*[2]*)Obj.repr(

000999| # 175 "build/parser.mly"

001000| ( MemberExpr(_1,Value(StringValue(_3))) )

001001| # 1002 "build/parser.ml"

001002| : 'call_expr))

001003| ; (fun __caml_parser_env ->

001004| (*[4244]*)let _1 = (Parsing.peek_val __caml_parser_env 0 : 'member_expr) in

001005| (*[4244]*)Obj.repr(

001006| # 178 "build/parser.mly"

001007| (_1)

001008| # 1009 "build/parser.ml"

001009| : 'lhs_expr))

001010| ; (fun __caml_parser_env ->

001011| (*[380]*)let _1 = (Parsing.peek_val __caml_parser_env 0 : 'call_expr) in

001012| (*[380]*)Obj.repr(

001013| # 179 "build/parser.mly"

001014| (_1)

001015| # 1016 "build/parser.ml"

001016| : 'lhs_expr))

001017| ; (fun __caml_parser_env ->

001018| (*[4032]*)let _1 = (Parsing.peek_val __caml_parser_env 0 : 'lhs_expr) in

001019| (*[4032]*)Obj.repr(

001020| # 182 "build/parser.mly"

001021| ( _1 )

001022| # 1023 "build/parser.ml"

001023| : 'unary_expr))

001024| ; (fun __caml_parser_env ->

001025| (*[40]*)let _2 = (Parsing.peek_val __caml_parser_env 0 : 'lhs_expr) in

001026| (*[40]*)Obj.repr(

001027| # 183 "build/parser.mly"

001028| ( Assignment(_2,BinaryOp(_2,Plus,Value(IntegerValue(1)))) )

001029| # 1030 "build/parser.ml"

001030| : 'unary_expr))

001031| ; (fun __caml_parser_env ->

001032| (*[2]*)let _2 = (Parsing.peek_val __caml_parser_env 0 : 'lhs_expr) in

001033| (*[2]*)Obj.repr(

001034| # 184 "build/parser.mly"

001035| ( Assignment(_2,BinaryOp(_2,Minus,Value(IntegerValue(1)))) )

001036| # 1037 "build/parser.ml"

001037| : 'unary_expr))

001038| ; (fun __caml_parser_env ->

001039| (*[8]*)let _1 = (Parsing.peek_val __caml_parser_env 1 : 'lhs_expr) in

001040| (*[8]*)Obj.repr(

001041| # 185 "build/parser.mly"

001042| ( PostFixSum(_1,1) )

001043| # 1044 "build/parser.ml"

001044| : 'unary_expr))

001045| ; (fun __caml_parser_env ->

001046| (*[2]*)let _1 = (Parsing.peek_val __caml_parser_env 1 : 'lhs_expr) in

001047| (*[2]*)Obj.repr(

001048| # 186 "build/parser.mly"

001049| ( PostFixSum(_1,-1) )

001050| # 1051 "build/parser.ml"

001051| : 'unary_expr))

001052| ; (fun __caml_parser_env ->

001053| (*[4084]*)let _1 = (Parsing.peek_val __caml_parser_env 0 : 'unary_expr) in

001054| (*[4084]*)Obj.repr(

001055| # 189 "build/parser.mly"

001056| (_1)

001057| # 1058 "build/parser.ml"

001058| : 'op_expr))

001059| ; (fun __caml_parser_env ->

001060| (*[40]*)let _1 = (Parsing.peek_val __caml_parser_env 2 : 'op_expr) in

001061| (*[40]*)let _3 = (Parsing.peek_val __caml_parser_env 0 : 'op_expr) in

001062| (*[40]*)Obj.repr(

001063| # 190 "build/parser.mly"

001064| ( BinaryOp(_1,Plus,_3) )

001065| # 1066 "build/parser.ml"

001066| : 'op_expr))

001067| ; (fun __caml_parser_env ->

001068| (*[14]*)let _1 = (Parsing.peek_val __caml_parser_env 2 : 'op_expr) in

001069| (*[14]*)let _3 = (Parsing.peek_val __caml_parser_env 0 : 'op_expr) in

001070| (*[14]*)Obj.repr(

001071| # 191 "build/parser.mly"

001072| ( BinaryOp(_1,Minus,_3) )

001073| # 1074 "build/parser.ml"

001074| : 'op_expr))

001075| ; (fun __caml_parser_env ->

001076| (*[12]*)let _1 = (Parsing.peek_val __caml_parser_env 2 : 'op_expr) in

001077| (*[12]*)let _3 = (Parsing.peek_val __caml_parser_env 0 : 'op_expr) in

001078| (*[12]*)Obj.repr(

001079| # 192 "build/parser.mly"

001080| ( BinaryOp(_1,Times,_3) )

001081| # 1082 "build/parser.ml"

001082| : 'op_expr))

001083| ; (fun __caml_parser_env ->

001084| (*[14]*)let _1 = (Parsing.peek_val __caml_parser_env 2 : 'op_expr) in

001085| (*[14]*)let _3 = (Parsing.peek_val __caml_parser_env 0 : 'op_expr) in

001086| (*[14]*)Obj.repr(

001087| # 193 "build/parser.mly"

001088| ( BinaryOp(_1,Divide,_3) )

001089| # 1090 "build/parser.ml"

001090| : 'op_expr))

001091| ; (fun __caml_parser_env ->

001092| (*[8]*)let _1 = (Parsing.peek_val __caml_parser_env 2 : 'op_expr) in

001093| (*[8]*)let _3 = (Parsing.peek_val __caml_parser_env 0 : 'op_expr) in

001094| (*[8]*)Obj.repr(

001095| # 194 "build/parser.mly"

001096| ( BinaryOp(_1,Modulo,_3) )

001097| # 1098 "build/parser.ml"

001098| : 'op_expr))

001099| ; (fun __caml_parser_env ->

001100| (*[620]*)let _1 = (Parsing.peek_val __caml_parser_env 2 : 'op_expr) in

001101| (*[620]*)let _2 = (Parsing.peek_val __caml_parser_env 1 : Ast.comparator) in

001102| (*[620]*)let _3 = (Parsing.peek_val __caml_parser_env 0 : 'op_expr) in

001103| (*[620]*)Obj.repr(

001104| # 195 "build/parser.mly"

001105| ( CompOp(_1,_2,_3) )

001106| # 1107 "build/parser.ml"

001107| : 'op_expr))

001108| ; (fun __caml_parser_env ->

001109| (*[38]*)let _2 = (Parsing.peek_val __caml_parser_env 0 : 'lhs_expr) in

001110| (*[38]*)Obj.repr(

001111| # 196 "build/parser.mly"

001112| ( Not(_2) )

001113| # 1114 "build/parser.ml"

001114| : 'op_expr))

001115| ; (fun __caml_parser_env ->

001116| (*[338]*)let _1 = (Parsing.peek_val __caml_parser_env 2 : 'op_expr) in

001117| (*[338]*)let _3 = (Parsing.peek_val __caml_parser_env 0 : 'op_expr) in

001118| (*[338]*)Obj.repr(

001119| # 197 "build/parser.mly"

001120| ( BinaryOp(_1,And,_3) )

001121| # 1122 "build/parser.ml"

001122| : 'op_expr))

001123| ; (fun __caml_parser_env ->

001124| (*[22]*)let _1 = (Parsing.peek_val __caml_parser_env 2 : 'op_expr) in

001125| (*[22]*)let _3 = (Parsing.peek_val __caml_parser_env 0 : 'op_expr) in

001126| (*[22]*)Obj.repr(

001127| # 198 "build/parser.mly"

001128| ( BinaryOp(_1,Or,_3) )

001129| # 1130 "build/parser.ml"

001130| : 'op_expr))

001131| ; (fun __caml_parser_env ->

001132| (*[6]*)let _2 = (Parsing.peek_val __caml_parser_env 0 : 'op_expr) in

001133| (*[6]*)Obj.repr(

001134| # 199 "build/parser.mly"

001135| ( BinaryOp(Value(IntegerValue(0)),Minus,_2) )

001136| # 1137 "build/parser.ml"

001137| : 'op_expr))

001138| ; (fun __caml_parser_env ->

001139| (*[3054]*)let _1 = (Parsing.peek_val __caml_parser_env 0 : 'op_expr) in

001140| (*[3054]*)Obj.repr(

001141| # 202 "build/parser.mly"

001142| (_1)

001143| # 1144 "build/parser.ml"

001144| : 'cond_expr))

001145| ; (fun __caml_parser_env ->

001146| (*[16]*)let _1 = (Parsing.peek_val __caml_parser_env 4 : 'expression) in

001147| (*[16]*)let _3 = (Parsing.peek_val __caml_parser_env 2 : 'expression) in

001148| (*[16]*)let _5 = (Parsing.peek_val __caml_parser_env 0 : 'expression) in

001149| (*[16]*)Obj.repr(

001150| # 204 "build/parser.mly"

001151| ( TernaryCond(_1,_3,_5) )

001152| # 1153 "build/parser.ml"

001153| : 'cond_expr))

001154| ; (fun __caml_parser_env ->

001155| (*[3070]*)let _1 = (Parsing.peek_val __caml_parser_env 0 : 'cond_expr) in

001156| (*[3070]*)Obj.repr(

001157| # 207 "build/parser.mly"

001158| (_1)

001159| # 1160 "build/parser.ml"

001160| : 'expression))

001161| ; (fun __caml_parser_env ->

001162| (*[66]*)let _1 = (Parsing.peek_val __caml_parser_env 2 : 'lhs_expr) in

001163| (*[66]*)let _3 = (Parsing.peek_val __caml_parser_env 0 : 'expression) in

001164| (*[66]*)Obj.repr(

001165| # 208 "build/parser.mly"

001166| ( Assignment(_1,_3) )

001167| # 1168 "build/parser.ml"

001168| : 'expression))

001169| ; (fun __caml_parser_env ->

001170| (*[2]*)let _1 = (Parsing.peek_val __caml_parser_env 2 : 'lhs_expr) in

001171| (*[2]*)let _3 = (Parsing.peek_val __caml_parser_env 0 : 'empty_statement_block) in

001172| (*[2]*)Obj.repr(

001173| # 209 "build/parser.mly"

001174| ( Assignment(_1,MapExpr([])) )

001175| # 1176 "build/parser.ml"

001176| : 'expression))

001177| ; (fun __caml_parser_env ->

001178| (*[402]*)let _2 = (Parsing.peek_val __caml_parser_env 2 : 'lhs_expr) in

001179| (*[402]*)let _4 = (Parsing.peek_val __caml_parser_env 0 : 'expression) in

001180| (*[402]*)Obj.repr(

001181| # 210 "build/parser.mly"

001182| ( Declaration(_2,_4) )

001183| # 1184 "build/parser.ml"

001184| : 'expression))

001185| ; (fun __caml_parser_env ->

001186| (*[10]*)let _2 = (Parsing.peek_val __caml_parser_env 2 : 'lhs_expr) in

001187| (*[10]*)let _4 = (Parsing.peek_val __caml_parser_env 0 : 'empty_statement_block) in

001188| (*[10]*)Obj.repr(

001189| # 211 "build/parser.mly"

001190| ( Declaration(_2,MapExpr([])) )

001191| # 1192 "build/parser.ml"

001192| : 'expression))

001193| ; (fun __caml_parser_env ->

001194| (*[2]*)let _1 = (Parsing.peek_val __caml_parser_env 2 : 'lhs_expr) in

001195| (*[2]*)let _3 = (Parsing.peek_val __caml_parser_env 0 : 'expression) in

001196| (*[2]*)Obj.repr(

001197| # 212 "build/parser.mly"

001198| ( Assignment(_1,(BinaryOp(_1,Times,_3))) )

001199| # 1200 "build/parser.ml"

001200| : 'expression))

001201| ; (fun __caml_parser_env ->

001202| (*[2]*)let _1 = (Parsing.peek_val __caml_parser_env 2 : 'lhs_expr) in

001203| (*[2]*)let _3 = (Parsing.peek_val __caml_parser_env 0 : 'expression) in

001204| (*[2]*)Obj.repr(

001205| # 213 "build/parser.mly"

001206| ( Assignment(_1,(BinaryOp(_1,Modulo,_3))) )

001207| # 1208 "build/parser.ml"

001208| : 'expression))

001209| ; (fun __caml_parser_env ->

001210| (*[2]*)let _1 = (Parsing.peek_val __caml_parser_env 2 : 'lhs_expr) in

001211| (*[2]*)let _3 = (Parsing.peek_val __caml_parser_env 0 : 'expression) in

001212| (*[2]*)Obj.repr(

001213| # 214 "build/parser.mly"

001214| ( Assignment(_1,(BinaryOp(_1,Divide,_3))) )

001215| # 1216 "build/parser.ml"

001216| : 'expression))

001217| ; (fun __caml_parser_env ->

001218| (*[14]*)let _1 = (Parsing.peek_val __caml_parser_env 2 : 'lhs_expr) in

001219| (*[14]*)let _3 = (Parsing.peek_val __caml_parser_env 0 : 'expression) in

001220| (*[14]*)Obj.repr(

001221| # 215 "build/parser.mly"

001222| ( Assignment(_1,(BinaryOp(_1,Plus,_3))) )

001223| # 1224 "build/parser.ml"

001224| : 'expression))

001225| ; (fun __caml_parser_env ->

001226| (*[2]*)let _1 = (Parsing.peek_val __caml_parser_env 2 : 'lhs_expr) in

001227| (*[2]*)let _3 = (Parsing.peek_val __caml_parser_env 0 : 'expression) in

001228| (*[2]*)Obj.repr(

001229| # 216 "build/parser.mly"

001230| ( Assignment(_1,(BinaryOp(_1,Minus,_3))) )

001231| # 1232 "build/parser.ml"

001232| : 'expression))

001233| ; (fun __caml_parser_env ->

001234| (*[22]*)let _1 = (Parsing.peek_val __caml_parser_env 0 : string) in

001235| (*[22]*)Obj.repr(

001236| # 219 "build/parser.mly"

001237| ( [_1] )

001238| # 1239 "build/parser.ml"

001239| : 'arglist))

001240| ; (fun __caml_parser_env ->

001241| (*[4]*)let _1 = (Parsing.peek_val __caml_parser_env 1 : string) in

001242| (*[4]*)Obj.repr(

001243| # 220 "build/parser.mly"

001244| ( ["["^_1] )

001245| # 1246 "build/parser.ml"

001246| : 'arglist))

001247| ; (fun __caml_parser_env ->

001248| (*[20]*)let _1 = (Parsing.peek_val __caml_parser_env 2 : string) in

001249| (*[20]*)let _3 = (Parsing.peek_val __caml_parser_env 0 : 'arglist) in

001250| (*[20]*)Obj.repr(

001251| # 221 "build/parser.mly"

001252| ( _1::_3 )

001253| # 1254 "build/parser.ml"

001254| : 'arglist))

001255| ; (fun __caml_parser_env ->

001256| (*[322]*)Obj.repr(

001257| # 222 "build/parser.mly"

001258| ( [] )

001259| # 1260 "build/parser.ml"

001260| : 'arglist))

001261| ; (fun __caml_parser_env ->

001262| (*[110]*)let _1 = (Parsing.peek_val __caml_parser_env 0 : 'expression) in

001263| (*[110]*)Obj.repr(

001264| # 225 "build/parser.mly"

001265| ( [_1] )

001266| # 1267 "build/parser.ml"

001267| : 'expr_list))

001268| ; (fun __caml_parser_env ->

001271| # 226 "build/parser.mly"

001272| ( [MapExpr([])] )

001273| # 1274 "build/parser.ml"

001274| : 'expr_list))

001275| ; (fun __caml_parser_env ->

001276| (*[474]*)let _1 = (Parsing.peek_val __caml_parser_env 2 : 'expression) in

001277| (*[474]*)let _3 = (Parsing.peek_val __caml_parser_env 0 : 'expr_list) in

001278| (*[474]*)Obj.repr(

001279| # 227 "build/parser.mly"

001280| ( _1::_3 )

001281| # 1282 "build/parser.ml"

001282| : 'expr_list))

001283| ; (fun __caml_parser_env ->

001284| (*[8]*)Obj.repr(

001285| # 228 "build/parser.mly"

001286| ( [] )

001287| # 1288 "build/parser.ml"

001288| : 'expr_list))

001289| ; (fun __caml_parser_env ->

001290| (*[400]*)let _1 = (Parsing.peek_val __caml_parser_env 0 : 'expression) in

001291| (*[400]*)Obj.repr(

001292| # 231 "build/parser.mly"

001293| ( _1 )

001294| # 1295 "build/parser.ml"

001295| : 'fexpr))

001296| ; (fun __caml_parser_env ->

001297| (*[4]*)let _1 = (Parsing.peek_val __caml_parser_env 0 : 'empty_statement_block) in

001298| (*[4]*)Obj.repr(

001299| # 232 "build/parser.mly"

001300| ( MapExpr([]) )

001301| # 1302 "build/parser.ml"

001302| : 'fexpr))

001303| ; (fun __caml_parser_env ->

001304| (*[4]*)let _2 = (Parsing.peek_val __caml_parser_env 0 : string) in

001305| (*[4]*)Obj.repr(

001306| # 233 "build/parser.mly"

001307| ( UnboundVar(_2) )

001308| # 1309 "build/parser.ml"

001309| : 'fexpr))

001310| ; (fun __caml_parser_env ->

001311| (*[2]*)let _2 = (Parsing.peek_val __caml_parser_env 1 : string) in

001312| (*[2]*)Obj.repr(

001313| # 234 "build/parser.mly"

001314| ( UnboundVar("["^_2) )

001315| # 1316 "build/parser.ml"

001316| : 'fexpr))

001317| ; (fun __caml_parser_env ->

001318| (*[286]*)let _1 = (Parsing.peek_val __caml_parser_env 0 : 'fexpr) in

001319| (*[286]*)Obj.repr(

001320| # 237 "build/parser.mly"

001321| ( [_1] )

001322| # 1323 "build/parser.ml"

001323| : 'fexpr_list))

001324| ; (fun __caml_parser_env ->

001325| (*[124]*)let _1 = (Parsing.peek_val __caml_parser_env 2 : 'fexpr) in

001326| (*[124]*)let _3 = (Parsing.peek_val __caml_parser_env 0 : 'fexpr_list) in

001327| (*[124]*)Obj.repr(

001328| # 238 "build/parser.mly"

001329| ( _1::_3 )

001330| # 1331 "build/parser.ml"

001331| : 'fexpr_list))

001332| ; (fun __caml_parser_env ->

001333| (*[96]*)Obj.repr(

001334| # 239 "build/parser.mly"

001335| ( [] )

001336| # 1337 "build/parser.ml"

001337| : 'fexpr_list))

001338| ; (fun __caml_parser_env ->

001339| (*[710]*)let _1 = (Parsing.peek_val __caml_parser_env 2 : string) in

001340| (*[710]*)let _3 = (Parsing.peek_val __caml_parser_env 0 : 'expression) in

001341| (*[710]*)Obj.repr(

001342| # 242 "build/parser.mly"

001343| ( (_1,_3) )

001344| # 1345 "build/parser.ml"

001345| : 'property))

001346| ; (fun __caml_parser_env ->

001347| (*[2]*)let _1 = (Parsing.peek_val __caml_parser_env 2 : string) in

001348| (*[2]*)let _3 = (Parsing.peek_val __caml_parser_env 0 : 'empty_statement_block) in

001349| (*[2]*)Obj.repr(

001350| # 243 "build/parser.mly"

001351| ( (_1,MapExpr([])) )

001352| # 1353 "build/parser.ml"

001353| : 'property))

001354| ; (fun __caml_parser_env ->

001355| (*[352]*)let _1 = (Parsing.peek_val __caml_parser_env 0 : 'property) in

001356| (*[352]*)Obj.repr(

001357| # 246 "build/parser.mly"

001358| ( [_1] )

001359| # 1360 "build/parser.ml"

001360| : 'prop_list))

001361| ; (fun __caml_parser_env ->

001362| (*[360]*)let _1 = (Parsing.peek_val __caml_parser_env 2 : 'property) in

001363| (*[360]*)let _3 = (Parsing.peek_val __caml_parser_env 0 : 'prop_list) in

001364| (*[360]*)Obj.repr(

001365| # 247 "build/parser.mly"

001366| ( _1::_3 )

001367| # 1368 "build/parser.ml"

001368| : 'prop_list))

001369| ; (fun __caml_parser_env ->

001370| (*[16]*)let _1 = (Parsing.peek_val __caml_parser_env 1 : 'label) in

001371| (*[16]*)let _2 = (Parsing.peek_val __caml_parser_env 0 : string) in

001372| (*[16]*)Obj.repr(

001373| # 250 "build/parser.mly"

001374| ( (Some _1,_2 ^ "\n") )

001375| # 1376 "build/parser.ml"

001376| : 'template_spec))

001377| ; (fun __caml_parser_env ->

001378| (*[16]*)let _1 = (Parsing.peek_val __caml_parser_env 0 : string) in

001379| (*[16]*)Obj.repr(

001380| # 251 "build/parser.mly"

001381| ( (None, _1 ^ "\n") )

001382| # 1383 "build/parser.ml"

001383| : 'template_spec))

001384| ; (fun __caml_parser_env ->

001385| (*[4]*)let _1 = (Parsing.peek_val __caml_parser_env 0 : 'template_spec) in

001386| (*[4]*)Obj.repr(

001387| # 254 "build/parser.mly"

001388| ( [_1] )

001389| # 1390 "build/parser.ml"

001390| : 'template_specs))

001391| ; (fun __caml_parser_env ->

001392| (*[28]*)let _1 = (Parsing.peek_val __caml_parser_env 1 : 'template_spec) in

001393| (*[28]*)let _2 = (Parsing.peek_val __caml_parser_env 0 : 'template_specs) in

001394| (*[28]*)Obj.repr(

001395| # 255 "build/parser.mly"

001396| ( _1::_2 )

001397| # 1398 "build/parser.ml"

001398| : 'template_specs))

001399| ; (fun __caml_parser_env ->

001400| (*[6]*)let _1 = (Parsing.peek_val __caml_parser_env 4 : 'label) in

001401| (*[6]*)let _2 = (Parsing.peek_val __caml_parser_env 3 : 'repl_condition) in

001402| (*[6]*)let _4 = (Parsing.peek_val __caml_parser_env 1 : 'replacement_list) in

001403| (*[6]*)Obj.repr(

001404| # 258 "build/parser.mly"

001405| ( (_1,_2,_4) )

001406| # 1407 "build/parser.ml"

001407| : 'instruction_spec))

001408| ; (fun __caml_parser_env ->