# 2 "alloylex.mll" open Alloyparse # 4 "alloylex.ml" let __ocaml_lex_tables = { Lexing.lex_base = "\000\000\225\255\226\255\228\255\230\255\231\255\232\255\001\000\ \237\255\003\000\239\255\240\255\241\255\242\255\002\000\001\000\ \245\255\246\255\001\000\049\000\080\000\099\000\222\000\095\000\ \247\255\024\000\255\255\216\000\249\255\233\255\244\255\243\255\ \235\255\234\255"; Lexing.lex_backtrk = "\001\000\255\255\255\255\255\255\255\255\255\255\255\255\019\000\ \255\255\017\000\255\255\255\255\255\255\255\255\026\000\028\000\ \255\255\255\255\007\000\004\000\003\000\002\000\001\000\005\000\ \255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\ \255\255\255\255"; Lexing.lex_default = "\255\255\000\000\000\000\000\000\000\000\000\000\000\000\255\255\ \000\000\255\255\000\000\000\000\000\000\000\000\255\255\255\255\ \000\000\000\000\255\255\255\255\255\255\255\255\255\255\255\255\ \000\000\025\000\000\000\255\255\000\000\000\000\000\000\000\000\ \000\000\000\000"; Lexing.lex_trans = "\022\000\022\000\022\000\022\000\022\000\022\000\022\000\022\000\ \022\000\022\000\022\000\022\000\022\000\022\000\022\000\022\000\ \022\000\022\000\022\000\022\000\022\000\022\000\022\000\022\000\ \022\000\022\000\022\000\022\000\022\000\022\000\022\000\022\000\ \022\000\006\000\026\000\000\000\000\000\000\000\018\000\029\000\ \011\000\010\000\000\000\019\000\008\000\023\000\013\000\003\000\ \020\000\020\000\020\000\020\000\020\000\020\000\020\000\020\000\ \020\000\020\000\014\000\030\000\015\000\007\000\002\000\033\000\ \031\000\021\000\021\000\021\000\021\000\021\000\021\000\021\000\ \021\000\021\000\021\000\021\000\021\000\021\000\021\000\021\000\ \021\000\021\000\021\000\021\000\021\000\021\000\021\000\021\000\ \021\000\021\000\021\000\017\000\028\000\016\000\000\000\000\000\ \000\000\021\000\021\000\021\000\021\000\021\000\021\000\021\000\ \021\000\021\000\021\000\021\000\021\000\021\000\021\000\021\000\ \021\000\021\000\021\000\021\000\021\000\021\000\021\000\021\000\ \021\000\021\000\021\000\005\000\009\000\004\000\012\000\032\000\ \020\000\020\000\020\000\020\000\020\000\020\000\020\000\020\000\ \020\000\020\000\021\000\000\000\025\000\000\000\000\000\000\000\ \000\000\000\000\000\000\021\000\021\000\021\000\021\000\021\000\ \021\000\021\000\021\000\021\000\021\000\024\000\000\000\000\000\ \000\000\000\000\000\000\000\000\021\000\021\000\021\000\021\000\ \021\000\021\000\021\000\021\000\021\000\021\000\021\000\021\000\ \021\000\021\000\021\000\021\000\021\000\021\000\021\000\021\000\ \021\000\021\000\021\000\021\000\021\000\021\000\000\000\000\000\ \000\000\000\000\027\000\000\000\021\000\021\000\021\000\021\000\ \021\000\021\000\021\000\021\000\021\000\021\000\021\000\021\000\ \021\000\021\000\021\000\021\000\021\000\021\000\021\000\021\000\ \021\000\021\000\021\000\021\000\021\000\021\000\022\000\022\000\ \022\000\022\000\022\000\022\000\022\000\022\000\022\000\022\000\ \022\000\022\000\022\000\022\000\022\000\022\000\022\000\022\000\ \022\000\022\000\022\000\022\000\022\000\022\000\022\000\022\000\ \022\000\022\000\022\000\022\000\022\000\022\000\022\000\021\000\ \001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\ \021\000\021\000\021\000\021\000\021\000\021\000\021\000\021\000\ \021\000\021\000\000\000\000\000\000\000\000\000\000\000\000\000\ \255\255\021\000\021\000\021\000\021\000\021\000\021\000\021\000\ \021\000\021\000\021\000\021\000\021\000\021\000\021\000\021\000\ \021\000\021\000\021\000\021\000\021\000\021\000\021\000\021\000\ \021\000\021\000\021\000\000\000\000\000\000\000\000\000\000\000\ \000\000\021\000\021\000\021\000\021\000\021\000\021\000\021\000\ \021\000\021\000\021\000\021\000\021\000\021\000\021\000\021\000\ \021\000\021\000\021\000\021\000\021\000\021\000\021\000\021\000\ \021\000\021\000\021\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\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\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\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\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\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"; Lexing.lex_check = "\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\ \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\ \000\000\000\000\025\000\255\255\255\255\255\255\000\000\018\000\ \000\000\000\000\255\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\015\000\000\000\000\000\000\000\007\000\ \014\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\000\000\000\000\000\000\000\019\000\000\000\255\255\255\255\ \255\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\000\000\000\000\000\000\ \000\000\000\000\000\000\000\000\000\000\000\000\000\000\009\000\ \020\000\020\000\020\000\020\000\020\000\020\000\020\000\020\000\ \020\000\020\000\021\000\255\255\023\000\255\255\255\255\255\255\ \255\255\255\255\255\255\021\000\021\000\021\000\021\000\021\000\ \021\000\021\000\021\000\021\000\021\000\023\000\255\255\255\255\ \255\255\255\255\255\255\255\255\021\000\021\000\021\000\021\000\ \021\000\021\000\021\000\021\000\021\000\021\000\021\000\021\000\ \021\000\021\000\021\000\021\000\021\000\021\000\021\000\021\000\ \021\000\021\000\021\000\021\000\021\000\021\000\255\255\255\255\ \255\255\255\255\021\000\255\255\021\000\021\000\021\000\021\000\ \021\000\021\000\021\000\021\000\021\000\021\000\021\000\021\000\ \021\000\021\000\021\000\021\000\021\000\021\000\021\000\021\000\ \021\000\021\000\021\000\021\000\021\000\021\000\022\000\022\000\ \022\000\022\000\022\000\022\000\022\000\022\000\022\000\022\000\ \022\000\022\000\022\000\022\000\022\000\022\000\022\000\022\000\ \022\000\022\000\022\000\022\000\022\000\022\000\022\000\022\000\ \022\000\022\000\022\000\022\000\022\000\022\000\022\000\027\000\ \000\000\255\255\255\255\255\255\255\255\255\255\255\255\255\255\ \027\000\027\000\027\000\027\000\027\000\027\000\027\000\027\000\ \027\000\027\000\255\255\255\255\255\255\255\255\255\255\255\255\ \025\000\027\000\027\000\027\000\027\000\027\000\027\000\027\000\ \027\000\027\000\027\000\027\000\027\000\027\000\027\000\027\000\ \027\000\027\000\027\000\027\000\027\000\027\000\027\000\027\000\ \027\000\027\000\027\000\255\255\255\255\255\255\255\255\255\255\ \255\255\027\000\027\000\027\000\027\000\027\000\027\000\027\000\ \027\000\027\000\027\000\027\000\027\000\027\000\027\000\027\000\ \027\000\027\000\027\000\027\000\027\000\027\000\027\000\027\000\ \027\000\027\000\027\000\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\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\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\ \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\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\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\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\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\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\255\255\255\255\255\255\255\255\255\255"; Lexing.lex_base_code = ""; Lexing.lex_backtrk_code = ""; Lexing.lex_default_code = ""; Lexing.lex_trans_code = ""; Lexing.lex_check_code = ""; Lexing.lex_code = ""; } let rec token lexbuf = __ocaml_lex_token_rec lexbuf 0 and __ocaml_lex_token_rec lexbuf __ocaml_lex_state = match Lexing.engine __ocaml_lex_tables __ocaml_lex_state lexbuf with | 0 -> # 7 "alloylex.mll" ( token lexbuf ) # 167 "alloylex.ml" | 1 -> # 8 "alloylex.mll" ( token lexbuf ) # 172 "alloylex.ml" | 2 -> let id = Lexing.sub_lexeme lexbuf lexbuf.Lexing.lex_start_pos lexbuf.Lexing.lex_curr_pos in # 9 "alloylex.mll" ( match id with | "univ" -> UNIV | "iden" -> IDEN | "none" -> NONE | "if" -> IF | "then" -> THEN | "else" -> ELSE | "let" -> LET | "or" -> OR | "implies" -> IMPLIES | "and" -> AND | "not" -> NOT | "some" -> SOME | "one" -> ONE | "lone" -> LONE | "no" -> NO | "in" -> IN | "all" -> ALL | "set" -> SET | "sig" -> SIG | "abstract" -> ABSTRACT | "extends" -> EXTENDS | "pred" -> PRED | "fun" -> FUN | "fact" -> FACT | "assert" -> ASSERT | "check" -> CHECK | "run" -> RUN | "open" -> OPEN | "module" -> MODULE | "exactly" -> EXACTLY | "for" -> FOR | "but" -> BUT | "expect" -> EXPECTS | _ -> IDENT (Str.global_replace (Str.regexp_string "'") "__quote__" id) ) # 215 "alloylex.ml" | 3 -> # 46 "alloylex.mll" ( INT ) # 220 "alloylex.ml" | 4 -> # 47 "alloylex.mll" ( PLUS ) # 225 "alloylex.ml" | 5 -> # 48 "alloylex.mll" ( MOINS ) # 230 "alloylex.ml" | 6 -> # 49 "alloylex.mll" ( PLUSPLUS ) # 235 "alloylex.ml" | 7 -> # 50 "alloylex.mll" ( INTER ) # 240 "alloylex.ml" | 8 -> # 51 "alloylex.mll" ( FLECHE ) # 245 "alloylex.ml" | 9 -> # 52 "alloylex.mll" (CROCHETG ) # 250 "alloylex.ml" | 10 -> # 53 "alloylex.mll" ( CROCHETD ) # 255 "alloylex.ml" | 11 -> # 54 "alloylex.mll" ( RESTG ) # 260 "alloylex.ml" | 12 -> # 55 "alloylex.mll" ( RESTD ) # 265 "alloylex.ml" | 13 -> # 56 "alloylex.mll" ( POINT ) # 270 "alloylex.ml" | 14 -> # 57 "alloylex.mll" ( TILDE ) # 275 "alloylex.ml" | 15 -> # 58 "alloylex.mll" ( PARG ) # 280 "alloylex.ml" | 16 -> # 59 "alloylex.mll" ( PARD ) # 285 "alloylex.ml" | 17 -> # 60 "alloylex.mll" ( BARRE ) # 290 "alloylex.ml" | 18 -> # 61 "alloylex.mll" ( VIRGULE ) # 295 "alloylex.ml" | 19 -> # 62 "alloylex.mll" ( EQ ) # 300 "alloylex.ml" | 20 -> # 63 "alloylex.mll" ( OR ) # 305 "alloylex.ml" | 21 -> # 64 "alloylex.mll" ( IMPLIES ) # 310 "alloylex.ml" | 22 -> # 65 "alloylex.mll" ( AND ) # 315 "alloylex.ml" | 23 -> # 66 "alloylex.mll" ( NOT ) # 320 "alloylex.ml" | 24 -> # 67 "alloylex.mll" ( ACCG ) # 325 "alloylex.ml" | 25 -> # 68 "alloylex.mll" ( ACCD ) # 330 "alloylex.ml" | 26 -> # 69 "alloylex.mll" ( DP ) # 335 "alloylex.ml" | 27 -> # 70 "alloylex.mll" ( DIV ) # 340 "alloylex.ml" | 28 -> # 71 "alloylex.mll" ( LT ) # 345 "alloylex.ml" | 29 -> # 72 "alloylex.mll" ( GT ) # 350 "alloylex.ml" | 30 -> # 73 "alloylex.mll" ( EOF ) # 355 "alloylex.ml" | __ocaml_lex_state -> lexbuf.Lexing.refill_buff lexbuf; __ocaml_lex_token_rec lexbuf __ocaml_lex_state ;;