type token = | IDENT of (Symb.ident) | PLUS | MOINS | PLUSPLUS | INTER | FLECHE | CROCHETG | CROCHETD | RESTD | RESTG | POINT | TILDE | PARG | PARD | UNIV | IDEN | NONE | BARRE | IF | THEN | ELSE | LET | VIRGULE | EQ | OR | IMPLIES | AND | NOT | SOME | NO | LONE | ONE | IN | ALL | ACCG | ACCD | DP | SET | DIV | SIG | ABSTRACT | EXTENDS | PRED | FUN | FACT | ASSERT | CHECK | RUN | OPEN | MODULE | EXACTLY | FOR | BUT | INT | LT | GT | EOF | EXPECTS open Parsing;; # 2 "alloyparse.mly" open Symb open Alloyast let parse_error s = let st = Parsing.symbol_start_pos () and en = Parsing.symbol_end_pos () in failwith ("Syntax error at surat " ^ string_of_int st.Lexing.pos_lnum ^ ":" ^ string_of_int (st.Lexing.pos_cnum - st.Lexing.pos_bol) ^ " - " ^ string_of_int en.Lexing.pos_lnum ^ ":" ^ string_of_int (en.Lexing.pos_cnum - en.Lexing.pos_bol) ^ " : " ^ s) # 71 "alloyparse.ml" let yytransl_const = [| 258 (* PLUS *); 259 (* MOINS *); 260 (* PLUSPLUS *); 261 (* INTER *); 262 (* FLECHE *); 263 (* CROCHETG *); 264 (* CROCHETD *); 265 (* RESTD *); 266 (* RESTG *); 267 (* POINT *); 268 (* TILDE *); 269 (* PARG *); 270 (* PARD *); 271 (* UNIV *); 272 (* IDEN *); 273 (* NONE *); 274 (* BARRE *); 275 (* IF *); 276 (* THEN *); 277 (* ELSE *); 278 (* LET *); 279 (* VIRGULE *); 280 (* EQ *); 281 (* OR *); 282 (* IMPLIES *); 283 (* AND *); 284 (* NOT *); 285 (* SOME *); 286 (* NO *); 287 (* LONE *); 288 (* ONE *); 289 (* IN *); 290 (* ALL *); 291 (* ACCG *); 292 (* ACCD *); 293 (* DP *); 294 (* SET *); 295 (* DIV *); 296 (* SIG *); 297 (* ABSTRACT *); 298 (* EXTENDS *); 299 (* PRED *); 300 (* FUN *); 301 (* FACT *); 302 (* ASSERT *); 303 (* CHECK *); 304 (* RUN *); 305 (* OPEN *); 306 (* MODULE *); 307 (* EXACTLY *); 308 (* FOR *); 309 (* BUT *); 310 (* INT *); 311 (* LT *); 312 (* GT *); 0 (* EOF *); 313 (* EXPECTS *); 0|] let yytransl_block = [| 257 (* IDENT *); 0|] let yylhs = "\255\255\ \002\000\004\000\003\000\003\000\003\000\005\000\005\000\005\000\ \006\000\007\000\008\000\008\000\009\000\009\000\010\000\010\000\ \011\000\011\000\012\000\012\000\013\000\013\000\014\000\014\000\ \015\000\015\000\016\000\016\000\017\000\017\000\018\000\018\000\ \019\000\019\000\020\000\020\000\021\000\021\000\022\000\022\000\ \022\000\022\000\022\000\022\000\022\000\022\000\023\000\023\000\ \023\000\023\000\023\000\023\000\023\000\025\000\026\000\026\000\ \026\000\027\000\028\000\029\000\029\000\032\000\032\000\034\000\ \034\000\031\000\031\000\030\000\030\000\033\000\033\000\037\000\ \037\000\035\000\035\000\036\000\036\000\039\000\039\000\041\000\ \041\000\038\000\038\000\040\000\040\000\042\000\042\000\042\000\ \042\000\042\000\042\000\042\000\042\000\042\000\042\000\042\000\ \042\000\042\000\043\000\043\000\043\000\043\000\043\000\043\000\ \043\000\043\000\043\000\047\000\047\000\044\000\048\000\048\000\ \046\000\049\000\049\000\049\000\045\000\045\000\024\000\024\000\ \050\000\050\000\051\000\051\000\052\000\052\000\052\000\053\000\ \053\000\054\000\054\000\055\000\055\000\056\000\056\000\056\000\ \057\000\057\000\057\000\058\000\058\000\059\000\059\000\059\000\ \059\000\059\000\059\000\059\000\059\000\059\000\059\000\059\000\ \060\000\060\000\060\000\061\000\061\000\063\000\063\000\062\000\ \062\000\062\000\064\000\064\000\064\000\065\000\065\000\066\000\ \066\000\067\000\067\000\068\000\001\000\000\000" let yylen = "\002\000\ \001\000\001\000\001\000\003\000\003\000\001\000\003\000\003\000\ \001\000\001\000\001\000\003\000\001\000\003\000\001\000\003\000\ \001\000\003\000\001\000\004\000\001\000\004\000\001\000\003\000\ \001\000\003\000\001\000\003\000\001\000\003\000\001\000\003\000\ \001\000\003\000\001\000\002\000\001\000\002\000\003\000\002\000\ \001\000\001\000\001\000\001\000\003\000\001\000\003\000\002\000\ \001\000\001\000\001\000\001\000\001\000\002\000\001\000\003\000\ \001\000\003\000\001\000\001\000\001\000\001\000\001\000\003\000\ \003\000\003\000\003\000\001\000\003\000\001\000\003\000\001\000\ \001\000\001\000\001\000\001\000\001\000\003\000\003\000\003\000\ \003\000\001\000\002\000\001\000\002\000\003\000\001\000\002\000\ \002\000\002\000\002\000\002\000\003\000\003\000\003\000\003\000\ \003\000\002\000\003\000\001\000\002\000\002\000\002\000\002\000\ \002\000\003\000\003\000\002\000\001\000\003\000\000\000\002\000\ \001\000\003\000\005\000\003\000\002\000\003\000\002\000\003\000\ \001\000\003\000\002\000\003\000\001\000\003\000\003\000\004\000\ \003\000\003\000\003\000\002\000\003\000\001\000\003\000\003\000\ \003\000\004\000\003\000\003\000\001\000\003\000\005\000\005\000\ \004\000\009\000\002\000\003\000\003\000\001\000\002\000\001\000\ \001\000\002\000\002\000\000\000\001\000\001\000\001\000\002\000\ \004\000\006\000\001\000\003\000\001\000\001\000\003\000\002\000\ \003\000\000\000\002\000\002\000\003\000\002\000" let yydefred = "\000\000\ \000\000\000\000\000\000\174\000\000\000\000\000\172\000\152\000\ \000\000\153\000\000\000\000\000\000\000\000\000\000\000\158\000\ \159\000\000\000\000\000\000\000\150\000\000\000\000\000\000\000\ \155\000\154\000\000\000\000\000\000\000\000\000\147\000\000\000\ \151\000\171\000\000\000\000\000\173\000\140\000\000\000\000\000\ \000\000\148\000\053\000\000\000\000\000\000\000\050\000\051\000\ \052\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\ \000\000\000\000\006\000\000\000\000\000\000\000\000\000\000\000\ \000\000\033\000\037\000\000\000\000\000\059\000\060\000\061\000\ \000\000\068\000\000\000\074\000\075\000\000\000\077\000\082\000\ \084\000\000\000\000\000\149\000\000\000\000\000\000\000\142\000\ \000\000\000\000\123\000\000\000\000\000\145\000\000\000\000\000\ \000\000\048\000\000\000\000\000\000\000\038\000\000\000\000\000\ \000\000\000\000\000\000\000\000\000\000\000\000\001\000\000\000\ \003\000\009\000\000\000\011\000\000\000\015\000\000\000\019\000\ \000\000\023\000\000\000\027\000\000\000\031\000\035\000\000\000\ \000\000\057\000\000\000\054\000\000\000\083\000\085\000\000\000\ \000\000\000\000\000\000\000\000\000\000\113\000\000\000\000\000\ \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\ \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\ \109\000\098\000\112\000\000\000\000\000\000\000\110\000\000\000\ \000\000\132\000\000\000\000\000\000\000\000\000\000\000\000\000\ \165\000\000\000\000\000\000\000\124\000\000\000\157\000\000\000\ \117\000\000\000\000\000\119\000\000\000\000\000\036\000\000\000\ \047\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\ \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\ \096\000\097\000\095\000\000\000\000\000\007\000\008\000\000\000\ \000\000\000\000\000\000\000\000\034\000\108\000\066\000\067\000\ \069\000\071\000\078\000\079\000\000\000\081\000\144\000\000\000\ \000\000\133\000\000\000\143\000\000\000\168\000\000\000\000\000\ \000\000\127\000\000\000\129\000\126\000\000\000\000\000\118\000\ \120\000\000\000\004\000\005\000\012\000\000\000\016\000\000\000\ \000\000\024\000\000\000\028\000\000\000\032\000\045\000\058\000\ \056\000\116\000\000\000\022\000\136\000\000\000\000\000\139\000\ \135\000\169\000\000\000\164\000\162\000\167\000\128\000\000\000\ \122\000\000\000\000\000\000\000\138\000\000\000\115\000\000\000\ \131\000\146\000" let yydgoto = "\002\000\ \004\000\186\000\111\000\057\000\139\000\113\000\059\000\114\000\ \115\000\116\000\117\000\118\000\119\000\120\000\121\000\122\000\ \123\000\124\000\125\000\126\000\066\000\127\000\067\000\190\000\ \140\000\132\000\133\000\069\000\070\000\071\000\072\000\000\000\ \073\000\000\000\074\000\075\000\000\000\076\000\077\000\078\000\ \079\000\080\000\081\000\082\000\099\000\141\000\162\000\083\000\ \142\000\187\000\040\000\092\000\093\000\016\001\088\000\171\000\ \172\000\007\000\019\000\020\000\184\000\021\000\022\000\176\000\ \177\000\178\000\023\000\005\000" let yysindex = "\039\000\ \255\254\000\000\069\255\000\000\092\000\060\255\000\000\000\000\ \076\255\000\000\084\255\131\255\137\255\017\255\144\255\000\000\ \000\000\069\255\092\000\150\255\000\000\152\255\162\000\069\255\ \000\000\000\000\153\255\153\255\141\255\091\003\000\000\141\255\ \000\000\000\000\043\255\126\255\000\000\000\000\025\255\141\255\ \143\255\000\000\000\000\003\255\004\004\115\003\000\000\000\000\ \000\000\214\255\091\003\226\003\226\003\234\003\234\003\191\255\ \080\255\202\255\000\000\216\255\221\255\232\255\238\255\239\255\ \245\255\000\000\000\000\007\255\091\003\000\000\000\000\000\000\ \235\255\000\000\237\255\000\000\000\000\251\255\000\000\000\000\ \000\000\000\000\230\255\000\000\234\003\020\255\010\000\000\000\ \049\255\253\254\000\000\002\000\254\255\000\000\241\255\207\003\ \079\255\000\000\000\000\229\255\234\003\000\000\000\000\003\255\ \234\003\115\003\000\000\000\000\000\000\015\000\000\000\217\255\ \000\000\000\000\025\000\000\000\028\000\000\000\031\000\000\000\ \022\000\000\000\029\000\000\000\041\000\000\000\000\000\009\255\ \026\000\000\000\030\000\000\000\033\000\000\000\000\000\022\255\ \234\003\000\000\217\255\043\000\007\255\000\000\000\000\007\255\ \229\255\000\000\000\000\006\255\007\255\234\003\234\003\004\004\ \004\004\004\004\004\004\234\003\004\004\004\004\004\004\091\003\ \000\000\000\000\000\000\091\003\091\003\091\003\000\000\018\000\ \061\255\000\000\021\000\047\000\018\000\020\000\016\255\032\000\ \000\000\049\000\074\000\203\001\000\000\074\000\000\000\234\003\ \000\000\065\000\076\000\000\000\023\000\000\000\000\000\077\000\ \000\000\234\003\234\003\234\003\234\003\234\003\234\003\234\003\ \234\003\115\003\000\000\234\003\214\255\191\255\234\003\234\003\ \000\000\000\000\000\000\000\000\000\000\000\000\000\000\221\255\ \232\255\085\000\239\255\245\255\000\000\000\000\000\000\000\000\ \000\000\000\000\000\000\000\000\251\255\000\000\000\000\093\000\ \023\255\000\000\093\000\000\000\096\000\000\000\071\255\052\000\ \071\255\000\000\106\000\000\000\000\000\075\000\234\003\000\000\ \000\000\000\000\000\000\000\000\000\000\028\000\000\000\031\000\ \100\000\000\000\029\000\000\000\041\000\000\000\000\000\000\000\ \000\000\000\000\086\000\000\000\000\000\105\000\111\000\000\000\ \000\000\000\000\114\000\000\000\000\000\000\000\000\000\234\003\ \000\000\000\000\191\255\122\000\000\000\089\000\000\000\105\000\ \000\000\000\000" let yyrindex = "\000\000\ \000\000\000\000\000\000\000\000\126\001\037\000\000\000\000\000\ \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\ \000\000\000\000\126\001\000\000\000\000\000\000\000\000\000\000\ \000\000\000\000\000\000\000\000\000\000\091\000\000\000\000\000\ \000\000\000\000\000\000\055\000\000\000\000\000\000\000\000\000\ \000\000\000\000\000\000\159\003\000\000\000\000\000\000\000\000\ \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\ \000\000\087\255\000\000\048\255\204\255\128\255\192\255\182\003\ \204\001\000\000\000\000\000\000\091\000\000\000\000\000\000\000\ \000\000\000\000\103\000\000\000\000\000\208\255\000\000\000\000\ \000\000\014\002\000\000\000\000\000\000\000\000\000\000\000\000\ \000\000\000\000\000\000\000\000\115\000\000\000\252\003\000\000\ \000\000\000\000\051\002\159\003\000\000\000\000\148\000\149\003\ \000\000\000\000\185\000\222\000\018\001\000\000\000\000\087\255\ \000\000\000\000\048\255\000\000\204\255\000\000\128\255\000\000\ \192\255\000\000\182\003\000\000\204\001\000\000\000\000\000\000\ \000\000\000\000\000\000\000\000\013\255\000\000\000\000\233\001\ \000\000\088\002\000\000\000\000\000\000\000\000\125\002\000\000\ \055\001\162\002\199\002\000\000\000\000\000\000\000\000\000\000\ \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\ \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\ \000\000\000\000\000\000\098\000\000\000\000\000\001\000\073\000\ \000\000\019\000\000\000\000\000\000\000\000\000\000\000\000\000\ \000\000\008\255\000\000\000\000\000\000\092\001\000\000\000\000\ \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\ \000\000\000\000\236\002\000\000\000\000\000\000\000\000\000\000\ \000\000\000\000\000\000\017\003\054\003\000\000\000\000\072\003\ \003\000\000\000\192\003\169\003\000\000\000\000\000\000\000\000\ \000\000\000\000\000\000\000\000\220\255\000\000\000\000\000\000\ \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\ \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\ \000\000\129\001\000\000\000\000\000\000\072\003\000\000\003\000\ \000\000\000\000\192\003\000\000\169\003\000\000\000\000\000\000\ \000\000\000\000\047\255\000\000\000\000\031\255\000\000\000\000\ \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\ \000\000\166\001\000\000\000\000\000\000\000\000\000\000\074\255\ \000\000\000\000" let yygindex = "\000\000\ \000\000\212\255\000\000\000\000\233\255\056\000\136\255\000\000\ \088\000\190\000\078\000\201\000\058\000\000\000\116\000\200\000\ \036\000\202\000\017\000\157\255\211\255\000\000\000\000\227\255\ \240\255\196\000\000\000\213\255\000\000\094\000\004\001\000\000\ \002\001\000\000\000\000\000\000\000\000\209\255\023\001\218\255\ \039\001\000\000\000\000\003\001\000\000\070\000\024\000\100\001\ \062\255\164\255\178\001\005\000\000\000\198\000\035\000\250\255\ \000\000\097\000\000\000\000\000\000\000\000\000\000\000\000\000\ \053\255\000\000\223\001\000\000" let yytablesize = 1301 let yytable = "\102\000\ \163\000\110\000\129\000\134\000\189\000\191\000\058\000\138\000\ \143\000\146\000\147\000\010\001\135\000\068\000\098\000\096\000\ \238\000\029\000\166\000\179\000\169\000\121\000\112\000\014\001\ \160\000\090\000\202\000\058\000\206\000\128\000\055\000\214\000\ \215\000\180\000\068\000\020\001\141\000\022\001\091\000\001\000\ \168\000\030\000\207\000\030\000\206\000\058\000\065\000\055\000\ \003\000\010\000\010\000\030\000\068\000\137\000\160\000\170\000\ \110\000\097\000\207\000\102\000\015\001\192\000\129\000\121\000\ \114\000\064\000\137\000\065\000\239\000\006\000\098\000\010\000\ \161\000\214\000\215\000\085\000\097\000\086\000\103\000\145\000\ \010\000\114\000\112\000\232\000\087\000\065\000\064\000\062\000\ \031\001\128\000\105\000\137\000\192\000\107\000\108\000\109\000\ \130\000\233\000\024\000\174\000\050\000\006\001\175\000\150\000\ \064\000\212\000\213\000\061\000\062\000\130\000\002\000\218\000\ \151\000\221\000\033\000\025\000\222\000\060\000\227\000\002\000\ \038\000\174\000\144\000\026\000\019\001\149\000\062\000\229\000\ \061\000\017\000\017\000\027\000\017\000\017\000\188\000\244\000\ \058\000\028\000\060\000\246\000\058\000\058\000\058\000\068\000\ \032\000\063\000\061\000\068\000\068\000\068\000\035\000\017\000\ \036\000\001\001\025\001\221\000\060\000\007\001\222\000\008\001\ \017\000\037\000\011\001\007\001\209\000\039\000\063\000\210\000\ \065\000\065\000\065\000\065\000\211\000\065\000\220\000\030\000\ \065\000\089\000\112\000\095\000\065\000\065\000\065\000\242\000\ \063\000\128\000\245\000\064\000\064\000\064\000\064\000\148\000\ \219\000\021\000\021\000\064\000\021\000\021\000\021\000\064\000\ \064\000\064\000\231\000\152\000\153\000\013\000\013\000\236\000\ \013\000\062\000\062\000\062\000\217\000\130\000\131\000\021\000\ \005\001\062\000\194\000\195\000\154\000\062\000\062\000\062\000\ \021\000\013\001\155\000\013\000\017\001\061\000\061\000\216\000\ \076\000\076\000\003\001\030\001\013\000\061\000\156\000\060\000\ \060\000\061\000\061\000\061\000\080\000\080\000\157\000\060\000\ \158\000\251\000\252\000\060\000\060\000\060\000\000\001\159\000\ \163\000\223\000\225\000\164\000\018\000\018\000\165\000\018\000\ \018\000\167\000\173\000\063\000\063\000\063\000\063\000\181\000\ \031\000\254\000\166\000\063\000\182\000\166\000\183\000\063\000\ \063\000\063\000\018\000\097\000\193\000\196\000\199\000\042\000\ \163\000\197\000\084\000\018\000\141\000\198\000\200\000\203\000\ \163\000\163\000\094\000\163\000\163\000\163\000\163\000\163\000\ \163\000\163\000\166\000\201\000\086\000\204\000\160\000\205\000\ \234\000\163\000\166\000\166\000\208\000\166\000\166\000\166\000\ \166\000\166\000\166\000\166\000\141\000\235\000\161\000\241\000\ \161\000\237\000\090\000\166\000\141\000\141\000\249\000\141\000\ \141\000\141\000\141\000\141\000\141\000\141\000\160\000\247\000\ \240\000\248\000\250\000\008\000\012\001\169\000\160\000\160\000\ \018\001\160\000\160\000\160\000\160\000\160\000\160\000\160\000\ \161\000\021\001\023\001\026\001\027\001\024\001\028\001\029\001\ \161\000\161\000\238\000\161\000\161\000\161\000\161\000\161\000\ \161\000\161\000\032\001\009\000\034\001\170\000\111\000\070\000\ \125\000\253\000\161\000\010\000\011\000\134\000\012\000\013\000\ \014\000\015\000\016\000\017\000\018\000\255\000\002\001\161\000\ \009\001\004\001\161\000\046\000\046\000\053\000\053\000\161\000\ \053\000\053\000\053\000\046\000\053\000\053\000\053\000\046\000\ \046\000\046\000\046\000\046\000\046\000\046\000\226\000\224\000\ \163\000\046\000\046\000\053\000\046\000\046\000\046\000\046\000\ \046\000\046\000\046\000\046\000\053\000\046\000\046\000\046\000\ \042\000\042\000\050\000\050\000\228\000\050\000\050\000\050\000\ \042\000\050\000\050\000\050\000\042\000\042\000\042\000\042\000\ \042\000\042\000\042\000\046\000\230\000\041\000\042\000\042\000\ \050\000\042\000\042\000\042\000\042\000\042\000\042\000\042\000\ \042\000\050\000\042\000\042\000\042\000\043\000\043\000\051\000\ \051\000\033\001\051\000\051\000\051\000\043\000\051\000\051\000\ \051\000\043\000\043\000\043\000\043\000\043\000\043\000\043\000\ \042\000\034\000\000\000\043\000\043\000\051\000\043\000\043\000\ \043\000\043\000\043\000\043\000\043\000\043\000\051\000\043\000\ \043\000\043\000\000\000\000\000\000\000\000\000\000\000\000\000\ \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\ \000\000\044\000\044\000\052\000\052\000\043\000\052\000\052\000\ \052\000\044\000\052\000\052\000\052\000\044\000\044\000\044\000\ \044\000\044\000\044\000\044\000\000\000\000\000\000\000\044\000\ \044\000\052\000\044\000\044\000\044\000\044\000\044\000\044\000\ \044\000\044\000\052\000\044\000\044\000\044\000\041\000\041\000\ \049\000\049\000\000\000\049\000\049\000\049\000\041\000\049\000\ \049\000\049\000\041\000\041\000\041\000\041\000\041\000\041\000\ \041\000\044\000\000\000\000\000\041\000\041\000\049\000\041\000\ \041\000\041\000\041\000\041\000\041\000\041\000\041\000\049\000\ \041\000\041\000\041\000\040\000\040\000\048\000\048\000\000\000\ \048\000\048\000\048\000\040\000\048\000\048\000\048\000\040\000\ \040\000\040\000\040\000\040\000\040\000\040\000\041\000\000\000\ \000\000\040\000\040\000\048\000\040\000\040\000\040\000\040\000\ \040\000\040\000\040\000\040\000\048\000\040\000\040\000\040\000\ \039\000\039\000\047\000\047\000\000\000\047\000\047\000\047\000\ \039\000\047\000\047\000\047\000\039\000\039\000\039\000\039\000\ \039\000\039\000\039\000\040\000\000\000\000\000\039\000\039\000\ \047\000\039\000\039\000\039\000\039\000\039\000\039\000\039\000\ \039\000\047\000\039\000\039\000\039\000\020\000\020\000\022\000\ \022\000\000\000\022\000\022\000\022\000\020\000\000\000\000\000\ \000\000\020\000\020\000\020\000\020\000\020\000\020\000\020\000\ \039\000\000\000\000\000\020\000\020\000\022\000\020\000\020\000\ \020\000\020\000\020\000\020\000\020\000\020\000\022\000\020\000\ \020\000\020\000\103\000\145\000\000\000\029\000\029\000\000\000\ \029\000\029\000\029\000\000\000\029\000\029\000\105\000\137\000\ \000\000\107\000\108\000\109\000\000\000\020\000\000\000\000\000\ \050\000\000\000\000\000\029\000\000\000\000\000\000\000\000\000\ \041\000\041\000\049\000\049\000\029\000\049\000\049\000\049\000\ \243\000\049\000\049\000\049\000\041\000\041\000\041\000\041\000\ \041\000\041\000\000\000\000\000\000\000\000\000\041\000\000\000\ \000\000\041\000\041\000\041\000\041\000\041\000\041\000\041\000\ \041\000\000\000\041\000\041\000\041\000\087\000\087\000\000\000\ \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\ \000\000\087\000\087\000\087\000\087\000\087\000\087\000\000\000\ \000\000\000\000\000\000\087\000\000\000\000\000\100\000\100\000\ \100\000\087\000\087\000\087\000\087\000\087\000\000\000\087\000\ \087\000\087\000\088\000\088\000\000\000\000\000\000\000\000\000\ \000\000\000\000\000\000\000\000\000\000\000\000\088\000\088\000\ \088\000\088\000\088\000\088\000\000\000\000\000\000\000\000\000\ \088\000\000\000\000\000\101\000\101\000\101\000\088\000\088\000\ \088\000\088\000\088\000\000\000\088\000\088\000\088\000\089\000\ \089\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\ \000\000\000\000\000\000\089\000\089\000\089\000\089\000\089\000\ \089\000\000\000\000\000\000\000\000\000\089\000\000\000\000\000\ \102\000\102\000\102\000\089\000\089\000\089\000\089\000\089\000\ \000\000\089\000\089\000\089\000\090\000\090\000\000\000\000\000\ \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\ \090\000\090\000\090\000\090\000\090\000\090\000\000\000\000\000\ \000\000\000\000\090\000\000\000\000\000\103\000\103\000\103\000\ \090\000\090\000\090\000\090\000\090\000\000\000\090\000\090\000\ \090\000\091\000\091\000\000\000\000\000\000\000\000\000\000\000\ \000\000\000\000\000\000\000\000\000\000\091\000\091\000\091\000\ \091\000\091\000\091\000\000\000\000\000\000\000\000\000\091\000\ \000\000\000\000\104\000\104\000\104\000\091\000\091\000\091\000\ \091\000\091\000\000\000\091\000\091\000\091\000\092\000\092\000\ \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\ \000\000\000\000\092\000\092\000\092\000\092\000\092\000\092\000\ \000\000\000\000\000\000\000\000\092\000\000\000\000\000\105\000\ \105\000\105\000\092\000\092\000\092\000\092\000\092\000\000\000\ \092\000\092\000\092\000\086\000\086\000\000\000\000\000\000\000\ \000\000\000\000\000\000\000\000\000\000\000\000\000\000\086\000\ \086\000\086\000\086\000\086\000\086\000\000\000\000\000\000\000\ \000\000\086\000\000\000\000\000\099\000\099\000\099\000\086\000\ \086\000\086\000\086\000\086\000\000\000\086\000\086\000\086\000\ \094\000\094\000\000\000\000\000\000\000\000\000\000\000\000\000\ \000\000\000\000\000\000\000\000\094\000\094\000\094\000\094\000\ \094\000\094\000\000\000\000\000\000\000\000\000\094\000\000\000\ \000\000\107\000\107\000\107\000\094\000\094\000\094\000\094\000\ \094\000\000\000\094\000\094\000\094\000\093\000\093\000\000\000\ \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\ \000\000\093\000\093\000\093\000\093\000\093\000\093\000\000\000\ \000\000\014\000\014\000\093\000\014\000\000\000\106\000\106\000\ \106\000\093\000\093\000\093\000\093\000\093\000\000\000\093\000\ \093\000\093\000\043\000\044\000\000\000\000\000\000\000\014\000\ \000\000\000\000\000\000\000\000\000\000\000\000\045\000\046\000\ \014\000\047\000\048\000\049\000\000\000\000\000\000\000\000\000\ \050\000\000\000\103\000\104\000\000\000\000\000\051\000\052\000\ \053\000\054\000\055\000\000\000\056\000\030\000\105\000\106\000\ \000\000\107\000\108\000\109\000\000\000\000\000\000\000\000\000\ \050\000\000\000\000\000\000\000\000\000\000\000\051\000\052\000\ \053\000\054\000\055\000\000\000\056\000\030\000\049\000\049\000\ \000\000\049\000\049\000\049\000\000\000\049\000\049\000\049\000\ \049\000\049\000\041\000\049\000\049\000\049\000\000\000\049\000\ \049\000\049\000\030\000\030\000\049\000\030\000\030\000\030\000\ \000\000\030\000\030\000\000\000\000\000\049\000\049\000\025\000\ \025\000\000\000\025\000\025\000\025\000\000\000\025\000\049\000\ \030\000\026\000\026\000\000\000\026\000\026\000\026\000\000\000\ \026\000\030\000\000\000\000\000\000\000\025\000\103\000\145\000\ \000\000\000\000\000\000\000\000\000\000\000\000\025\000\026\000\ \000\000\000\000\105\000\137\000\185\000\107\000\108\000\109\000\ \026\000\103\000\136\000\000\000\050\000\000\000\000\000\000\000\ \000\000\103\000\145\000\000\000\000\000\105\000\137\000\000\000\ \107\000\108\000\109\000\000\000\000\000\105\000\137\000\050\000\ \107\000\108\000\109\000\156\000\156\000\000\000\000\000\050\000\ \000\000\000\000\000\000\043\000\100\000\000\000\000\000\156\000\ \156\000\000\000\156\000\156\000\156\000\000\000\000\000\045\000\ \101\000\156\000\047\000\048\000\049\000" let yycheck = "\045\000\ \000\000\046\000\046\000\051\000\097\000\105\000\030\000\052\000\ \053\000\054\000\055\000\206\000\051\000\030\000\044\000\013\001\ \001\001\001\001\000\000\023\001\001\001\014\001\046\000\001\001\ \018\001\001\001\018\001\051\000\023\001\046\000\018\001\152\000\ \153\000\037\001\051\000\239\000\000\000\241\000\014\001\001\000\ \085\000\035\001\037\001\035\001\023\001\069\000\030\000\035\001\ \050\001\002\001\003\001\035\001\069\000\023\001\000\000\036\001\ \101\000\055\001\037\001\105\000\038\001\106\000\106\000\056\001\ \018\001\030\000\036\001\051\000\053\001\001\001\100\000\024\001\ \000\000\194\000\195\000\033\001\055\001\035\001\000\001\001\001\ \033\001\035\001\106\000\023\001\042\001\069\000\051\000\030\000\ \027\001\106\000\012\001\013\001\137\000\015\001\016\001\017\001\ \023\001\037\001\039\001\051\001\022\001\201\000\054\001\024\001\ \069\000\150\000\151\000\030\000\051\000\036\001\024\001\156\000\ \033\001\159\000\018\000\040\001\160\000\030\000\166\000\033\001\ \024\000\051\001\053\000\040\001\054\001\056\000\069\000\166\000\ \051\000\002\001\003\001\001\001\005\001\006\001\056\001\180\000\ \160\000\001\001\051\000\184\000\164\000\165\000\166\000\160\000\ \001\001\030\000\069\000\164\000\165\000\166\000\001\001\024\001\ \001\001\198\000\247\000\201\000\069\000\202\000\202\000\204\000\ \033\001\000\000\207\000\208\000\141\000\013\001\051\000\144\000\ \152\000\153\000\154\000\155\000\149\000\157\000\158\000\035\001\ \160\000\052\001\202\000\037\001\164\000\165\000\166\000\179\000\ \069\000\202\000\182\000\152\000\153\000\154\000\155\000\001\001\ \157\000\002\001\003\001\160\000\005\001\006\001\007\001\164\000\ \165\000\166\000\168\000\002\001\003\001\002\001\003\001\173\000\ \005\001\152\000\153\000\154\000\155\000\000\001\001\001\024\001\ \200\000\160\000\002\001\003\001\005\001\164\000\165\000\166\000\ \033\001\232\000\006\001\024\001\235\000\152\000\153\000\154\000\ \025\001\026\001\199\000\024\001\033\001\160\000\007\001\152\000\ \153\000\164\000\165\000\166\000\025\001\026\001\009\001\160\000\ \010\001\194\000\195\000\164\000\165\000\166\000\197\000\011\001\ \000\001\164\000\165\000\025\001\002\001\003\001\026\001\005\001\ \006\001\036\001\001\001\152\000\153\000\154\000\155\000\014\001\ \014\000\196\000\000\001\160\000\023\001\027\001\038\001\164\000\ \165\000\166\000\024\001\055\001\014\001\005\001\009\001\029\000\ \032\001\006\001\032\000\033\001\000\001\007\001\010\001\014\001\ \040\001\041\001\040\000\043\001\044\001\045\001\046\001\047\001\ \048\001\049\001\032\001\011\001\035\001\024\001\000\001\023\001\ \036\001\057\001\040\001\041\001\018\001\043\001\044\001\045\001\ \046\001\047\001\048\001\049\001\032\001\023\001\068\000\023\001\ \000\001\054\001\001\001\057\001\040\001\041\001\056\001\043\001\ \044\001\045\001\046\001\047\001\048\001\049\001\032\001\023\001\ \057\001\014\001\014\001\000\001\008\001\001\001\040\001\041\001\ \001\001\043\001\044\001\045\001\046\001\047\001\048\001\049\001\ \032\001\054\001\001\001\008\001\023\001\035\001\006\001\001\001\ \040\001\041\001\001\001\043\001\044\001\045\001\046\001\047\001\ \048\001\049\001\001\001\032\001\036\001\000\000\036\001\025\001\ \014\001\196\000\128\000\040\001\041\001\036\001\043\001\044\001\ \045\001\046\001\047\001\048\001\049\001\197\000\199\000\141\000\ \205\000\200\000\144\000\000\001\001\001\002\001\003\001\149\000\ \005\001\006\001\007\001\008\001\009\001\010\001\011\001\012\001\ \013\001\014\001\015\001\016\001\017\001\018\001\165\000\164\000\ \069\000\022\001\023\001\024\001\025\001\026\001\027\001\028\001\ \029\001\030\001\031\001\032\001\033\001\034\001\035\001\036\001\ \000\001\001\001\002\001\003\001\166\000\005\001\006\001\007\001\ \008\001\009\001\010\001\011\001\012\001\013\001\014\001\015\001\ \016\001\017\001\018\001\056\001\166\000\028\000\022\001\023\001\ \024\001\025\001\026\001\027\001\028\001\029\001\030\001\031\001\ \032\001\033\001\034\001\035\001\036\001\000\001\001\001\002\001\ \003\001\028\001\005\001\006\001\007\001\008\001\009\001\010\001\ \011\001\012\001\013\001\014\001\015\001\016\001\017\001\018\001\ \056\001\019\000\255\255\022\001\023\001\024\001\025\001\026\001\ \027\001\028\001\029\001\030\001\031\001\032\001\033\001\034\001\ \035\001\036\001\255\255\255\255\255\255\255\255\255\255\255\255\ \255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\ \255\255\000\001\001\001\002\001\003\001\056\001\005\001\006\001\ \007\001\008\001\009\001\010\001\011\001\012\001\013\001\014\001\ \015\001\016\001\017\001\018\001\255\255\255\255\255\255\022\001\ \023\001\024\001\025\001\026\001\027\001\028\001\029\001\030\001\ \031\001\032\001\033\001\034\001\035\001\036\001\000\001\001\001\ \002\001\003\001\255\255\005\001\006\001\007\001\008\001\009\001\ \010\001\011\001\012\001\013\001\014\001\015\001\016\001\017\001\ \018\001\056\001\255\255\255\255\022\001\023\001\024\001\025\001\ \026\001\027\001\028\001\029\001\030\001\031\001\032\001\033\001\ \034\001\035\001\036\001\000\001\001\001\002\001\003\001\255\255\ \005\001\006\001\007\001\008\001\009\001\010\001\011\001\012\001\ \013\001\014\001\015\001\016\001\017\001\018\001\056\001\255\255\ \255\255\022\001\023\001\024\001\025\001\026\001\027\001\028\001\ \029\001\030\001\031\001\032\001\033\001\034\001\035\001\036\001\ \000\001\001\001\002\001\003\001\255\255\005\001\006\001\007\001\ \008\001\009\001\010\001\011\001\012\001\013\001\014\001\015\001\ \016\001\017\001\018\001\056\001\255\255\255\255\022\001\023\001\ \024\001\025\001\026\001\027\001\028\001\029\001\030\001\031\001\ \032\001\033\001\034\001\035\001\036\001\000\001\001\001\002\001\ \003\001\255\255\005\001\006\001\007\001\008\001\255\255\255\255\ \255\255\012\001\013\001\014\001\015\001\016\001\017\001\018\001\ \056\001\255\255\255\255\022\001\023\001\024\001\025\001\026\001\ \027\001\028\001\029\001\030\001\031\001\032\001\033\001\034\001\ \035\001\036\001\000\001\001\001\255\255\002\001\003\001\255\255\ \005\001\006\001\007\001\255\255\009\001\010\001\012\001\013\001\ \255\255\015\001\016\001\017\001\255\255\056\001\255\255\255\255\ \022\001\255\255\255\255\024\001\255\255\255\255\255\255\255\255\ \000\001\001\001\002\001\003\001\033\001\005\001\006\001\007\001\ \038\001\009\001\010\001\011\001\012\001\013\001\014\001\015\001\ \016\001\017\001\255\255\255\255\255\255\255\255\022\001\255\255\ \255\255\025\001\026\001\027\001\028\001\029\001\030\001\031\001\ \032\001\255\255\034\001\035\001\036\001\000\001\001\001\255\255\ \255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\ \255\255\012\001\013\001\014\001\015\001\016\001\017\001\255\255\ \255\255\255\255\255\255\022\001\255\255\255\255\025\001\026\001\ \027\001\028\001\029\001\030\001\031\001\032\001\255\255\034\001\ \035\001\036\001\000\001\001\001\255\255\255\255\255\255\255\255\ \255\255\255\255\255\255\255\255\255\255\255\255\012\001\013\001\ \014\001\015\001\016\001\017\001\255\255\255\255\255\255\255\255\ \022\001\255\255\255\255\025\001\026\001\027\001\028\001\029\001\ \030\001\031\001\032\001\255\255\034\001\035\001\036\001\000\001\ \001\001\255\255\255\255\255\255\255\255\255\255\255\255\255\255\ \255\255\255\255\255\255\012\001\013\001\014\001\015\001\016\001\ \017\001\255\255\255\255\255\255\255\255\022\001\255\255\255\255\ \025\001\026\001\027\001\028\001\029\001\030\001\031\001\032\001\ \255\255\034\001\035\001\036\001\000\001\001\001\255\255\255\255\ \255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\ \012\001\013\001\014\001\015\001\016\001\017\001\255\255\255\255\ \255\255\255\255\022\001\255\255\255\255\025\001\026\001\027\001\ \028\001\029\001\030\001\031\001\032\001\255\255\034\001\035\001\ \036\001\000\001\001\001\255\255\255\255\255\255\255\255\255\255\ \255\255\255\255\255\255\255\255\255\255\012\001\013\001\014\001\ \015\001\016\001\017\001\255\255\255\255\255\255\255\255\022\001\ \255\255\255\255\025\001\026\001\027\001\028\001\029\001\030\001\ \031\001\032\001\255\255\034\001\035\001\036\001\000\001\001\001\ \255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\ \255\255\255\255\012\001\013\001\014\001\015\001\016\001\017\001\ \255\255\255\255\255\255\255\255\022\001\255\255\255\255\025\001\ \026\001\027\001\028\001\029\001\030\001\031\001\032\001\255\255\ \034\001\035\001\036\001\000\001\001\001\255\255\255\255\255\255\ \255\255\255\255\255\255\255\255\255\255\255\255\255\255\012\001\ \013\001\014\001\015\001\016\001\017\001\255\255\255\255\255\255\ \255\255\022\001\255\255\255\255\025\001\026\001\027\001\028\001\ \029\001\030\001\031\001\032\001\255\255\034\001\035\001\036\001\ \000\001\001\001\255\255\255\255\255\255\255\255\255\255\255\255\ \255\255\255\255\255\255\255\255\012\001\013\001\014\001\015\001\ \016\001\017\001\255\255\255\255\255\255\255\255\022\001\255\255\ \255\255\025\001\026\001\027\001\028\001\029\001\030\001\031\001\ \032\001\255\255\034\001\035\001\036\001\000\001\001\001\255\255\ \255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\ \255\255\012\001\013\001\014\001\015\001\016\001\017\001\255\255\ \255\255\002\001\003\001\022\001\005\001\255\255\025\001\026\001\ \027\001\028\001\029\001\030\001\031\001\032\001\255\255\034\001\ \035\001\036\001\000\001\001\001\255\255\255\255\255\255\024\001\ \255\255\255\255\255\255\255\255\255\255\255\255\012\001\013\001\ \033\001\015\001\016\001\017\001\255\255\255\255\255\255\255\255\ \022\001\255\255\000\001\001\001\255\255\255\255\028\001\029\001\ \030\001\031\001\032\001\255\255\034\001\035\001\012\001\013\001\ \255\255\015\001\016\001\017\001\255\255\255\255\255\255\255\255\ \022\001\255\255\255\255\255\255\255\255\255\255\028\001\029\001\ \030\001\031\001\032\001\255\255\034\001\035\001\002\001\003\001\ \255\255\005\001\006\001\007\001\255\255\009\001\010\001\011\001\ \002\001\003\001\014\001\005\001\006\001\007\001\255\255\009\001\ \010\001\011\001\002\001\003\001\024\001\005\001\006\001\007\001\ \255\255\009\001\010\001\255\255\255\255\033\001\024\001\002\001\ \003\001\255\255\005\001\006\001\007\001\255\255\009\001\033\001\ \024\001\002\001\003\001\255\255\005\001\006\001\007\001\255\255\ \009\001\033\001\255\255\255\255\255\255\024\001\000\001\001\001\ \255\255\255\255\255\255\255\255\255\255\255\255\033\001\024\001\ \255\255\255\255\012\001\013\001\014\001\015\001\016\001\017\001\ \033\001\000\001\001\001\255\255\022\001\255\255\255\255\255\255\ \255\255\000\001\001\001\255\255\255\255\012\001\013\001\255\255\ \015\001\016\001\017\001\255\255\255\255\012\001\013\001\022\001\ \015\001\016\001\017\001\000\001\001\001\255\255\255\255\022\001\ \255\255\255\255\255\255\000\001\001\001\255\255\255\255\012\001\ \013\001\255\255\015\001\016\001\017\001\255\255\255\255\012\001\ \013\001\022\001\015\001\016\001\017\001" let yynames_const = "\ PLUS\000\ MOINS\000\ PLUSPLUS\000\ INTER\000\ FLECHE\000\ CROCHETG\000\ CROCHETD\000\ RESTD\000\ RESTG\000\ POINT\000\ TILDE\000\ PARG\000\ PARD\000\ UNIV\000\ IDEN\000\ NONE\000\ BARRE\000\ IF\000\ THEN\000\ ELSE\000\ LET\000\ VIRGULE\000\ EQ\000\ OR\000\ IMPLIES\000\ AND\000\ NOT\000\ SOME\000\ NO\000\ LONE\000\ ONE\000\ IN\000\ ALL\000\ ACCG\000\ ACCD\000\ DP\000\ SET\000\ DIV\000\ SIG\000\ ABSTRACT\000\ EXTENDS\000\ PRED\000\ FUN\000\ FACT\000\ ASSERT\000\ CHECK\000\ RUN\000\ OPEN\000\ MODULE\000\ EXACTLY\000\ FOR\000\ BUT\000\ INT\000\ LT\000\ GT\000\ EOF\000\ EXPECTS\000\ " let yynames_block = "\ IDENT\000\ " let yyact = [| (fun _ -> failwith "parser") ; (fun __caml_parser_env -> let _1 = (Parsing.peek_val __caml_parser_env 0 : 'relation0) in Obj.repr( # 22 "alloyparse.mly" ( _1 ) # 725 "alloyparse.ml" : 'relation)) ; (fun __caml_parser_env -> let _1 = (Parsing.peek_val __caml_parser_env 0 : 'relation0nl) in Obj.repr( # 26 "alloyparse.mly" ( _1 ) # 732 "alloyparse.ml" : 'relation_nl)) ; (fun __caml_parser_env -> let _1 = (Parsing.peek_val __caml_parser_env 0 : 'relation05) in Obj.repr( # 30 "alloyparse.mly" ( _1 ) # 739 "alloyparse.ml" : 'relation0)) ; (fun __caml_parser_env -> let _1 = (Parsing.peek_val __caml_parser_env 2 : 'relation0nl) in let _3 = (Parsing.peek_val __caml_parser_env 0 : 'relation05) in Obj.repr( # 31 "alloyparse.mly" ( `Plus (None, (_1, _3)) ) # 747 "alloyparse.ml" : 'relation0)) ; (fun __caml_parser_env -> let _1 = (Parsing.peek_val __caml_parser_env 2 : 'relation0nl) in let _3 = (Parsing.peek_val __caml_parser_env 0 : 'relation05) in Obj.repr( # 32 "alloyparse.mly" ( `Moins (None, (_1, _3)) ) # 755 "alloyparse.ml" : 'relation0)) ; (fun __caml_parser_env -> let _1 = (Parsing.peek_val __caml_parser_env 0 : 'relation05nl) in Obj.repr( # 36 "alloyparse.mly" ( _1 ) # 762 "alloyparse.ml" : 'relation0nl)) ; (fun __caml_parser_env -> let _1 = (Parsing.peek_val __caml_parser_env 2 : 'relation0nl) in let _3 = (Parsing.peek_val __caml_parser_env 0 : 'relation05nl) in Obj.repr( # 37 "alloyparse.mly" ( `Plus (None, (_1, _3)) ) # 770 "alloyparse.ml" : 'relation0nl)) ; (fun __caml_parser_env -> let _1 = (Parsing.peek_val __caml_parser_env 2 : 'relation0nl) in let _3 = (Parsing.peek_val __caml_parser_env 0 : 'relation05nl) in Obj.repr( # 38 "alloyparse.mly" ( `Moins (None, (_1, _3)) ) # 778 "alloyparse.ml" : 'relation0nl)) ; (fun __caml_parser_env -> let _1 = (Parsing.peek_val __caml_parser_env 0 : 'relation1) in Obj.repr( # 42 "alloyparse.mly" ( _1 ) # 785 "alloyparse.ml" : 'relation05)) ; (fun __caml_parser_env -> let _1 = (Parsing.peek_val __caml_parser_env 0 : 'relation1nl) in Obj.repr( # 47 "alloyparse.mly" ( _1 ) # 792 "alloyparse.ml" : 'relation05nl)) ; (fun __caml_parser_env -> let _1 = (Parsing.peek_val __caml_parser_env 0 : 'relation2) in Obj.repr( # 52 "alloyparse.mly" ( _1 ) # 799 "alloyparse.ml" : 'relation1)) ; (fun __caml_parser_env -> let _1 = (Parsing.peek_val __caml_parser_env 2 : 'relation1nl) in let _3 = (Parsing.peek_val __caml_parser_env 0 : 'relation2) in Obj.repr( # 53 "alloyparse.mly" ( `Inter (None, (_1, _3)) ) # 807 "alloyparse.ml" : 'relation1)) ; (fun __caml_parser_env -> let _1 = (Parsing.peek_val __caml_parser_env 0 : 'relation2nl) in Obj.repr( # 57 "alloyparse.mly" ( _1 ) # 814 "alloyparse.ml" : 'relation1nl)) ; (fun __caml_parser_env -> let _1 = (Parsing.peek_val __caml_parser_env 2 : 'relation1nl) in let _3 = (Parsing.peek_val __caml_parser_env 0 : 'relation2nl) in Obj.repr( # 58 "alloyparse.mly" ( `Inter (None, (_1, _3)) ) # 822 "alloyparse.ml" : 'relation1nl)) ; (fun __caml_parser_env -> let _1 = (Parsing.peek_val __caml_parser_env 0 : 'relation3) in Obj.repr( # 62 "alloyparse.mly" ( _1 ) # 829 "alloyparse.ml" : 'relation2)) ; (fun __caml_parser_env -> let _1 = (Parsing.peek_val __caml_parser_env 2 : 'relation2nl) in let _3 = (Parsing.peek_val __caml_parser_env 0 : 'relation3) in Obj.repr( # 63 "alloyparse.mly" ( `Fleche (None, (_1, _3)) ) # 837 "alloyparse.ml" : 'relation2)) ; (fun __caml_parser_env -> let _1 = (Parsing.peek_val __caml_parser_env 0 : 'relation3nl) in Obj.repr( # 67 "alloyparse.mly" ( _1 ) # 844 "alloyparse.ml" : 'relation2nl)) ; (fun __caml_parser_env -> let _1 = (Parsing.peek_val __caml_parser_env 2 : 'relation2nl) in let _3 = (Parsing.peek_val __caml_parser_env 0 : 'relation3nl) in Obj.repr( # 68 "alloyparse.mly" ( `Fleche (None, (_1, _3)) ) # 852 "alloyparse.ml" : 'relation2nl)) ; (fun __caml_parser_env -> let _1 = (Parsing.peek_val __caml_parser_env 0 : 'relation4) in Obj.repr( # 72 "alloyparse.mly" ( _1 ) # 859 "alloyparse.ml" : 'relation3)) ; (fun __caml_parser_env -> let _1 = (Parsing.peek_val __caml_parser_env 3 : 'relation3nl) in let _3 = (Parsing.peek_val __caml_parser_env 1 : 'relation) in Obj.repr( # 73 "alloyparse.mly" ( `Jointure (None, (_3, _1)) ) # 867 "alloyparse.ml" : 'relation3)) ; (fun __caml_parser_env -> let _1 = (Parsing.peek_val __caml_parser_env 0 : 'relation4nl) in Obj.repr( # 77 "alloyparse.mly" ( _1 ) # 874 "alloyparse.ml" : 'relation3nl)) ; (fun __caml_parser_env -> let _1 = (Parsing.peek_val __caml_parser_env 3 : 'relation3nl) in let _3 = (Parsing.peek_val __caml_parser_env 1 : 'relation) in Obj.repr( # 78 "alloyparse.mly" ( `Jointure (None, (_3, _1)) ) # 882 "alloyparse.ml" : 'relation3nl)) ; (fun __caml_parser_env -> let _1 = (Parsing.peek_val __caml_parser_env 0 : 'relation5) in Obj.repr( # 82 "alloyparse.mly" ( _1 ) # 889 "alloyparse.ml" : 'relation4)) ; (fun __caml_parser_env -> let _1 = (Parsing.peek_val __caml_parser_env 2 : 'relation4nl) in let _3 = (Parsing.peek_val __caml_parser_env 0 : 'relation5) in Obj.repr( # 83 "alloyparse.mly" ( `Restriction_droite (None, (_1, _3)) ) # 897 "alloyparse.ml" : 'relation4)) ; (fun __caml_parser_env -> let _1 = (Parsing.peek_val __caml_parser_env 0 : 'relation5nl) in Obj.repr( # 87 "alloyparse.mly" ( _1 ) # 904 "alloyparse.ml" : 'relation4nl)) ; (fun __caml_parser_env -> let _1 = (Parsing.peek_val __caml_parser_env 2 : 'relation4nl) in let _3 = (Parsing.peek_val __caml_parser_env 0 : 'relation5nl) in Obj.repr( # 88 "alloyparse.mly" ( `Restriction_droite (None, (_1, _3)) ) # 912 "alloyparse.ml" : 'relation4nl)) ; (fun __caml_parser_env -> let _1 = (Parsing.peek_val __caml_parser_env 0 : 'relation6) in Obj.repr( # 92 "alloyparse.mly" ( _1 ) # 919 "alloyparse.ml" : 'relation5)) ; (fun __caml_parser_env -> let _1 = (Parsing.peek_val __caml_parser_env 2 : 'relation5nl) in let _3 = (Parsing.peek_val __caml_parser_env 0 : 'relation6) in Obj.repr( # 93 "alloyparse.mly" ( `Restriction_gauche (None, (_1, _3)) ) # 927 "alloyparse.ml" : 'relation5)) ; (fun __caml_parser_env -> let _1 = (Parsing.peek_val __caml_parser_env 0 : 'relation6nl) in Obj.repr( # 97 "alloyparse.mly" ( _1 ) # 934 "alloyparse.ml" : 'relation5nl)) ; (fun __caml_parser_env -> let _1 = (Parsing.peek_val __caml_parser_env 2 : 'relation5nl) in let _3 = (Parsing.peek_val __caml_parser_env 0 : 'relation6nl) in Obj.repr( # 98 "alloyparse.mly" ( `Restriction_gauche (None, (_1, _3)) ) # 942 "alloyparse.ml" : 'relation5nl)) ; (fun __caml_parser_env -> let _1 = (Parsing.peek_val __caml_parser_env 0 : 'relation7) in Obj.repr( # 102 "alloyparse.mly" ( _1 ) # 949 "alloyparse.ml" : 'relation6)) ; (fun __caml_parser_env -> let _1 = (Parsing.peek_val __caml_parser_env 2 : 'relation6nl) in let _3 = (Parsing.peek_val __caml_parser_env 0 : 'relation7) in Obj.repr( # 103 "alloyparse.mly" ( `Jointure (None, (_1, _3)) ) # 957 "alloyparse.ml" : 'relation6)) ; (fun __caml_parser_env -> let _1 = (Parsing.peek_val __caml_parser_env 0 : 'relation7nl) in Obj.repr( # 107 "alloyparse.mly" ( _1 ) # 964 "alloyparse.ml" : 'relation6nl)) ; (fun __caml_parser_env -> let _1 = (Parsing.peek_val __caml_parser_env 2 : 'relation6nl) in let _3 = (Parsing.peek_val __caml_parser_env 0 : 'relation7nl) in Obj.repr( # 108 "alloyparse.mly" ( `Jointure (None, (_1, _3)) ) # 972 "alloyparse.ml" : 'relation6nl)) ; (fun __caml_parser_env -> let _1 = (Parsing.peek_val __caml_parser_env 0 : 'relation8) in Obj.repr( # 112 "alloyparse.mly" ( _1 ) # 979 "alloyparse.ml" : 'relation7)) ; (fun __caml_parser_env -> let _2 = (Parsing.peek_val __caml_parser_env 0 : 'relation7) in Obj.repr( # 113 "alloyparse.mly" ( `Tilde _2 ) # 986 "alloyparse.ml" : 'relation7)) ; (fun __caml_parser_env -> let _1 = (Parsing.peek_val __caml_parser_env 0 : 'relation8nl) in Obj.repr( # 117 "alloyparse.mly" ( _1 ) # 993 "alloyparse.ml" : 'relation7nl)) ; (fun __caml_parser_env -> let _2 = (Parsing.peek_val __caml_parser_env 0 : 'relation7nl) in Obj.repr( # 118 "alloyparse.mly" ( `Tilde _2 ) # 1000 "alloyparse.ml" : 'relation7nl)) ; (fun __caml_parser_env -> let _2 = (Parsing.peek_val __caml_parser_env 1 : 'relation) in Obj.repr( # 122 "alloyparse.mly" ( _2 ) # 1007 "alloyparse.ml" : 'relation8)) ; (fun __caml_parser_env -> let _1 = (Parsing.peek_val __caml_parser_env 1 : Symb.ident) in let _2 = (Parsing.peek_val __caml_parser_env 0 : 'arg_seq2) in Obj.repr( # 123 "alloyparse.mly" ( `Fonction (_1, _2) ) # 1015 "alloyparse.ml" : 'relation8)) ; (fun __caml_parser_env -> let _1 = (Parsing.peek_val __caml_parser_env 0 : Symb.ident) in Obj.repr( # 124 "alloyparse.mly" ( `Variable _1 ) # 1022 "alloyparse.ml" : 'relation8)) ; (fun __caml_parser_env -> Obj.repr( # 125 "alloyparse.mly" ( `Univ ) # 1028 "alloyparse.ml" : 'relation8)) ; (fun __caml_parser_env -> Obj.repr( # 126 "alloyparse.mly" ( `Iden ) # 1034 "alloyparse.ml" : 'relation8)) ; (fun __caml_parser_env -> Obj.repr( # 127 "alloyparse.mly" ( `None ) # 1040 "alloyparse.ml" : 'relation8)) ; (fun __caml_parser_env -> let _1 = (Parsing.peek_val __caml_parser_env 2 : 'affectation) in let _3 = (Parsing.peek_val __caml_parser_env 0 : 'relation) in Obj.repr( # 128 "alloyparse.mly" ( affecte_rel _1 _3 ) # 1048 "alloyparse.ml" : 'relation8)) ; (fun __caml_parser_env -> Obj.repr( # 132 "alloyparse.mly" ( parse_error "relation8" ) # 1054 "alloyparse.ml" : 'relation8)) ; (fun __caml_parser_env -> let _2 = (Parsing.peek_val __caml_parser_env 1 : 'relation) in Obj.repr( # 136 "alloyparse.mly" ( _2 ) # 1061 "alloyparse.ml" : 'relation8nl)) ; (fun __caml_parser_env -> let _1 = (Parsing.peek_val __caml_parser_env 1 : Symb.ident) in let _2 = (Parsing.peek_val __caml_parser_env 0 : 'arg_seq2) in Obj.repr( # 137 "alloyparse.mly" ( `Fonction (_1, _2) ) # 1069 "alloyparse.ml" : 'relation8nl)) ; (fun __caml_parser_env -> let _1 = (Parsing.peek_val __caml_parser_env 0 : Symb.ident) in Obj.repr( # 138 "alloyparse.mly" ( `Variable _1 ) # 1076 "alloyparse.ml" : 'relation8nl)) ; (fun __caml_parser_env -> Obj.repr( # 139 "alloyparse.mly" ( `Univ ) # 1082 "alloyparse.ml" : 'relation8nl)) ; (fun __caml_parser_env -> Obj.repr( # 140 "alloyparse.mly" ( `Iden ) # 1088 "alloyparse.ml" : 'relation8nl)) ; (fun __caml_parser_env -> Obj.repr( # 141 "alloyparse.mly" ( `None ) # 1094 "alloyparse.ml" : 'relation8nl)) ; (fun __caml_parser_env -> Obj.repr( # 142 "alloyparse.mly" ( parse_error "relation8n1" ) # 1100 "alloyparse.ml" : 'relation8nl)) ; (fun __caml_parser_env -> let _2 = (Parsing.peek_val __caml_parser_env 0 : 'affectation_liste) in Obj.repr( # 146 "alloyparse.mly" ( _2 ) # 1107 "alloyparse.ml" : 'affectation)) ; (fun __caml_parser_env -> let _1 = (Parsing.peek_val __caml_parser_env 0 : 'affectation_element) in Obj.repr( # 150 "alloyparse.mly" ( [ _1 ] ) # 1114 "alloyparse.ml" : 'affectation_liste)) ; (fun __caml_parser_env -> let _1 = (Parsing.peek_val __caml_parser_env 2 : 'affectation_element) in let _3 = (Parsing.peek_val __caml_parser_env 0 : 'affectation_liste) in Obj.repr( # 151 "alloyparse.mly" ( _1 :: _3 ) # 1122 "alloyparse.ml" : 'affectation_liste)) ; (fun __caml_parser_env -> Obj.repr( # 152 "alloyparse.mly" ( parse_error "affectation_liste" ) # 1128 "alloyparse.ml" : 'affectation_liste)) ; (fun __caml_parser_env -> let _1 = (Parsing.peek_val __caml_parser_env 2 : Symb.ident) in let _3 = (Parsing.peek_val __caml_parser_env 0 : 'relation) in Obj.repr( # 156 "alloyparse.mly" ( (_1, _3) ) # 1136 "alloyparse.ml" : 'affectation_element)) ; (fun __caml_parser_env -> let _1 = (Parsing.peek_val __caml_parser_env 0 : 'formule0) in Obj.repr( # 160 "alloyparse.mly" ( _1 ) # 1143 "alloyparse.ml" : 'formule)) ; (fun __caml_parser_env -> let _1 = (Parsing.peek_val __caml_parser_env 0 : 'formule1) in Obj.repr( # 164 "alloyparse.mly" ( _1 ) # 1150 "alloyparse.ml" : 'formule0)) ; (fun __caml_parser_env -> let _1 = (Parsing.peek_val __caml_parser_env 0 : 'formule_disjonction) in Obj.repr( # 165 "alloyparse.mly" ( `Disjunction _1 ) # 1157 "alloyparse.ml" : 'formule0)) ; (fun __caml_parser_env -> let _1 = (Parsing.peek_val __caml_parser_env 0 : 'formule1nl) in Obj.repr( # 169 "alloyparse.mly" ( _1 ) # 1164 "alloyparse.ml" : 'formule0nl)) ; (fun __caml_parser_env -> let _1 = (Parsing.peek_val __caml_parser_env 0 : 'formule_disjonction_nl) in Obj.repr( # 170 "alloyparse.mly" ( `Disjunction _1 ) # 1171 "alloyparse.ml" : 'formule0nl)) ; (fun __caml_parser_env -> let _1 = (Parsing.peek_val __caml_parser_env 2 : 'formule1nl) in let _3 = (Parsing.peek_val __caml_parser_env 0 : 'formule1nl) in Obj.repr( # 174 "alloyparse.mly" ( [_1; _3] ) # 1179 "alloyparse.ml" : 'formule_disjonction_nl)) ; (fun __caml_parser_env -> let _1 = (Parsing.peek_val __caml_parser_env 2 : 'formule1nl) in let _3 = (Parsing.peek_val __caml_parser_env 0 : 'formule_disjonction_nl) in Obj.repr( # 175 "alloyparse.mly" (_1::_3) # 1187 "alloyparse.ml" : 'formule_disjonction_nl)) ; (fun __caml_parser_env -> let _1 = (Parsing.peek_val __caml_parser_env 2 : 'formule1nl) in let _3 = (Parsing.peek_val __caml_parser_env 0 : 'formule1) in Obj.repr( # 179 "alloyparse.mly" ( [_1; _3] ) # 1195 "alloyparse.ml" : 'formule_disjonction)) ; (fun __caml_parser_env -> let _1 = (Parsing.peek_val __caml_parser_env 2 : 'formule1nl) in let _3 = (Parsing.peek_val __caml_parser_env 0 : 'formule_disjonction) in Obj.repr( # 180 "alloyparse.mly" (_1::_3) # 1203 "alloyparse.ml" : 'formule_disjonction)) ; (fun __caml_parser_env -> let _1 = (Parsing.peek_val __caml_parser_env 0 : 'formule2) in Obj.repr( # 184 "alloyparse.mly" ( _1 ) # 1210 "alloyparse.ml" : 'formule1)) ; (fun __caml_parser_env -> let _1 = (Parsing.peek_val __caml_parser_env 2 : 'formule2nl) in let _3 = (Parsing.peek_val __caml_parser_env 0 : 'formule1) in Obj.repr( # 185 "alloyparse.mly" ( implication _1 _3 ) # 1218 "alloyparse.ml" : 'formule1)) ; (fun __caml_parser_env -> let _1 = (Parsing.peek_val __caml_parser_env 0 : 'formule2nl) in Obj.repr( # 193 "alloyparse.mly" ( _1 ) # 1225 "alloyparse.ml" : 'formule1nl)) ; (fun __caml_parser_env -> let _1 = (Parsing.peek_val __caml_parser_env 2 : 'formule2nl) in let _3 = (Parsing.peek_val __caml_parser_env 0 : 'formule1nl) in Obj.repr( # 194 "alloyparse.mly" ( implication _1 _3 ) # 1233 "alloyparse.ml" : 'formule1nl)) ; (fun __caml_parser_env -> Obj.repr( # 199 "alloyparse.mly" ( () ) # 1239 "alloyparse.ml" : 'els)) ; (fun __caml_parser_env -> Obj.repr( # 200 "alloyparse.mly" ( () ) # 1245 "alloyparse.ml" : 'els)) ; (fun __caml_parser_env -> let _1 = (Parsing.peek_val __caml_parser_env 0 : 'formule3) in Obj.repr( # 204 "alloyparse.mly" ( _1 ) # 1252 "alloyparse.ml" : 'formule2)) ; (fun __caml_parser_env -> let _1 = (Parsing.peek_val __caml_parser_env 0 : 'formule_conjonction) in Obj.repr( # 205 "alloyparse.mly" ( `Conjunction (_1) ) # 1259 "alloyparse.ml" : 'formule2)) ; (fun __caml_parser_env -> let _1 = (Parsing.peek_val __caml_parser_env 0 : 'formule3nl) in Obj.repr( # 209 "alloyparse.mly" ( _1 ) # 1266 "alloyparse.ml" : 'formule2nl)) ; (fun __caml_parser_env -> let _1 = (Parsing.peek_val __caml_parser_env 0 : 'formule_conjonction_nl) in Obj.repr( # 210 "alloyparse.mly" ( `Conjunction (_1) ) # 1273 "alloyparse.ml" : 'formule2nl)) ; (fun __caml_parser_env -> let _1 = (Parsing.peek_val __caml_parser_env 2 : 'formule3nl) in let _3 = (Parsing.peek_val __caml_parser_env 0 : 'formule3) in Obj.repr( # 214 "alloyparse.mly" ( [_1; _3]) # 1281 "alloyparse.ml" : 'formule_conjonction)) ; (fun __caml_parser_env -> let _1 = (Parsing.peek_val __caml_parser_env 2 : 'formule3nl) in let _3 = (Parsing.peek_val __caml_parser_env 0 : 'formule_conjonction) in Obj.repr( # 215 "alloyparse.mly" ( ((_1)::(_3)) ) # 1289 "alloyparse.ml" : 'formule_conjonction)) ; (fun __caml_parser_env -> let _1 = (Parsing.peek_val __caml_parser_env 2 : 'formule3nl) in let _3 = (Parsing.peek_val __caml_parser_env 0 : 'formule3nl) in Obj.repr( # 219 "alloyparse.mly" ( [_1; _3]) # 1297 "alloyparse.ml" : 'formule_conjonction_nl)) ; (fun __caml_parser_env -> let _1 = (Parsing.peek_val __caml_parser_env 2 : 'formule3nl) in let _3 = (Parsing.peek_val __caml_parser_env 0 : 'formule_conjonction_nl) in Obj.repr( # 220 "alloyparse.mly" ( (_1)::(_3) ) # 1305 "alloyparse.ml" : 'formule_conjonction_nl)) ; (fun __caml_parser_env -> let _1 = (Parsing.peek_val __caml_parser_env 0 : 'formule4) in Obj.repr( # 224 "alloyparse.mly" ( _1 ) # 1312 "alloyparse.ml" : 'formule3)) ; (fun __caml_parser_env -> let _2 = (Parsing.peek_val __caml_parser_env 0 : 'formule3) in Obj.repr( # 225 "alloyparse.mly" ( `Negation (_2 ) ) # 1319 "alloyparse.ml" : 'formule3)) ; (fun __caml_parser_env -> let _1 = (Parsing.peek_val __caml_parser_env 0 : 'formule4nl) in Obj.repr( # 229 "alloyparse.mly" ( _1 ) # 1326 "alloyparse.ml" : 'formule3nl)) ; (fun __caml_parser_env -> let _2 = (Parsing.peek_val __caml_parser_env 0 : 'formule3nl) in Obj.repr( # 230 "alloyparse.mly" ( `Negation (_2 ) ) # 1333 "alloyparse.ml" : 'formule3nl)) ; (fun __caml_parser_env -> let _2 = (Parsing.peek_val __caml_parser_env 1 : 'formule) in Obj.repr( # 234 "alloyparse.mly" ( _2 ) # 1340 "alloyparse.ml" : 'formule4)) ; (fun __caml_parser_env -> let _1 = (Parsing.peek_val __caml_parser_env 0 : 'formule_seq) in Obj.repr( # 235 "alloyparse.mly" ( _1 ) # 1347 "alloyparse.ml" : 'formule4)) ; (fun __caml_parser_env -> let _1 = (Parsing.peek_val __caml_parser_env 1 : Symb.ident) in let _2 = (Parsing.peek_val __caml_parser_env 0 : 'arg_seq) in Obj.repr( # 236 "alloyparse.mly" ( `Predicate (_1, _2) ) # 1355 "alloyparse.ml" : 'formule4)) ; (fun __caml_parser_env -> let _2 = (Parsing.peek_val __caml_parser_env 0 : 'relation) in Obj.repr( # 237 "alloyparse.mly" ( `Some _2 ) # 1362 "alloyparse.ml" : 'formule4)) ; (fun __caml_parser_env -> let _2 = (Parsing.peek_val __caml_parser_env 0 : 'relation) in Obj.repr( # 238 "alloyparse.mly" ( `No _2 ) # 1369 "alloyparse.ml" : 'formule4)) ; (fun __caml_parser_env -> let _2 = (Parsing.peek_val __caml_parser_env 0 : 'relation) in Obj.repr( # 239 "alloyparse.mly" ( `Lone _2 ) # 1376 "alloyparse.ml" : 'formule4)) ; (fun __caml_parser_env -> let _2 = (Parsing.peek_val __caml_parser_env 0 : 'relation) in Obj.repr( # 240 "alloyparse.mly" ( `One _2 ) # 1383 "alloyparse.ml" : 'formule4)) ; (fun __caml_parser_env -> let _1 = (Parsing.peek_val __caml_parser_env 2 : 'relation_nl) in let _3 = (Parsing.peek_val __caml_parser_env 0 : 'relation) in Obj.repr( # 241 "alloyparse.mly" ( `In (_1, _3) ) # 1391 "alloyparse.ml" : 'formule4)) ; (fun __caml_parser_env -> let _1 = (Parsing.peek_val __caml_parser_env 2 : 'relation_nl) in let _3 = (Parsing.peek_val __caml_parser_env 0 : 'relation) in Obj.repr( # 243 "alloyparse.mly" ( `Equality (_1, _3) ) # 1399 "alloyparse.ml" : 'formule4)) ; (fun __caml_parser_env -> let _2 = (Parsing.peek_val __caml_parser_env 1 : 'varlist_quant) in let _3 = (Parsing.peek_val __caml_parser_env 0 : 'formule_corps) in Obj.repr( # 244 "alloyparse.mly" ( `Forall (_2, _3) ) # 1407 "alloyparse.ml" : 'formule4)) ; (fun __caml_parser_env -> let _2 = (Parsing.peek_val __caml_parser_env 1 : 'varlist_quant) in let _3 = (Parsing.peek_val __caml_parser_env 0 : 'formule_corps) in Obj.repr( # 245 "alloyparse.mly" ( `Exists (_2, _3) ) # 1415 "alloyparse.ml" : 'formule4)) ; (fun __caml_parser_env -> let _2 = (Parsing.peek_val __caml_parser_env 1 : 'varlist_quant) in let _3 = (Parsing.peek_val __caml_parser_env 0 : 'formule_corps) in Obj.repr( # 246 "alloyparse.mly" ( `Negation (`Exists (_2, _3)) ) # 1423 "alloyparse.ml" : 'formule4)) ; (fun __caml_parser_env -> let _1 = (Parsing.peek_val __caml_parser_env 1 : 'affectation) in let _2 = (Parsing.peek_val __caml_parser_env 0 : 'formule_corps) in Obj.repr( # 247 "alloyparse.mly" ( affecte_form _1 _2 ) # 1431 "alloyparse.ml" : 'formule4)) ; (fun __caml_parser_env -> let _2 = (Parsing.peek_val __caml_parser_env 1 : 'formule) in Obj.repr( # 252 "alloyparse.mly" ( _2 ) # 1438 "alloyparse.ml" : 'formule4nl)) ; (fun __caml_parser_env -> let _1 = (Parsing.peek_val __caml_parser_env 0 : 'formule_seq) in Obj.repr( # 253 "alloyparse.mly" ( _1 ) # 1445 "alloyparse.ml" : 'formule4nl)) ; (fun __caml_parser_env -> let _1 = (Parsing.peek_val __caml_parser_env 1 : Symb.ident) in let _2 = (Parsing.peek_val __caml_parser_env 0 : 'arg_seq) in Obj.repr( # 254 "alloyparse.mly" ( `Predicate (_1, _2) ) # 1453 "alloyparse.ml" : 'formule4nl)) ; (fun __caml_parser_env -> let _2 = (Parsing.peek_val __caml_parser_env 0 : 'relation) in Obj.repr( # 255 "alloyparse.mly" ( `Some _2 ) # 1460 "alloyparse.ml" : 'formule4nl)) ; (fun __caml_parser_env -> let _2 = (Parsing.peek_val __caml_parser_env 0 : 'relation) in Obj.repr( # 256 "alloyparse.mly" ( `No _2 ) # 1467 "alloyparse.ml" : 'formule4nl)) ; (fun __caml_parser_env -> let _2 = (Parsing.peek_val __caml_parser_env 0 : 'relation) in Obj.repr( # 257 "alloyparse.mly" ( `Lone _2 ) # 1474 "alloyparse.ml" : 'formule4nl)) ; (fun __caml_parser_env -> let _2 = (Parsing.peek_val __caml_parser_env 0 : 'relation) in Obj.repr( # 258 "alloyparse.mly" ( `One _2 ) # 1481 "alloyparse.ml" : 'formule4nl)) ; (fun __caml_parser_env -> let _1 = (Parsing.peek_val __caml_parser_env 2 : 'relation_nl) in let _3 = (Parsing.peek_val __caml_parser_env 0 : 'relation) in Obj.repr( # 259 "alloyparse.mly" ( `In (_1, _3) ) # 1489 "alloyparse.ml" : 'formule4nl)) ; (fun __caml_parser_env -> let _1 = (Parsing.peek_val __caml_parser_env 2 : 'relation_nl) in let _3 = (Parsing.peek_val __caml_parser_env 0 : 'relation) in Obj.repr( # 261 "alloyparse.mly" ( `Equality (_1, _3) ) # 1497 "alloyparse.ml" : 'formule4nl)) ; (fun __caml_parser_env -> let _2 = (Parsing.peek_val __caml_parser_env 0 : 'formule) in Obj.repr( # 266 "alloyparse.mly" ( _2 ) # 1504 "alloyparse.ml" : 'formule_corps)) ; (fun __caml_parser_env -> let _1 = (Parsing.peek_val __caml_parser_env 0 : 'formule_seq) in Obj.repr( # 267 "alloyparse.mly" ( _1 ) # 1511 "alloyparse.ml" : 'formule_corps)) ; (fun __caml_parser_env -> let _2 = (Parsing.peek_val __caml_parser_env 1 : 'formule_liste) in Obj.repr( # 271 "alloyparse.mly" ( `Conjunction (_2 ) ) # 1518 "alloyparse.ml" : 'formule_seq)) ; (fun __caml_parser_env -> Obj.repr( # 275 "alloyparse.mly" ( [] ) # 1524 "alloyparse.ml" : 'formule_liste)) ; (fun __caml_parser_env -> let _1 = (Parsing.peek_val __caml_parser_env 1 : 'formule) in let _2 = (Parsing.peek_val __caml_parser_env 0 : 'formule_liste) in Obj.repr( # 276 "alloyparse.mly" ( ((_1 )::(_2 )) ) # 1532 "alloyparse.ml" : 'formule_liste)) ; (fun __caml_parser_env -> let _1 = (Parsing.peek_val __caml_parser_env 0 : 'varlist_quant0) in Obj.repr( # 280 "alloyparse.mly" ( fst _1 ) # 1539 "alloyparse.ml" : 'varlist_quant)) ; (fun __caml_parser_env -> let _1 = (Parsing.peek_val __caml_parser_env 2 : Symb.ident) in let _3 = (Parsing.peek_val __caml_parser_env 0 : 'relation) in Obj.repr( # 284 "alloyparse.mly" ( let r = _3 in ([ _1, r ], r) ) # 1547 "alloyparse.ml" : 'varlist_quant0)) ; (fun __caml_parser_env -> let _1 = (Parsing.peek_val __caml_parser_env 4 : Symb.ident) in let _3 = (Parsing.peek_val __caml_parser_env 2 : 'relation) in let _5 = (Parsing.peek_val __caml_parser_env 0 : 'varlist_quant0) in Obj.repr( # 285 "alloyparse.mly" ( let r = _3 in ((_1, r)::(fst (_5 )) ,r) ) # 1558 "alloyparse.ml" : 'varlist_quant0)) ; (fun __caml_parser_env -> let _1 = (Parsing.peek_val __caml_parser_env 2 : Symb.ident) in let _3 = (Parsing.peek_val __caml_parser_env 0 : 'varlist_quant0) in Obj.repr( # 288 "alloyparse.mly" ( let l, r = _3 in ((_1, r)::l, r) ) # 1568 "alloyparse.ml" : 'varlist_quant0)) ; (fun __caml_parser_env -> Obj.repr( # 298 "alloyparse.mly" ( [] ) # 1574 "alloyparse.ml" : 'arg_seq)) ; (fun __caml_parser_env -> let _2 = (Parsing.peek_val __caml_parser_env 1 : 'arg_liste) in Obj.repr( # 299 "alloyparse.mly" ( _2 ) # 1581 "alloyparse.ml" : 'arg_seq)) ; (fun __caml_parser_env -> Obj.repr( # 303 "alloyparse.mly" ( [] ) # 1587 "alloyparse.ml" : 'arg_seq2)) ; (fun __caml_parser_env -> let _2 = (Parsing.peek_val __caml_parser_env 1 : 'arg_liste) in Obj.repr( # 304 "alloyparse.mly" ( _2 ) # 1594 "alloyparse.ml" : 'arg_seq2)) ; (fun __caml_parser_env -> let _1 = (Parsing.peek_val __caml_parser_env 0 : 'relation) in Obj.repr( # 308 "alloyparse.mly" ( [_1 ] ) # 1601 "alloyparse.ml" : 'arg_liste)) ; (fun __caml_parser_env -> let _1 = (Parsing.peek_val __caml_parser_env 2 : 'relation) in let _3 = (Parsing.peek_val __caml_parser_env 0 : 'arg_liste) in Obj.repr( # 309 "alloyparse.mly" ( ((_1 )::(_3 )) ) # 1609 "alloyparse.ml" : 'arg_liste)) ; (fun __caml_parser_env -> Obj.repr( # 313 "alloyparse.mly" ( [] ) # 1615 "alloyparse.ml" : 'param_seq)) ; (fun __caml_parser_env -> let _2 = (Parsing.peek_val __caml_parser_env 1 : 'param_liste) in Obj.repr( # 314 "alloyparse.mly" ( fst _2 ) # 1622 "alloyparse.ml" : 'param_seq)) ; (fun __caml_parser_env -> let _1 = (Parsing.peek_val __caml_parser_env 0 : 'param) in Obj.repr( # 318 "alloyparse.mly" ( let p, r = _1 in [p, r], r ) # 1629 "alloyparse.ml" : 'param_liste)) ; (fun __caml_parser_env -> let _1 = (Parsing.peek_val __caml_parser_env 2 : 'param) in let _3 = (Parsing.peek_val __caml_parser_env 0 : 'param_liste) in Obj.repr( # 319 "alloyparse.mly" ( let p, r = _1 and l, _ = _3 in ((p, r) :: l, r) ) # 1639 "alloyparse.ml" : 'param_liste)) ; (fun __caml_parser_env -> let _1 = (Parsing.peek_val __caml_parser_env 2 : Symb.ident) in let _3 = (Parsing.peek_val __caml_parser_env 0 : 'param_liste) in Obj.repr( # 322 "alloyparse.mly" ( let l, r = _3 in ((_1, r) :: l, r) ) # 1647 "alloyparse.ml" : 'param_liste)) ; (fun __caml_parser_env -> let _1 = (Parsing.peek_val __caml_parser_env 3 : Symb.ident) in let _4 = (Parsing.peek_val __caml_parser_env 0 : Symb.ident) in Obj.repr( # 327 "alloyparse.mly" ( (_1, (`Variable _4)) ) # 1655 "alloyparse.ml" : 'param)) ; (fun __caml_parser_env -> let _1 = (Parsing.peek_val __caml_parser_env 2 : Symb.ident) in let _3 = (Parsing.peek_val __caml_parser_env 0 : 'relation) in Obj.repr( # 329 "alloyparse.mly" ( (_1, _3) ) # 1663 "alloyparse.ml" : 'param)) ; (fun __caml_parser_env -> let _1 = (Parsing.peek_val __caml_parser_env 2 : Symb.ident) in let _3 = (Parsing.peek_val __caml_parser_env 0 : Symb.ident) in Obj.repr( # 333 "alloyparse.mly" ( [_1; _3] ) # 1671 "alloyparse.ml" : 'typefleche)) ; (fun __caml_parser_env -> let _1 = (Parsing.peek_val __caml_parser_env 2 : Symb.ident) in let _3 = (Parsing.peek_val __caml_parser_env 0 : 'typefleche) in Obj.repr( # 334 "alloyparse.mly" ( _1 :: _3 ) # 1679 "alloyparse.ml" : 'typefleche)) ; (fun __caml_parser_env -> Obj.repr( # 338 "alloyparse.mly" ( [] ) # 1685 "alloyparse.ml" : 'reldef_seq)) ; (fun __caml_parser_env -> let _2 = (Parsing.peek_val __caml_parser_env 1 : 'reldef_liste) in Obj.repr( # 339 "alloyparse.mly" ( fst _2 ) # 1692 "alloyparse.ml" : 'reldef_seq)) ; (fun __caml_parser_env -> let _1 = (Parsing.peek_val __caml_parser_env 0 : 'reldef) in Obj.repr( # 343 "alloyparse.mly" ( let r = _1 in [ r ], r ) # 1699 "alloyparse.ml" : 'reldef_liste)) ; (fun __caml_parser_env -> let _1 = (Parsing.peek_val __caml_parser_env 2 : 'reldef) in let _3 = (Parsing.peek_val __caml_parser_env 0 : 'reldef_liste) in Obj.repr( # 344 "alloyparse.mly" ( let r = _1 and l, _ = _3 in (r :: l, r) ) # 1707 "alloyparse.ml" : 'reldef_liste)) ; (fun __caml_parser_env -> let _1 = (Parsing.peek_val __caml_parser_env 2 : Symb.ident) in let _3 = (Parsing.peek_val __caml_parser_env 0 : 'reldef_liste) in Obj.repr( # 345 "alloyparse.mly" ( let l, r = _3 in {r with sigrel_name = _1}::l, r) # 1715 "alloyparse.ml" : 'reldef_liste)) ; (fun __caml_parser_env -> let _1 = (Parsing.peek_val __caml_parser_env 2 : Symb.ident) in let _3 = (Parsing.peek_val __caml_parser_env 0 : Symb.ident) in Obj.repr( # 349 "alloyparse.mly" ( { sigrel_name = _1; sigrel_function = true; sigrel_type = [_3]; } ) # 1727 "alloyparse.ml" : 'reldef)) ; (fun __caml_parser_env -> let _1 = (Parsing.peek_val __caml_parser_env 3 : Symb.ident) in let _4 = (Parsing.peek_val __caml_parser_env 0 : Symb.ident) in Obj.repr( # 354 "alloyparse.mly" ( { sigrel_name = _1; sigrel_function = false; sigrel_type = [_4]; } ) # 1739 "alloyparse.ml" : 'reldef)) ; (fun __caml_parser_env -> let _1 = (Parsing.peek_val __caml_parser_env 2 : Symb.ident) in let _3 = (Parsing.peek_val __caml_parser_env 0 : 'typefleche) in Obj.repr( # 359 "alloyparse.mly" ( { sigrel_name = _1; sigrel_function = false; sigrel_type = _3; } ) # 1751 "alloyparse.ml" : 'reldef)) ; (fun __caml_parser_env -> let _1 = (Parsing.peek_val __caml_parser_env 2 : Symb.ident) in let _3 = (Parsing.peek_val __caml_parser_env 0 : 'chemin) in Obj.repr( # 367 "alloyparse.mly" ( let queue, nom = _3 in (_1 :: queue, nom) ) # 1759 "alloyparse.ml" : 'chemin)) ; (fun __caml_parser_env -> let _1 = (Parsing.peek_val __caml_parser_env 0 : Symb.ident) in Obj.repr( # 368 "alloyparse.mly" ( [], _1 ) # 1766 "alloyparse.ml" : 'chemin)) ; (fun __caml_parser_env -> let _1 = (Parsing.peek_val __caml_parser_env 2 : 'sigdecl) in let _2 = (Parsing.peek_val __caml_parser_env 1 : Symb.ident) in let _3 = (Parsing.peek_val __caml_parser_env 0 : 'reldef_seq) in Obj.repr( # 372 "alloyparse.mly" ( signature { sig_name = _2; sig_mult = _1; sig_type = None; sig_rels = _3; } ) # 1780 "alloyparse.ml" : 'instruction)) ; (fun __caml_parser_env -> let _1 = (Parsing.peek_val __caml_parser_env 4 : 'sigdecl) in let _2 = (Parsing.peek_val __caml_parser_env 3 : Symb.ident) in let _4 = (Parsing.peek_val __caml_parser_env 1 : Symb.ident) in let _5 = (Parsing.peek_val __caml_parser_env 0 : 'reldef_seq) in Obj.repr( # 378 "alloyparse.mly" ( signature { sig_name = _2; sig_mult = _1; sig_type = Some (`Extends _4); sig_rels = _5; } ) # 1795 "alloyparse.ml" : 'instruction)) ; (fun __caml_parser_env -> let _1 = (Parsing.peek_val __caml_parser_env 4 : 'sigdecl) in let _2 = (Parsing.peek_val __caml_parser_env 3 : Symb.ident) in let _4 = (Parsing.peek_val __caml_parser_env 1 : 'relation) in let _5 = (Parsing.peek_val __caml_parser_env 0 : 'reldef_seq) in Obj.repr( # 384 "alloyparse.mly" ( signature { sig_name = _2; sig_mult = _1; sig_type = Some (`In _4); sig_rels = _5; } ) # 1810 "alloyparse.ml" : 'instruction)) ; (fun __caml_parser_env -> let _2 = (Parsing.peek_val __caml_parser_env 2 : Symb.ident) in let _3 = (Parsing.peek_val __caml_parser_env 1 : 'param_seq) in let _4 = (Parsing.peek_val __caml_parser_env 0 : 'formule_seq) in Obj.repr( # 390 "alloyparse.mly" ( predicat { corps_nom = _2; corps_param = _3; corps_corps = _4 } ) # 1823 "alloyparse.ml" : 'instruction)) ; (fun __caml_parser_env -> let _2 = (Parsing.peek_val __caml_parser_env 7 : Symb.ident) in let _3 = (Parsing.peek_val __caml_parser_env 6 : 'param_seq) in let _5 = (Parsing.peek_val __caml_parser_env 4 : 'set) in let _6 = (Parsing.peek_val __caml_parser_env 3 : 'relation) in let _8 = (Parsing.peek_val __caml_parser_env 1 : 'relation) in Obj.repr( # 395 "alloyparse.mly" ( fonction { corps_nom = _2; corps_param = _3; corps_corps = _8; } ) # 1838 "alloyparse.ml" : 'instruction)) ; (fun __caml_parser_env -> let _2 = (Parsing.peek_val __caml_parser_env 0 : 'formule_seq) in Obj.repr( # 400 "alloyparse.mly" ( fait (nouveau_symbole "unnamed_fact", _2) ) # 1845 "alloyparse.ml" : 'instruction)) ; (fun __caml_parser_env -> let _2 = (Parsing.peek_val __caml_parser_env 1 : Symb.ident) in let _3 = (Parsing.peek_val __caml_parser_env 0 : 'formule_seq) in Obj.repr( # 401 "alloyparse.mly" ( fait (_2, _3) ) # 1853 "alloyparse.ml" : 'instruction)) ; (fun __caml_parser_env -> let _2 = (Parsing.peek_val __caml_parser_env 1 : Symb.ident) in let _3 = (Parsing.peek_val __caml_parser_env 0 : 'formule_seq) in Obj.repr( # 402 "alloyparse.mly" ( assertion (_2, _3) ) # 1861 "alloyparse.ml" : 'instruction)) ; (fun __caml_parser_env -> let _1 = (Parsing.peek_val __caml_parser_env 0 : 'check) in Obj.repr( # 403 "alloyparse.mly" ( fun e -> ( prerr_endline "Check or run statement : ignored"; e ) ) # 1871 "alloyparse.ml" : 'instruction)) ; (fun __caml_parser_env -> let _2 = (Parsing.peek_val __caml_parser_env 0 : 'chemin) in Obj.repr( # 407 "alloyparse.mly" ( process_module _2 ) # 1878 "alloyparse.ml" : 'instruction)) ; (fun __caml_parser_env -> Obj.repr( # 408 "alloyparse.mly" ( parse_error "instruction" ) # 1884 "alloyparse.ml" : 'instruction)) ; (fun __caml_parser_env -> Obj.repr( # 412 "alloyparse.mly" ( None ) # 1890 "alloyparse.ml" : 'sigdecl)) ; (fun __caml_parser_env -> Obj.repr( # 413 "alloyparse.mly" ( Some `Abstract ) # 1896 "alloyparse.ml" : 'sigdecl)) ; (fun __caml_parser_env -> Obj.repr( # 414 "alloyparse.mly" ( Some `One ) # 1902 "alloyparse.ml" : 'sigdecl)) ; (fun __caml_parser_env -> Obj.repr( # 418 "alloyparse.mly" ( () ) # 1908 "alloyparse.ml" : 'set)) ; (fun __caml_parser_env -> Obj.repr( # 419 "alloyparse.mly" ( () ) # 1914 "alloyparse.ml" : 'set)) ; (fun __caml_parser_env -> Obj.repr( # 423 "alloyparse.mly" ( () ) # 1920 "alloyparse.ml" : 'check_mot)) ; (fun __caml_parser_env -> Obj.repr( # 424 "alloyparse.mly" ( () ) # 1926 "alloyparse.ml" : 'check_mot)) ; (fun __caml_parser_env -> let _1 = (Parsing.peek_val __caml_parser_env 1 : 'check_mot) in let _2 = (Parsing.peek_val __caml_parser_env 0 : Symb.ident) in Obj.repr( # 428 "alloyparse.mly" ( () ) # 1934 "alloyparse.ml" : 'check)) ; (fun __caml_parser_env -> let _1 = (Parsing.peek_val __caml_parser_env 3 : 'check_mot) in let _2 = (Parsing.peek_val __caml_parser_env 2 : Symb.ident) in let _4 = (Parsing.peek_val __caml_parser_env 0 : 'scope) in Obj.repr( # 429 "alloyparse.mly" ( () ) # 1943 "alloyparse.ml" : 'check)) ; (fun __caml_parser_env -> let _1 = (Parsing.peek_val __caml_parser_env 5 : 'check_mot) in let _2 = (Parsing.peek_val __caml_parser_env 4 : Symb.ident) in let _4 = (Parsing.peek_val __caml_parser_env 2 : 'scope) in Obj.repr( # 430 "alloyparse.mly" ( () ) # 1952 "alloyparse.ml" : 'check)) ; (fun __caml_parser_env -> Obj.repr( # 434 "alloyparse.mly" ( () ) # 1958 "alloyparse.ml" : 'scope)) ; (fun __caml_parser_env -> let _3 = (Parsing.peek_val __caml_parser_env 0 : 'scope_precis) in Obj.repr( # 435 "alloyparse.mly" ( () ) # 1965 "alloyparse.ml" : 'scope)) ; (fun __caml_parser_env -> let _1 = (Parsing.peek_val __caml_parser_env 0 : 'scope_precis) in Obj.repr( # 436 "alloyparse.mly" ( () ) # 1972 "alloyparse.ml" : 'scope)) ; (fun __caml_parser_env -> let _1 = (Parsing.peek_val __caml_parser_env 0 : 'scope_precis_elem) in Obj.repr( # 440 "alloyparse.mly" ( () ) # 1979 "alloyparse.ml" : 'scope_precis)) ; (fun __caml_parser_env -> let _1 = (Parsing.peek_val __caml_parser_env 2 : 'scope_precis_elem) in let _3 = (Parsing.peek_val __caml_parser_env 0 : 'scope_precis) in Obj.repr( # 441 "alloyparse.mly" ( () ) # 1987 "alloyparse.ml" : 'scope_precis)) ; (fun __caml_parser_env -> let _2 = (Parsing.peek_val __caml_parser_env 0 : Symb.ident) in Obj.repr( # 445 "alloyparse.mly" ( () ) # 1994 "alloyparse.ml" : 'scope_precis_elem)) ; (fun __caml_parser_env -> let _3 = (Parsing.peek_val __caml_parser_env 0 : Symb.ident) in Obj.repr( # 446 "alloyparse.mly" ( () ) # 2001 "alloyparse.ml" : 'scope_precis_elem)) ; (fun __caml_parser_env -> Obj.repr( # 450 "alloyparse.mly" ( fun e -> ( prerr_endline "Reached end of file"; e) ) # 2009 "alloyparse.ml" : 'modul0)) ; (fun __caml_parser_env -> let _1 = (Parsing.peek_val __caml_parser_env 1 : 'instruction) in let _2 = (Parsing.peek_val __caml_parser_env 0 : 'modul0) in Obj.repr( # 453 "alloyparse.mly" ( fun e -> _2 (_1 e) ) # 2017 "alloyparse.ml" : 'modul0)) ; (fun __caml_parser_env -> let _2 = (Parsing.peek_val __caml_parser_env 0 : 'chemin) in Obj.repr( # 458 "alloyparse.mly" ( let _, nom = _2 in fun e -> ( prerr_endline ("Module: " ^ nom); {e with env_modulenames = nom :: e.env_modulenames} ) ) # 2029 "alloyparse.ml" : 'moduledecl)) ; (fun __caml_parser_env -> let _1 = (Parsing.peek_val __caml_parser_env 2 : 'moduledecl) in let _2 = (Parsing.peek_val __caml_parser_env 1 : 'modul0) in Obj.repr( # 467 "alloyparse.mly" ( prerr_endline "Parsing complete." ; fun e -> _2 (_1 e) ) # 2037 "alloyparse.ml" : (token Alloyast.env -> token Alloyast.env))) (* Entry modul *) ; (fun __caml_parser_env -> raise (Parsing.YYexit (Parsing.peek_val __caml_parser_env 0))) |] let yytables = { Parsing.actions=yyact; Parsing.transl_const=yytransl_const; Parsing.transl_block=yytransl_block; Parsing.lhs=yylhs; Parsing.len=yylen; Parsing.defred=yydefred; Parsing.dgoto=yydgoto; Parsing.sindex=yysindex; Parsing.rindex=yyrindex; Parsing.gindex=yygindex; Parsing.tablesize=yytablesize; Parsing.table=yytable; Parsing.check=yycheck; Parsing.error_function=parse_error; Parsing.names_const=yynames_const; Parsing.names_block=yynames_block } let modul (lexfun : Lexing.lexbuf -> token) (lexbuf : Lexing.lexbuf) = (Parsing.yyparse yytables 1 lexfun lexbuf : (token Alloyast.env -> token Alloyast.env))