(module Strbase-struct (planet chongkai/sml)
(#%module-begin
(Program:
(SIGDECTopDec:
(SigDec:
(SigBind:
(SigId: Strbase-sig)
(SIGSigExp:
(SEQSpec:
(VALSpec: (ValDesc: (VId: maxlen) (CONTy: (Tyseq:) (LongTyCon: int-type))))
(SEQSpec:
(VALSpec:
(ValDesc:
(VId: dropl)
(ARROWTy:
(PARTy: (ARROWTy: (CONTy: (Tyseq:) (LongTyCon: char-type)) (CONTy: (Tyseq:) (LongTyCon: bool-type))))
(ARROWTy: (CONTy: (Tyseq:) (LongTyCon: substring-type)) (CONTy: (Tyseq:) (LongTyCon: substring-type))))))
(SEQSpec:
(VALSpec:
(ValDesc:
(VId: dropr)
(ARROWTy:
(PARTy: (ARROWTy: (CONTy: (Tyseq:) (LongTyCon: char-type)) (CONTy: (Tyseq:) (LongTyCon: bool-type))))
(ARROWTy: (CONTy: (Tyseq:) (LongTyCon: substring-type)) (CONTy: (Tyseq:) (LongTyCon: substring-type))))))
(SEQSpec:
(VALSpec:
(ValDesc:
(VId: takel)
(ARROWTy:
(PARTy: (ARROWTy: (CONTy: (Tyseq:) (LongTyCon: char-type)) (CONTy: (Tyseq:) (LongTyCon: bool-type))))
(ARROWTy: (CONTy: (Tyseq:) (LongTyCon: substring-type)) (CONTy: (Tyseq:) (LongTyCon: substring-type))))))
(SEQSpec:
(VALSpec:
(ValDesc:
(VId: taker)
(ARROWTy:
(PARTy: (ARROWTy: (CONTy: (Tyseq:) (LongTyCon: char-type)) (CONTy: (Tyseq:) (LongTyCon: bool-type))))
(ARROWTy: (CONTy: (Tyseq:) (LongTyCon: substring-type)) (CONTy: (Tyseq:) (LongTyCon: substring-type))))))
(SEQSpec:
(VALSpec:
(ValDesc:
(VId: splitl)
(ARROWTy:
(PARTy: (ARROWTy: (CONTy: (Tyseq:) (LongTyCon: char-type)) (CONTy: (Tyseq:) (LongTyCon: bool-type))))
(ARROWTy:
(CONTy: (Tyseq:) (LongTyCon: substring-type))
(RECORDTy:
(TyRow: (Lab: |1|) (CONTy: (Tyseq:) (LongTyCon: substring-type)) (TyRow: (Lab: |2|) (CONTy: (Tyseq:) (LongTyCon: substring-type)))))))))
(SEQSpec:
(VALSpec:
(ValDesc:
(VId: splitr)
(ARROWTy:
(PARTy: (ARROWTy: (CONTy: (Tyseq:) (LongTyCon: char-type)) (CONTy: (Tyseq:) (LongTyCon: bool-type))))
(ARROWTy:
(CONTy: (Tyseq:) (LongTyCon: substring-type))
(RECORDTy:
(TyRow: (Lab: |1|) (CONTy: (Tyseq:) (LongTyCon: substring-type)) (TyRow: (Lab: |2|) (CONTy: (Tyseq:) (LongTyCon: substring-type)))))))))
(SEQSpec:
(VALSpec:
(ValDesc:
(VId: translate)
(ARROWTy:
(PARTy: (ARROWTy: (CONTy: (Tyseq:) (LongTyCon: char-type)) (CONTy: (Tyseq:) (LongTyCon: string-type))))
(ARROWTy: (CONTy: (Tyseq:) (LongTyCon: substring-type)) (CONTy: (Tyseq:) (LongTyCon: string-type))))))
(SEQSpec:
(VALSpec:
(ValDesc:
(VId: tokens)
(ARROWTy:
(PARTy: (ARROWTy: (CONTy: (Tyseq:) (LongTyCon: char-type)) (CONTy: (Tyseq:) (LongTyCon: bool-type))))
(ARROWTy:
(CONTy: (Tyseq:) (LongTyCon: substring-type))
(CONTy: (Tyseq: (CONTy: (Tyseq:) (LongTyCon: substring-type))) (LongTyCon: list-type))))))
(SEQSpec:
(VALSpec:
(ValDesc:
(VId: fields)
(ARROWTy:
(PARTy: (ARROWTy: (CONTy: (Tyseq:) (LongTyCon: char-type)) (CONTy: (Tyseq:) (LongTyCon: bool-type))))
(ARROWTy:
(CONTy: (Tyseq:) (LongTyCon: substring-type))
(CONTy: (Tyseq: (CONTy: (Tyseq:) (LongTyCon: substring-type))) (LongTyCon: list-type))))))
(SEQSpec:
(VALSpec:
(ValDesc:
(VId: foldl)
(ARROWTy:
(PARTy:
(ARROWTy:
(RECORDTy: (TyRow: (Lab: |1|) (CONTy: (Tyseq:) (LongTyCon: char-type)) (TyRow: (Lab: |2|) (VARTy: (TyVar: |'a|)))))
(VARTy: (TyVar: |'a|))))
(ARROWTy: (VARTy: (TyVar: |'a|)) (ARROWTy: (CONTy: (Tyseq:) (LongTyCon: substring-type)) (VARTy: (TyVar: |'a|)))))))
(SEQSpec:
(VALSpec:
(ValDesc:
(VId: fromMLescape)
(ARROWTy:
(PARTy:
(ARROWTy:
(CONTy: (Tyseq:) (LongTyCon: int-type))
(CONTy:
(Tyseq:
(PARTy:
(RECORDTy:
(TyRow: (Lab: |1|) (CONTy: (Tyseq:) (LongTyCon: char-type)) (TyRow: (Lab: |2|) (CONTy: (Tyseq:) (LongTyCon: int-type)))))))
(LongTyCon: option-type))))
(PARTy:
(ARROWTy:
(CONTy: (Tyseq:) (LongTyCon: int-type))
(CONTy:
(Tyseq:
(PARTy:
(RECORDTy:
(TyRow: (Lab: |1|) (CONTy: (Tyseq:) (LongTyCon: char-type)) (TyRow: (Lab: |2|) (CONTy: (Tyseq:) (LongTyCon: int-type)))))))
(LongTyCon: option-type)))))))
(SEQSpec:
(VALSpec: (ValDesc: (VId: toMLescape) (ARROWTy: (CONTy: (Tyseq:) (LongTyCon: char-type)) (CONTy: (Tyseq:) (LongTyCon: string-type)))))
(SEQSpec:
(VALSpec:
(ValDesc:
(VId: fromCescape)
(ARROWTy:
(PARTy:
(ARROWTy:
(CONTy: (Tyseq:) (LongTyCon: int-type))
(CONTy:
(Tyseq:
(PARTy:
(RECORDTy:
(TyRow: (Lab: |1|) (CONTy: (Tyseq:) (LongTyCon: char-type)) (TyRow: (Lab: |2|) (CONTy: (Tyseq:) (LongTyCon: int-type)))))))
(LongTyCon: option-type))))
(PARTy:
(ARROWTy:
(CONTy: (Tyseq:) (LongTyCon: int-type))
(CONTy:
(Tyseq:
(PARTy:
(RECORDTy:
(TyRow: (Lab: |1|) (CONTy: (Tyseq:) (LongTyCon: char-type)) (TyRow: (Lab: |2|) (CONTy: (Tyseq:) (LongTyCon: int-type)))))))
(LongTyCon: option-type)))))))
(SEQSpec:
(VALSpec: (ValDesc: (VId: toCescape) (ARROWTy: (CONTy: (Tyseq:) (LongTyCon: char-type)) (CONTy: (Tyseq:) (LongTyCon: string-type)))))
(VALSpec:
(ValDesc:
(VId: fromCString)
(ARROWTy:
(CONTy: (Tyseq:) (LongTyCon: string-type))
(CONTy: (Tyseq: (CONTy: (Tyseq:) (LongTyCon: string-type))) (LongTyCon: option-type)))))))))))))))))))))))
(STRDECTopDec:
(STRUCTUREStrDec:
(StrBind:
(StrId: Strbase-struct)
(SEALStrExp:
(STRUCTStrExp:
(SEQStrDec:
(DECStrDec: (VALDec: (TyVarseq:) (PLAINValBind: (ATPat: (IDAtPat: (LongVId: maxlen))) (ATExp: (SCONAtExp: (INTSCon: 16777211))))))
(SEQStrDec:
(SEQStrDec: (EMPTYStrDec:) (EMPTYStrDec:))
(LOCALStrDec:
(SEQStrDec:
(SEQStrDec:
(SEQStrDec:
(SEQStrDec:
(DECStrDec: (OPENDec: (LongStrId: stringprimitive-struct)))
(DECStrDec:
(VALDec:
(TyVarseq:)
(RECValBind:
(PLAINValBind:
(ATPat: (IDAtPat: (LongVId: str)))
(FNExp:
(Match:
(Mrule:
(ATPat: (IDAtPat: (LongVId: _id10542)))
(APPExp:
(ATExp:
(PARAtExp:
(FNExp:
(Match:
(Mrule:
(ATPat: (PARAtPat: (ATPat: (IDAtPat: (LongVId: c)))))
(ATExp:
(LETAtExp:
(VALDec:
(TyVarseq:)
(PLAINValBind:
(ATPat: (IDAtPat: (LongVId: newstr)))
(ATExp: (PARAtExp: (APPExp: (ATExp: (IDAtExp: (LongVId: mkstring_))) (SCONAtExp: (INTSCon: 1)))))))
(ATExp:
(PARAtExp:
(APPExp:
(ATExp: (PARAtExp: (FNExp: (Match: (Mrule: (ATPat: (WILDCARDAtPat:)) (ATExp: (IDAtExp: (LongVId: newstr))))))))
(PARAtExp:
(ATExp:
(PARAtExp:
(APPExp:
(ATExp:
(PARAtExp:
(APPExp:
(ATExp: (PARAtExp: (APPExp: (ATExp: (IDAtExp: (LongVId: set_nth_))) (IDAtExp: (LongVId: newstr)))))
(SCONAtExp: (INTSCon: 0)))))
(IDAtExp: (LongVId: c))))))))))))))))
(PARAtExp: (ATExp: (PARAtExp: (ATExp: (IDAtExp: (LongVId: _id10542)))))))))))))))
(SEQStrDec:
(SEQStrDec: (EMPTYStrDec:) (EMPTYStrDec:))
(DECStrDec:
(VALDec:
(TyVarseq:)
(RECValBind:
(PLAINValBind:
(ATPat: (IDAtPat: (LongVId: revconcat)))
(FNExp:
(Match:
(Mrule:
(ATPat: (IDAtPat: (LongVId: _id10547)))
(APPExp:
(ATExp:
(PARAtExp:
(FNExp:
(Match:
(Mrule:
(ATPat: (PARAtPat: (ATPat: (IDAtPat: (LongVId: strs)))))
(ATExp:
(LETAtExp:
(SEQDec:
(VALDec:
(TyVarseq:)
(RECValBind:
(PLAINValBind:
(ATPat: (IDAtPat: (LongVId: acc)))
(FNExp:
(Match:
(Mrule:
(ATPat: (IDAtPat: (LongVId: _id10543)))
(FNExp:
(Match:
(Mrule:
(ATPat: (IDAtPat: (LongVId: _id10544)))
(APPExp:
(ATExp:
(PARAtExp:
(FNExp:
(Match:
(Mrule:
(ATPat:
(RECORDAtPat:
(FIELDPatRow:
(Lab: |1|)
(ATPat: (IDAtPat: (LongVId: nil)))
(FIELDPatRow: (Lab: |2|) (ATPat: (IDAtPat: (LongVId: len)))))))
(ATExp: (IDAtExp: (LongVId: len))))
(Match:
(Mrule:
(ATPat:
(RECORDAtPat:
(FIELDPatRow:
(Lab: |1|)
(ATPat:
(PARAtPat:
(ATPat:
(PARAtPat:
(CONPat:
(LongVId: ::)
(RECORDAtPat:
(FIELDPatRow:
(Lab: |1|)
(ATPat: (IDAtPat: (LongVId: v1)))
(FIELDPatRow: (Lab: |2|) (ATPat: (IDAtPat: (LongVId: vr)))))))))))
(FIELDPatRow: (Lab: |2|) (ATPat: (IDAtPat: (LongVId: len)))))))
(ATExp:
(PARAtExp:
(APPExp:
(ATExp: (PARAtExp: (APPExp: (ATExp: (IDAtExp: (LongVId: acc))) (IDAtExp: (LongVId: vr)))))
(PARAtExp:
(ATExp:
(PARAtExp:
(APPExp:
(ATExp: (IDAtExp: (LongVId: +)))
(RECORDAtExp:
(ExpRow:
(Lab: |1|)
(ATExp: (PARAtExp: (APPExp: (ATExp: (IDAtExp: (LongVId: size))) (IDAtExp: (LongVId: v1)))))
(ExpRow: (Lab: |2|) (ATExp: (IDAtExp: (LongVId: len)))))))))))))))))))
(PARAtExp:
(ATExp:
(RECORDAtExp:
(ExpRow:
(Lab: |1|)
(ATExp: (IDAtExp: (LongVId: _id10543)))
(ExpRow: (Lab: |2|) (ATExp: (IDAtExp: (LongVId: _id10544))))))))))))))))))
(SEQDec:
(VALDec:
(TyVarseq:)
(PLAINValBind:
(ATPat: (IDAtPat: (LongVId: len)))
(ATExp:
(PARAtExp:
(APPExp:
(ATExp: (PARAtExp: (APPExp: (ATExp: (IDAtExp: (LongVId: acc))) (IDAtExp: (LongVId: strs)))))
(SCONAtExp: (INTSCon: 0)))))))
(SEQDec:
(VALDec:
(TyVarseq:)
(PLAINValBind:
(ATPat: (IDAtPat: (LongVId: newstr)))
(APPExp:
(ATExp:
(PARAtExp:
(FNExp:
(Match:
(Mrule: (ATPat: (IDAtPat: (LongVId: true))) (RAISEExp: (ATExp: (IDAtExp: (LongVId: Size)))))
(Match:
(Mrule:
(ATPat: (IDAtPat: (LongVId: false)))
(ATExp: (PARAtExp: (APPExp: (ATExp: (IDAtExp: (LongVId: mkstring_))) (IDAtExp: (LongVId: len)))))))))))
(PARAtExp:
(ATExp:
(PARAtExp:
(APPExp:
(ATExp: (IDAtExp: (LongVId: >)))
(RECORDAtExp:
(ExpRow:
(Lab: |1|)
(ATExp: (IDAtExp: (LongVId: len)))
(ExpRow: (Lab: |2|) (ATExp: (IDAtExp: (LongVId: maxlen)))))))))))))
(VALDec:
(TyVarseq:)
(RECValBind:
(PLAINValBind:
(ATPat: (IDAtPat: (LongVId: copyall)))
(FNExp:
(Match:
(Mrule:
(ATPat: (IDAtPat: (LongVId: _id10545)))
(FNExp:
(Match:
(Mrule:
(ATPat: (IDAtPat: (LongVId: _id10546)))
(APPExp:
(ATExp:
(PARAtExp:
(FNExp:
(Match:
(Mrule:
(ATPat:
(RECORDAtPat:
(FIELDPatRow:
(Lab: |1|)
(ATPat: (IDAtPat: (LongVId: to)))
(FIELDPatRow: (Lab: |2|) (ATPat: (IDAtPat: (LongVId: nil)))))))
(ATExp: (RECORDAtExp:)))
(Match:
(Mrule:
(ATPat:
(RECORDAtPat:
(FIELDPatRow:
(Lab: |1|)
(ATPat: (IDAtPat: (LongVId: to)))
(FIELDPatRow:
(Lab: |2|)
(ATPat:
(PARAtPat:
(ATPat:
(PARAtPat:
(CONPat:
(LongVId: ::)
(RECORDAtPat:
(FIELDPatRow:
(Lab: |1|)
(ATPat: (IDAtPat: (LongVId: v1)))
(FIELDPatRow: (Lab: |2|) (ATPat: (IDAtPat: (LongVId: vr)))))))))))))))
(ATExp:
(LETAtExp:
(SEQDec:
(VALDec:
(TyVarseq:)
(PLAINValBind:
(ATPat: (IDAtPat: (LongVId: len1)))
(ATExp: (PARAtExp: (APPExp: (ATExp: (IDAtExp: (LongVId: size))) (IDAtExp: (LongVId: v1)))))))
(VALDec:
(TyVarseq:)
(PLAINValBind:
(ATPat: (IDAtPat: (LongVId: to)))
(ATExp:
(PARAtExp:
(APPExp:
(ATExp: (IDAtExp: (LongVId: -)))
(RECORDAtExp:
(ExpRow:
(Lab: |1|)
(ATExp: (IDAtExp: (LongVId: to)))
(ExpRow: (Lab: |2|) (ATExp: (IDAtExp: (LongVId: len1))))))))))))
(ATExp:
(PARAtExp:
(APPExp:
(ATExp:
(PARAtExp:
(FNExp:
(Match:
(Mrule:
(ATPat: (WILDCARDAtPat:))
(ATExp:
(PARAtExp:
(APPExp:
(ATExp:
(PARAtExp: (APPExp: (ATExp: (IDAtExp: (LongVId: copyall))) (IDAtExp: (LongVId: to)))))
(IDAtExp: (LongVId: vr))))))))))
(PARAtExp:
(ATExp:
(PARAtExp:
(APPExp:
(ATExp:
(PARAtExp:
(APPExp:
(ATExp:
(PARAtExp:
(APPExp:
(ATExp:
(PARAtExp:
(APPExp:
(ATExp:
(PARAtExp: (APPExp: (ATExp: (IDAtExp: (LongVId: blit_))) (IDAtExp: (LongVId: v1)))))
(SCONAtExp: (INTSCon: 0)))))
(IDAtExp: (LongVId: newstr)))))
(IDAtExp: (LongVId: to)))))
(IDAtExp: (LongVId: len1)))))))))))))))))
(PARAtExp:
(ATExp:
(RECORDAtExp:
(ExpRow:
(Lab: |1|)
(ATExp: (IDAtExp: (LongVId: _id10545)))
(ExpRow: (Lab: |2|) (ATExp: (IDAtExp: (LongVId: _id10546)))))))))))))))))))))
(ATExp:
(PARAtExp:
(APPExp:
(ATExp: (PARAtExp: (FNExp: (Match: (Mrule: (ATPat: (WILDCARDAtPat:)) (ATExp: (IDAtExp: (LongVId: newstr))))))))
(PARAtExp:
(ATExp:
(PARAtExp:
(APPExp:
(ATExp: (PARAtExp: (APPExp: (ATExp: (IDAtExp: (LongVId: copyall))) (IDAtExp: (LongVId: len)))))
(IDAtExp: (LongVId: strs))))))))))))))))
(PARAtExp: (ATExp: (PARAtExp: (ATExp: (IDAtExp: (LongVId: _id10547))))))))))))))))
(SEQStrDec:
(SEQStrDec: (EMPTYStrDec:) (EMPTYStrDec:))
(DECStrDec:
(VALDec:
(TyVarseq:)
(RECValBind:
(PLAINValBind:
(ATPat: (IDAtPat: (LongVId: rest)))
(FNExp:
(Match:
(Mrule:
(ATPat: (IDAtPat: (LongVId: _id10548)))
(APPExp:
(ATExp:
(PARAtExp:
(FNExp:
(Match:
(Mrule:
(ATPat:
(PARAtPat:
(ATPat:
(PARAtPat:
(ASPat:
(VId: ss)
(ATPat:
(RECORDAtPat:
(FIELDPatRow:
(Lab: |1|)
(ATPat: (IDAtPat: (LongVId: s)))
(FIELDPatRow:
(Lab: |2|)
(ATPat: (IDAtPat: (LongVId: i)))
(FIELDPatRow: (Lab: |3|) (ATPat: (IDAtPat: (LongVId: n)))))))))))))
(APPExp:
(ATExp:
(PARAtExp:
(FNExp:
(Match:
(Mrule: (ATPat: (IDAtPat: (LongVId: true))) (ATExp: (IDAtExp: (LongVId: ss))))
(Match:
(Mrule:
(ATPat: (IDAtPat: (LongVId: false)))
(ATExp:
(RECORDAtExp:
(ExpRow:
(Lab: |1|)
(ATExp: (IDAtExp: (LongVId: s)))
(ExpRow:
(Lab: |2|)
(ATExp:
(PARAtExp:
(APPExp:
(ATExp: (IDAtExp: (LongVId: +)))
(RECORDAtExp:
(ExpRow: (Lab: |1|) (ATExp: (IDAtExp: (LongVId: i))) (ExpRow: (Lab: |2|) (ATExp: (SCONAtExp: (INTSCon: 1)))))))))
(ExpRow:
(Lab: |3|)
(ATExp:
(PARAtExp:
(APPExp:
(ATExp: (IDAtExp: (LongVId: -)))
(RECORDAtExp:
(ExpRow:
(Lab: |1|)
(ATExp: (IDAtExp: (LongVId: n)))
(ExpRow: (Lab: |2|) (ATExp: (SCONAtExp: (INTSCon: 1))))))))))))))))))))
(PARAtExp:
(ATExp:
(PARAtExp:
(APPExp:
(ATExp: (IDAtExp: (LongVId: =)))
(RECORDAtExp:
(ExpRow: (Lab: |1|) (ATExp: (IDAtExp: (LongVId: n))) (ExpRow: (Lab: |2|) (ATExp: (SCONAtExp: (INTSCon: 0))))))))))))))))
(PARAtExp: (ATExp: (PARAtExp: (ATExp: (IDAtExp: (LongVId: _id10548))))))))))))))))
(SEQStrDec: (EMPTYStrDec:) (EMPTYStrDec:)))
(SEQStrDec:
(SEQStrDec:
(SEQStrDec:
(SEQStrDec:
(DECStrDec:
(VALDec:
(TyVarseq:)
(RECValBind:
(PLAINValBind:
(ATPat: (IDAtPat: (LongVId: foldl)))
(FNExp:
(Match:
(Mrule:
(ATPat: (IDAtPat: (LongVId: _id10551)))
(FNExp:
(Match:
(Mrule:
(ATPat: (IDAtPat: (LongVId: _id10552)))
(FNExp:
(Match:
(Mrule:
(ATPat: (IDAtPat: (LongVId: _id10553)))
(APPExp:
(ATExp:
(PARAtExp:
(FNExp:
(Match:
(Mrule:
(ATPat:
(RECORDAtPat:
(FIELDPatRow:
(Lab: |1|)
(ATPat: (IDAtPat: (LongVId: f)))
(FIELDPatRow:
(Lab: |2|)
(ATPat: (IDAtPat: (LongVId: e)))
(FIELDPatRow:
(Lab: |3|)
(ATPat:
(RECORDAtPat:
(FIELDPatRow:
(Lab: |1|)
(ATPat: (IDAtPat: (LongVId: s)))
(FIELDPatRow:
(Lab: |2|)
(ATPat: (IDAtPat: (LongVId: i)))
(FIELDPatRow: (Lab: |3|) (ATPat: (IDAtPat: (LongVId: n)))))))))))))
(ATExp:
(LETAtExp:
(SEQDec:
(VALDec:
(TyVarseq:)
(PLAINValBind:
(ATPat: (IDAtPat: (LongVId: stop)))
(ATExp:
(PARAtExp:
(APPExp:
(ATExp: (IDAtExp: (LongVId: +)))
(RECORDAtExp:
(ExpRow:
(Lab: |1|)
(ATExp: (IDAtExp: (LongVId: i)))
(ExpRow: (Lab: |2|) (ATExp: (IDAtExp: (LongVId: n)))))))))))
(VALDec:
(TyVarseq:)
(RECValBind:
(PLAINValBind:
(ATPat: (IDAtPat: (LongVId: h)))
(FNExp:
(Match:
(Mrule:
(ATPat: (IDAtPat: (LongVId: _id10549)))
(FNExp:
(Match:
(Mrule:
(ATPat: (IDAtPat: (LongVId: _id10550)))
(APPExp:
(ATExp:
(PARAtExp:
(FNExp:
(Match:
(Mrule:
(ATPat:
(RECORDAtPat:
(FIELDPatRow:
(Lab: |1|)
(ATPat: (IDAtPat: (LongVId: j)))
(FIELDPatRow: (Lab: |2|) (ATPat: (IDAtPat: (LongVId: res)))))))
(APPExp:
(ATExp:
(PARAtExp:
(FNExp:
(Match:
(Mrule: (ATPat: (IDAtPat: (LongVId: true))) (ATExp: (IDAtExp: (LongVId: res))))
(Match:
(Mrule:
(ATPat: (IDAtPat: (LongVId: false)))
(ATExp:
(PARAtExp:
(APPExp:
(ATExp:
(PARAtExp:
(APPExp:
(ATExp: (IDAtExp: (LongVId: h)))
(PARAtExp:
(ATExp:
(PARAtExp:
(APPExp:
(ATExp: (IDAtExp: (LongVId: +)))
(RECORDAtExp:
(ExpRow:
(Lab: |1|)
(ATExp: (IDAtExp: (LongVId: j)))
(ExpRow: (Lab: |2|) (ATExp: (SCONAtExp: (INTSCon: 1)))))))))))))
(PARAtExp:
(ATExp:
(PARAtExp:
(APPExp:
(ATExp: (IDAtExp: (LongVId: f)))
(RECORDAtExp:
(ExpRow:
(Lab: |1|)
(ATExp:
(PARAtExp:
(APPExp:
(ATExp:
(PARAtExp: (APPExp: (ATExp: (IDAtExp: (LongVId: sub_))) (IDAtExp: (LongVId: s)))))
(IDAtExp: (LongVId: j)))))
(ExpRow: (Lab: |2|) (ATExp: (IDAtExp: (LongVId: res)))))))))))))))))))
(PARAtExp:
(ATExp:
(PARAtExp:
(APPExp:
(ATExp: (IDAtExp: (LongVId: >=)))
(RECORDAtExp:
(ExpRow:
(Lab: |1|)
(ATExp: (IDAtExp: (LongVId: j)))
(ExpRow: (Lab: |2|) (ATExp: (IDAtExp: (LongVId: stop))))))))))))))))
(PARAtExp:
(ATExp:
(RECORDAtExp:
(ExpRow:
(Lab: |1|)
(ATExp: (IDAtExp: (LongVId: _id10549)))
(ExpRow: (Lab: |2|) (ATExp: (IDAtExp: (LongVId: _id10550)))))))))))))))))))
(ATExp:
(PARAtExp:
(APPExp:
(ATExp: (PARAtExp: (APPExp: (ATExp: (IDAtExp: (LongVId: h))) (IDAtExp: (LongVId: i)))))
(IDAtExp: (LongVId: e))))))))))))
(PARAtExp:
(ATExp:
(RECORDAtExp:
(ExpRow:
(Lab: |1|)
(ATExp: (IDAtExp: (LongVId: _id10551)))
(ExpRow:
(Lab: |2|)
(ATExp: (IDAtExp: (LongVId: _id10552)))
(ExpRow: (Lab: |3|) (ATExp: (IDAtExp: (LongVId: _id10553)))))))))))))))))))))))
(SEQStrDec:
(SEQStrDec: (EMPTYStrDec:) (EMPTYStrDec:))
(DECStrDec:
(VALDec:
(TyVarseq:)
(RECValBind:
(PLAINValBind:
(ATPat: (IDAtPat: (LongVId: translate)))
(FNExp:
(Match:
(Mrule:
(ATPat: (IDAtPat: (LongVId: _id10556)))
(FNExp:
(Match:
(Mrule:
(ATPat: (IDAtPat: (LongVId: _id10557)))
(APPExp:
(ATExp:
(PARAtExp:
(FNExp:
(Match:
(Mrule:
(ATPat:
(RECORDAtPat:
(FIELDPatRow:
(Lab: |1|)
(ATPat: (IDAtPat: (LongVId: f)))
(FIELDPatRow:
(Lab: |2|)
(ATPat:
(RECORDAtPat:
(FIELDPatRow:
(Lab: |1|)
(ATPat: (IDAtPat: (LongVId: s)))
(FIELDPatRow:
(Lab: |2|)
(ATPat: (IDAtPat: (LongVId: i)))
(FIELDPatRow: (Lab: |3|) (ATPat: (IDAtPat: (LongVId: n))))))))))))
(ATExp:
(LETAtExp:
(SEQDec:
(VALDec:
(TyVarseq:)
(PLAINValBind:
(ATPat: (IDAtPat: (LongVId: stop)))
(ATExp:
(PARAtExp:
(APPExp:
(ATExp: (IDAtExp: (LongVId: +)))
(RECORDAtExp:
(ExpRow: (Lab: |1|) (ATExp: (IDAtExp: (LongVId: i))) (ExpRow: (Lab: |2|) (ATExp: (IDAtExp: (LongVId: n)))))))))))
(VALDec:
(TyVarseq:)
(RECValBind:
(PLAINValBind:
(ATPat: (IDAtPat: (LongVId: h)))
(FNExp:
(Match:
(Mrule:
(ATPat: (IDAtPat: (LongVId: _id10554)))
(FNExp:
(Match:
(Mrule:
(ATPat: (IDAtPat: (LongVId: _id10555)))
(APPExp:
(ATExp:
(PARAtExp:
(FNExp:
(Match:
(Mrule:
(ATPat:
(RECORDAtPat:
(FIELDPatRow:
(Lab: |1|)
(ATPat: (IDAtPat: (LongVId: j)))
(FIELDPatRow: (Lab: |2|) (ATPat: (IDAtPat: (LongVId: res)))))))
(APPExp:
(ATExp:
(PARAtExp:
(FNExp:
(Match:
(Mrule: (ATPat: (IDAtPat: (LongVId: true))) (ATExp: (IDAtExp: (LongVId: res))))
(Match:
(Mrule:
(ATPat: (IDAtPat: (LongVId: false)))
(ATExp:
(PARAtExp:
(APPExp:
(ATExp:
(PARAtExp:
(APPExp:
(ATExp: (IDAtExp: (LongVId: h)))
(PARAtExp:
(ATExp:
(PARAtExp:
(APPExp:
(ATExp: (IDAtExp: (LongVId: +)))
(RECORDAtExp:
(ExpRow:
(Lab: |1|)
(ATExp: (IDAtExp: (LongVId: j)))
(ExpRow: (Lab: |2|) (ATExp: (SCONAtExp: (INTSCon: 1)))))))))))))
(PARAtExp:
(ATExp:
(PARAtExp:
(APPExp:
(ATExp: (IDAtExp: (LongVId: ::)))
(RECORDAtExp:
(ExpRow:
(Lab: |1|)
(ATExp:
(PARAtExp:
(APPExp:
(ATExp: (IDAtExp: (LongVId: f)))
(PARAtExp:
(ATExp:
(PARAtExp:
(APPExp:
(ATExp:
(PARAtExp:
(APPExp: (ATExp: (IDAtExp: (LongVId: sub_))) (IDAtExp: (LongVId: s)))))
(IDAtExp: (LongVId: j)))))))))
(ExpRow: (Lab: |2|) (ATExp: (IDAtExp: (LongVId: res)))))))))))))))))))
(PARAtExp:
(ATExp:
(PARAtExp:
(APPExp:
(ATExp: (IDAtExp: (LongVId: >=)))
(RECORDAtExp:
(ExpRow:
(Lab: |1|)
(ATExp: (IDAtExp: (LongVId: j)))
(ExpRow: (Lab: |2|) (ATExp: (IDAtExp: (LongVId: stop))))))))))))))))
(PARAtExp:
(ATExp:
(RECORDAtExp:
(ExpRow:
(Lab: |1|)
(ATExp: (IDAtExp: (LongVId: _id10554)))
(ExpRow: (Lab: |2|) (ATExp: (IDAtExp: (LongVId: _id10555)))))))))))))))))))
(ATExp:
(PARAtExp:
(APPExp:
(ATExp: (IDAtExp: (LongVId: revconcat)))
(PARAtExp:
(ATExp:
(PARAtExp:
(APPExp:
(ATExp: (PARAtExp: (APPExp: (ATExp: (IDAtExp: (LongVId: h))) (IDAtExp: (LongVId: i)))))
(IDAtExp: (LongVId: nil))))))))))))))))
(PARAtExp:
(ATExp:
(RECORDAtExp:
(ExpRow:
(Lab: |1|)
(ATExp: (IDAtExp: (LongVId: _id10556)))
(ExpRow: (Lab: |2|) (ATExp: (IDAtExp: (LongVId: _id10557)))))))))))))))))))))
(SEQStrDec:
(SEQStrDec: (EMPTYStrDec:) (EMPTYStrDec:))
(SEQStrDec:
(LOCALStrDec:
(SEQStrDec:
(DECStrDec:
(VALDec:
(TyVarseq:)
(RECValBind:
(PLAINValBind:
(ATPat: (IDAtPat: (LongVId: scanl)))
(FNExp:
(Match:
(Mrule:
(ATPat: (IDAtPat: (LongVId: _id10559)))
(FNExp:
(Match:
(Mrule:
(ATPat: (IDAtPat: (LongVId: _id10560)))
(FNExp:
(Match:
(Mrule:
(ATPat: (IDAtPat: (LongVId: _id10561)))
(APPExp:
(ATExp:
(PARAtExp:
(FNExp:
(Match:
(Mrule:
(ATPat:
(RECORDAtPat:
(FIELDPatRow:
(Lab: |1|)
(ATPat: (IDAtPat: (LongVId: chop)))
(FIELDPatRow:
(Lab: |2|)
(ATPat: (IDAtPat: (LongVId: pred)))
(FIELDPatRow:
(Lab: |3|)
(ATPat:
(RECORDAtPat:
(FIELDPatRow:
(Lab: |1|)
(ATPat: (IDAtPat: (LongVId: s)))
(FIELDPatRow:
(Lab: |2|)
(ATPat: (IDAtPat: (LongVId: i)))
(FIELDPatRow: (Lab: |3|) (ATPat: (IDAtPat: (LongVId: n)))))))))))))
(ATExp:
(LETAtExp:
(SEQDec:
(VALDec:
(TyVarseq:)
(PLAINValBind:
(ATPat: (IDAtPat: (LongVId: stop)))
(ATExp:
(PARAtExp:
(APPExp:
(ATExp: (IDAtExp: (LongVId: +)))
(RECORDAtExp:
(ExpRow:
(Lab: |1|)
(ATExp: (IDAtExp: (LongVId: i)))
(ExpRow: (Lab: |2|) (ATExp: (IDAtExp: (LongVId: n)))))))))))
(VALDec:
(TyVarseq:)
(RECValBind:
(PLAINValBind:
(ATPat: (IDAtPat: (LongVId: scan)))
(FNExp:
(Match:
(Mrule:
(ATPat: (IDAtPat: (LongVId: _id10558)))
(APPExp:
(ATExp:
(PARAtExp:
(FNExp:
(Match:
(Mrule:
(ATPat: (PARAtPat: (ATPat: (IDAtPat: (LongVId: j)))))
(APPExp:
(ATExp:
(PARAtExp:
(FNExp:
(Match:
(Mrule:
(ATPat: (IDAtPat: (LongVId: true)))
(ATExp:
(PARAtExp:
(APPExp:
(ATExp: (IDAtExp: (LongVId: scan)))
(PARAtExp:
(ATExp:
(PARAtExp:
(APPExp:
(ATExp: (IDAtExp: (LongVId: +)))
(RECORDAtExp:
(ExpRow:
(Lab: |1|)
(ATExp: (IDAtExp: (LongVId: j)))
(ExpRow: (Lab: |2|) (ATExp: (SCONAtExp: (INTSCon: 1))))))))))))))
(Match: (Mrule: (ATPat: (IDAtPat: (LongVId: false))) (ATExp: (IDAtExp: (LongVId: j)))))))))
(PARAtExp:
(APPExp:
(ATExp:
(PARAtExp:
(FNExp:
(Match:
(Mrule:
(ATPat: (IDAtPat: (LongVId: true)))
(ATExp:
(PARAtExp:
(APPExp:
(ATExp: (IDAtExp: (LongVId: pred)))
(PARAtExp:
(ATExp:
(PARAtExp:
(APPExp:
(ATExp:
(PARAtExp: (APPExp: (ATExp: (IDAtExp: (LongVId: sub_))) (IDAtExp: (LongVId: s)))))
(IDAtExp: (LongVId: j))))))))))
(Match: (Mrule: (ATPat: (IDAtPat: (LongVId: false))) (ATExp: (IDAtExp: (LongVId: false)))))))))
(PARAtExp:
(ATExp:
(PARAtExp:
(APPExp:
(ATExp: (IDAtExp: (LongVId: <)))
(RECORDAtExp:
(ExpRow:
(Lab: |1|)
(ATExp: (IDAtExp: (LongVId: j)))
(ExpRow: (Lab: |2|) (ATExp: (IDAtExp: (LongVId: stop))))))))))))))))))
(PARAtExp: (ATExp: (PARAtExp: (ATExp: (IDAtExp: (LongVId: _id10558))))))))))))))
(ATExp:
(PARAtExp:
(APPExp:
(ATExp: (IDAtExp: (LongVId: chop)))
(RECORDAtExp:
(ExpRow:
(Lab: |1|)
(ATExp: (IDAtExp: (LongVId: s)))
(ExpRow:
(Lab: |2|)
(ATExp: (IDAtExp: (LongVId: i)))
(ExpRow:
(Lab: |3|)
(ATExp: (IDAtExp: (LongVId: n)))
(ExpRow:
(Lab: |4|)
(ATExp:
(PARAtExp:
(APPExp:
(ATExp: (IDAtExp: (LongVId: -)))
(RECORDAtExp:
(ExpRow:
(Lab: |1|)
(ATExp: (PARAtExp: (APPExp: (ATExp: (IDAtExp: (LongVId: scan))) (IDAtExp: (LongVId: i)))))
(ExpRow: (Lab: |2|) (ATExp: (IDAtExp: (LongVId: i))))))))))))))))))))))))
(PARAtExp:
(ATExp:
(RECORDAtExp:
(ExpRow:
(Lab: |1|)
(ATExp: (IDAtExp: (LongVId: _id10559)))
(ExpRow:
(Lab: |2|)
(ATExp: (IDAtExp: (LongVId: _id10560)))
(ExpRow: (Lab: |3|) (ATExp: (IDAtExp: (LongVId: _id10561)))))))))))))))))))))))
(DECStrDec:
(VALDec:
(TyVarseq:)
(RECValBind:
(PLAINValBind:
(ATPat: (IDAtPat: (LongVId: scanr)))
(FNExp:
(Match:
(Mrule:
(ATPat: (IDAtPat: (LongVId: _id10563)))
(FNExp:
(Match:
(Mrule:
(ATPat: (IDAtPat: (LongVId: _id10564)))
(FNExp:
(Match:
(Mrule:
(ATPat: (IDAtPat: (LongVId: _id10565)))
(APPExp:
(ATExp:
(PARAtExp:
(FNExp:
(Match:
(Mrule:
(ATPat:
(RECORDAtPat:
(FIELDPatRow:
(Lab: |1|)
(ATPat: (IDAtPat: (LongVId: chop)))
(FIELDPatRow:
(Lab: |2|)
(ATPat: (IDAtPat: (LongVId: pred)))
(FIELDPatRow:
(Lab: |3|)
(ATPat:
(RECORDAtPat:
(FIELDPatRow:
(Lab: |1|)
(ATPat: (IDAtPat: (LongVId: s)))
(FIELDPatRow:
(Lab: |2|)
(ATPat: (IDAtPat: (LongVId: i)))
(FIELDPatRow: (Lab: |3|) (ATPat: (IDAtPat: (LongVId: n)))))))))))))
(ATExp:
(LETAtExp:
(SEQDec:
(VALDec:
(TyVarseq:)
(PLAINValBind:
(ATPat: (IDAtPat: (LongVId: stop)))
(ATExp:
(PARAtExp:
(APPExp:
(ATExp: (IDAtExp: (LongVId: -)))
(RECORDAtExp:
(ExpRow:
(Lab: |1|)
(ATExp: (IDAtExp: (LongVId: i)))
(ExpRow: (Lab: |2|) (ATExp: (SCONAtExp: (INTSCon: 1)))))))))))
(VALDec:
(TyVarseq:)
(RECValBind:
(PLAINValBind:
(ATPat: (IDAtPat: (LongVId: scan)))
(FNExp:
(Match:
(Mrule:
(ATPat: (IDAtPat: (LongVId: _id10562)))
(APPExp:
(ATExp:
(PARAtExp:
(FNExp:
(Match:
(Mrule:
(ATPat: (PARAtPat: (ATPat: (IDAtPat: (LongVId: j)))))
(APPExp:
(ATExp:
(PARAtExp:
(FNExp:
(Match:
(Mrule:
(ATPat: (IDAtPat: (LongVId: true)))
(ATExp:
(PARAtExp:
(APPExp:
(ATExp: (IDAtExp: (LongVId: scan)))
(PARAtExp:
(ATExp:
(PARAtExp:
(APPExp:
(ATExp: (IDAtExp: (LongVId: -)))
(RECORDAtExp:
(ExpRow:
(Lab: |1|)
(ATExp: (IDAtExp: (LongVId: j)))
(ExpRow: (Lab: |2|) (ATExp: (SCONAtExp: (INTSCon: 1))))))))))))))
(Match: (Mrule: (ATPat: (IDAtPat: (LongVId: false))) (ATExp: (IDAtExp: (LongVId: j)))))))))
(PARAtExp:
(APPExp:
(ATExp:
(PARAtExp:
(FNExp:
(Match:
(Mrule:
(ATPat: (IDAtPat: (LongVId: true)))
(ATExp:
(PARAtExp:
(APPExp:
(ATExp: (IDAtExp: (LongVId: pred)))
(PARAtExp:
(ATExp:
(PARAtExp:
(APPExp:
(ATExp:
(PARAtExp: (APPExp: (ATExp: (IDAtExp: (LongVId: sub_))) (IDAtExp: (LongVId: s)))))
(IDAtExp: (LongVId: j))))))))))
(Match: (Mrule: (ATPat: (IDAtPat: (LongVId: false))) (ATExp: (IDAtExp: (LongVId: false)))))))))
(PARAtExp:
(ATExp:
(PARAtExp:
(APPExp:
(ATExp: (IDAtExp: (LongVId: >)))
(RECORDAtExp:
(ExpRow:
(Lab: |1|)
(ATExp: (IDAtExp: (LongVId: j)))
(ExpRow: (Lab: |2|) (ATExp: (IDAtExp: (LongVId: stop))))))))))))))))))
(PARAtExp: (ATExp: (PARAtExp: (ATExp: (IDAtExp: (LongVId: _id10562))))))))))))))
(ATExp:
(PARAtExp:
(APPExp:
(ATExp: (IDAtExp: (LongVId: chop)))
(RECORDAtExp:
(ExpRow:
(Lab: |1|)
(ATExp: (IDAtExp: (LongVId: s)))
(ExpRow:
(Lab: |2|)
(ATExp: (IDAtExp: (LongVId: i)))
(ExpRow:
(Lab: |3|)
(ATExp: (IDAtExp: (LongVId: n)))
(ExpRow:
(Lab: |4|)
(ATExp:
(PARAtExp:
(APPExp:
(ATExp: (IDAtExp: (LongVId: +)))
(RECORDAtExp:
(ExpRow:
(Lab: |1|)
(ATExp:
(PARAtExp:
(APPExp:
(ATExp: (IDAtExp: (LongVId: -)))
(RECORDAtExp:
(ExpRow:
(Lab: |1|)
(ATExp:
(PARAtExp:
(APPExp:
(ATExp: (IDAtExp: (LongVId: scan)))
(PARAtExp:
(ATExp:
(PARAtExp:
(APPExp:
(ATExp: (IDAtExp: (LongVId: -)))
(RECORDAtExp:
(ExpRow:
(Lab: |1|)
(ATExp:
(PARAtExp:
(APPExp:
(ATExp: (IDAtExp: (LongVId: +)))
(RECORDAtExp:
(ExpRow:
(Lab: |1|)
(ATExp: (IDAtExp: (LongVId: i)))
(ExpRow: (Lab: |2|) (ATExp: (IDAtExp: (LongVId: n)))))))))
(ExpRow: (Lab: |2|) (ATExp: (SCONAtExp: (INTSCon: 1)))))))))))))
(ExpRow: (Lab: |2|) (ATExp: (IDAtExp: (LongVId: i)))))))))
(ExpRow: (Lab: |2|) (ATExp: (SCONAtExp: (INTSCon: 1))))))))))))))))))))))))
(PARAtExp:
(ATExp:
(RECORDAtExp:
(ExpRow:
(Lab: |1|)
(ATExp: (IDAtExp: (LongVId: _id10563)))
(ExpRow:
(Lab: |2|)
(ATExp: (IDAtExp: (LongVId: _id10564)))
(ExpRow: (Lab: |3|) (ATExp: (IDAtExp: (LongVId: _id10565))))))))))))))))))))))))
(SEQStrDec:
(DECStrDec:
(VALDec:
(TyVarseq:)
(RECValBind:
(PLAINValBind:
(ATPat: (IDAtPat: (LongVId: splitl)))
(FNExp:
(Match:
(Mrule:
(ATPat: (IDAtPat: (LongVId: _id10566)))
(APPExp:
(ATExp:
(PARAtExp:
(FNExp:
(Match:
(Mrule:
(ATPat: (PARAtPat: (ATPat: (IDAtPat: (LongVId: p)))))
(ATExp:
(PARAtExp:
(APPExp:
(ATExp:
(PARAtExp:
(APPExp:
(ATExp: (IDAtExp: (LongVId: scanl)))
(PARAtExp:
(FNExp:
(Match:
(Mrule:
(ATPat:
(RECORDAtPat:
(FIELDPatRow:
(Lab: |1|)
(ATPat: (IDAtPat: (LongVId: s)))
(FIELDPatRow:
(Lab: |2|)
(ATPat: (IDAtPat: (LongVId: i)))
(FIELDPatRow:
(Lab: |3|)
(ATPat: (IDAtPat: (LongVId: n)))
(FIELDPatRow: (Lab: |4|) (ATPat: (IDAtPat: (LongVId: k)))))))))
(ATExp:
(RECORDAtExp:
(ExpRow:
(Lab: |1|)
(ATExp:
(RECORDAtExp:
(ExpRow:
(Lab: |1|)
(ATExp: (IDAtExp: (LongVId: s)))
(ExpRow:
(Lab: |2|)
(ATExp: (IDAtExp: (LongVId: i)))
(ExpRow: (Lab: |3|) (ATExp: (IDAtExp: (LongVId: k))))))))
(ExpRow:
(Lab: |2|)
(ATExp:
(RECORDAtExp:
(ExpRow:
(Lab: |1|)
(ATExp: (IDAtExp: (LongVId: s)))
(ExpRow:
(Lab: |2|)
(ATExp:
(PARAtExp:
(APPExp:
(ATExp: (IDAtExp: (LongVId: +)))
(RECORDAtExp:
(ExpRow:
(Lab: |1|)
(ATExp: (IDAtExp: (LongVId: i)))
(ExpRow: (Lab: |2|) (ATExp: (IDAtExp: (LongVId: k)))))))))
(ExpRow:
(Lab: |3|)
(ATExp:
(PARAtExp:
(APPExp:
(ATExp: (IDAtExp: (LongVId: -)))
(RECORDAtExp:
(ExpRow:
(Lab: |1|)
(ATExp: (IDAtExp: (LongVId: n)))
(ExpRow: (Lab: |2|) (ATExp: (IDAtExp: (LongVId: k)))))))))))))))))))))))))
(IDAtExp: (LongVId: p))))))))))
(PARAtExp: (ATExp: (PARAtExp: (ATExp: (IDAtExp: (LongVId: _id10566))))))))))))))
(SEQStrDec:
(DECStrDec:
(VALDec:
(TyVarseq:)
(RECValBind:
(PLAINValBind:
(ATPat: (IDAtPat: (LongVId: splitr)))
(FNExp:
(Match:
(Mrule:
(ATPat: (IDAtPat: (LongVId: _id10567)))
(APPExp:
(ATExp:
(PARAtExp:
(FNExp:
(Match:
(Mrule:
(ATPat: (PARAtPat: (ATPat: (IDAtPat: (LongVId: p)))))
(ATExp:
(PARAtExp:
(APPExp:
(ATExp:
(PARAtExp:
(APPExp:
(ATExp: (IDAtExp: (LongVId: scanr)))
(PARAtExp:
(FNExp:
(Match:
(Mrule:
(ATPat:
(RECORDAtPat:
(FIELDPatRow:
(Lab: |1|)
(ATPat: (IDAtPat: (LongVId: s)))
(FIELDPatRow:
(Lab: |2|)
(ATPat: (IDAtPat: (LongVId: i)))
(FIELDPatRow:
(Lab: |3|)
(ATPat: (IDAtPat: (LongVId: n)))
(FIELDPatRow: (Lab: |4|) (ATPat: (IDAtPat: (LongVId: k)))))))))
(ATExp:
(RECORDAtExp:
(ExpRow:
(Lab: |1|)
(ATExp:
(RECORDAtExp:
(ExpRow:
(Lab: |1|)
(ATExp: (IDAtExp: (LongVId: s)))
(ExpRow:
(Lab: |2|)
(ATExp: (IDAtExp: (LongVId: i)))
(ExpRow: (Lab: |3|) (ATExp: (IDAtExp: (LongVId: k))))))))
(ExpRow:
(Lab: |2|)
(ATExp:
(RECORDAtExp:
(ExpRow:
(Lab: |1|)
(ATExp: (IDAtExp: (LongVId: s)))
(ExpRow:
(Lab: |2|)
(ATExp:
(PARAtExp:
(APPExp:
(ATExp: (IDAtExp: (LongVId: +)))
(RECORDAtExp:
(ExpRow:
(Lab: |1|)
(ATExp: (IDAtExp: (LongVId: i)))
(ExpRow: (Lab: |2|) (ATExp: (IDAtExp: (LongVId: k)))))))))
(ExpRow:
(Lab: |3|)
(ATExp:
(PARAtExp:
(APPExp:
(ATExp: (IDAtExp: (LongVId: -)))
(RECORDAtExp:
(ExpRow:
(Lab: |1|)
(ATExp: (IDAtExp: (LongVId: n)))
(ExpRow: (Lab: |2|) (ATExp: (IDAtExp: (LongVId: k)))))))))))))))))))))))))
(IDAtExp: (LongVId: p))))))))))
(PARAtExp: (ATExp: (PARAtExp: (ATExp: (IDAtExp: (LongVId: _id10567))))))))))))))
(SEQStrDec:
(DECStrDec:
(VALDec:
(TyVarseq:)
(RECValBind:
(PLAINValBind:
(ATPat: (IDAtPat: (LongVId: dropl)))
(FNExp:
(Match:
(Mrule:
(ATPat: (IDAtPat: (LongVId: _id10568)))
(APPExp:
(ATExp:
(PARAtExp:
(FNExp:
(Match:
(Mrule:
(ATPat: (PARAtPat: (ATPat: (IDAtPat: (LongVId: p)))))
(ATExp:
(PARAtExp:
(APPExp:
(ATExp:
(PARAtExp:
(APPExp:
(ATExp: (IDAtExp: (LongVId: scanl)))
(PARAtExp:
(FNExp:
(Match:
(Mrule:
(ATPat:
(RECORDAtPat:
(FIELDPatRow:
(Lab: |1|)
(ATPat: (IDAtPat: (LongVId: s)))
(FIELDPatRow:
(Lab: |2|)
(ATPat: (IDAtPat: (LongVId: i)))
(FIELDPatRow:
(Lab: |3|)
(ATPat: (IDAtPat: (LongVId: n)))
(FIELDPatRow: (Lab: |4|) (ATPat: (IDAtPat: (LongVId: k)))))))))
(ATExp:
(RECORDAtExp:
(ExpRow:
(Lab: |1|)
(ATExp: (IDAtExp: (LongVId: s)))
(ExpRow:
(Lab: |2|)
(ATExp:
(PARAtExp:
(APPExp:
(ATExp: (IDAtExp: (LongVId: +)))
(RECORDAtExp:
(ExpRow:
(Lab: |1|)
(ATExp: (IDAtExp: (LongVId: i)))
(ExpRow: (Lab: |2|) (ATExp: (IDAtExp: (LongVId: k)))))))))
(ExpRow:
(Lab: |3|)
(ATExp:
(PARAtExp:
(APPExp:
(ATExp: (IDAtExp: (LongVId: -)))
(RECORDAtExp:
(ExpRow:
(Lab: |1|)
(ATExp: (IDAtExp: (LongVId: n)))
(ExpRow: (Lab: |2|) (ATExp: (IDAtExp: (LongVId: k)))))))))))))))))))))
(IDAtExp: (LongVId: p))))))))))
(PARAtExp: (ATExp: (PARAtExp: (ATExp: (IDAtExp: (LongVId: _id10568))))))))))))))
(SEQStrDec:
(DECStrDec:
(VALDec:
(TyVarseq:)
(RECValBind:
(PLAINValBind:
(ATPat: (IDAtPat: (LongVId: dropr)))
(FNExp:
(Match:
(Mrule:
(ATPat: (IDAtPat: (LongVId: _id10569)))
(APPExp:
(ATExp:
(PARAtExp:
(FNExp:
(Match:
(Mrule:
(ATPat: (PARAtPat: (ATPat: (IDAtPat: (LongVId: p)))))
(ATExp:
(PARAtExp:
(APPExp:
(ATExp:
(PARAtExp:
(APPExp:
(ATExp: (IDAtExp: (LongVId: scanr)))
(PARAtExp:
(FNExp:
(Match:
(Mrule:
(ATPat:
(RECORDAtPat:
(FIELDPatRow:
(Lab: |1|)
(ATPat: (IDAtPat: (LongVId: s)))
(FIELDPatRow:
(Lab: |2|)
(ATPat: (IDAtPat: (LongVId: i)))
(FIELDPatRow:
(Lab: |3|)
(ATPat: (IDAtPat: (LongVId: n)))
(FIELDPatRow: (Lab: |4|) (ATPat: (IDAtPat: (LongVId: k)))))))))
(ATExp:
(RECORDAtExp:
(ExpRow:
(Lab: |1|)
(ATExp: (IDAtExp: (LongVId: s)))
(ExpRow:
(Lab: |2|)
(ATExp: (IDAtExp: (LongVId: i)))
(ExpRow: (Lab: |3|) (ATExp: (IDAtExp: (LongVId: k)))))))))))))))
(IDAtExp: (LongVId: p))))))))))
(PARAtExp: (ATExp: (PARAtExp: (ATExp: (IDAtExp: (LongVId: _id10569))))))))))))))
(SEQStrDec:
(DECStrDec:
(VALDec:
(TyVarseq:)
(RECValBind:
(PLAINValBind:
(ATPat: (IDAtPat: (LongVId: takel)))
(FNExp:
(Match:
(Mrule:
(ATPat: (IDAtPat: (LongVId: _id10570)))
(APPExp:
(ATExp:
(PARAtExp:
(FNExp:
(Match:
(Mrule:
(ATPat: (PARAtPat: (ATPat: (IDAtPat: (LongVId: p)))))
(ATExp:
(PARAtExp:
(APPExp:
(ATExp:
(PARAtExp:
(APPExp:
(ATExp: (IDAtExp: (LongVId: scanl)))
(PARAtExp:
(FNExp:
(Match:
(Mrule:
(ATPat:
(RECORDAtPat:
(FIELDPatRow:
(Lab: |1|)
(ATPat: (IDAtPat: (LongVId: s)))
(FIELDPatRow:
(Lab: |2|)
(ATPat: (IDAtPat: (LongVId: i)))
(FIELDPatRow:
(Lab: |3|)
(ATPat: (IDAtPat: (LongVId: n)))
(FIELDPatRow: (Lab: |4|) (ATPat: (IDAtPat: (LongVId: k)))))))))
(ATExp:
(RECORDAtExp:
(ExpRow:
(Lab: |1|)
(ATExp: (IDAtExp: (LongVId: s)))
(ExpRow:
(Lab: |2|)
(ATExp: (IDAtExp: (LongVId: i)))
(ExpRow: (Lab: |3|) (ATExp: (IDAtExp: (LongVId: k)))))))))))))))
(IDAtExp: (LongVId: p))))))))))
(PARAtExp: (ATExp: (PARAtExp: (ATExp: (IDAtExp: (LongVId: _id10570))))))))))))))
(DECStrDec:
(VALDec:
(TyVarseq:)
(RECValBind:
(PLAINValBind:
(ATPat: (IDAtPat: (LongVId: taker)))
(FNExp:
(Match:
(Mrule:
(ATPat: (IDAtPat: (LongVId: _id10571)))
(APPExp:
(ATExp:
(PARAtExp:
(FNExp:
(Match:
(Mrule:
(ATPat: (PARAtPat: (ATPat: (IDAtPat: (LongVId: p)))))
(ATExp:
(PARAtExp:
(APPExp:
(ATExp:
(PARAtExp:
(APPExp:
(ATExp: (IDAtExp: (LongVId: scanr)))
(PARAtExp:
(FNExp:
(Match:
(Mrule:
(ATPat:
(RECORDAtPat:
(FIELDPatRow:
(Lab: |1|)
(ATPat: (IDAtPat: (LongVId: s)))
(FIELDPatRow:
(Lab: |2|)
(ATPat: (IDAtPat: (LongVId: i)))
(FIELDPatRow:
(Lab: |3|)
(ATPat: (IDAtPat: (LongVId: n)))
(FIELDPatRow: (Lab: |4|) (ATPat: (IDAtPat: (LongVId: k)))))))))
(ATExp:
(RECORDAtExp:
(ExpRow:
(Lab: |1|)
(ATExp: (IDAtExp: (LongVId: s)))
(ExpRow:
(Lab: |2|)
(ATExp:
(PARAtExp:
(APPExp:
(ATExp: (IDAtExp: (LongVId: +)))
(RECORDAtExp:
(ExpRow:
(Lab: |1|)
(ATExp: (IDAtExp: (LongVId: i)))
(ExpRow: (Lab: |2|) (ATExp: (IDAtExp: (LongVId: k)))))))))
(ExpRow:
(Lab: |3|)
(ATExp:
(PARAtExp:
(APPExp:
(ATExp: (IDAtExp: (LongVId: -)))
(RECORDAtExp:
(ExpRow:
(Lab: |1|)
(ATExp: (IDAtExp: (LongVId: n)))
(ExpRow: (Lab: |2|) (ATExp: (IDAtExp: (LongVId: k)))))))))))))))))))))
(IDAtExp: (LongVId: p))))))))))
(PARAtExp: (ATExp: (PARAtExp: (ATExp: (IDAtExp: (LongVId: _id10571))))))))))))))))))))
(DECStrDec:
(VALDec:
(TyVarseq:)
(RECValBind:
(PLAINValBind:
(ATPat: (IDAtPat: (LongVId: tokens)))
(FNExp:
(Match:
(Mrule:
(ATPat: (IDAtPat: (LongVId: _id10575)))
(FNExp:
(Match:
(Mrule:
(ATPat: (IDAtPat: (LongVId: _id10576)))
(APPExp:
(ATExp:
(PARAtExp:
(FNExp:
(Match:
(Mrule:
(ATPat:
(RECORDAtPat:
(FIELDPatRow:
(Lab: |1|)
(ATPat: (IDAtPat: (LongVId: isDelim)))
(FIELDPatRow: (Lab: |2|) (ATPat: (IDAtPat: (LongVId: ss)))))))
(ATExp:
(LETAtExp:
(SEQDec:
(VALDec:
(TyVarseq:)
(RECValBind:
(PLAINValBind:
(ATPat: (IDAtPat: (LongVId: findTok)))
(FNExp:
(Match:
(Mrule:
(ATPat: (IDAtPat: (LongVId: _id10572)))
(APPExp:
(ATExp:
(PARAtExp:
(FNExp:
(Match:
(Mrule:
(ATPat: (PARAtPat: (ATPat: (IDAtPat: (LongVId: ss)))))
(ATExp:
(PARAtExp:
(APPExp:
(ATExp: (PARAtExp: (APPExp: (ATExp: (IDAtExp: (LongVId: dropl))) (IDAtExp: (LongVId: isDelim)))))
(IDAtExp: (LongVId: ss))))))))))
(PARAtExp: (ATExp: (PARAtExp: (ATExp: (IDAtExp: (LongVId: _id10572)))))))))))))
(VALDec:
(TyVarseq:)
(RECValBind:
(PLAINValBind:
(ATPat: (IDAtPat: (LongVId: h)))
(FNExp:
(Match:
(Mrule:
(ATPat: (IDAtPat: (LongVId: _id10573)))
(FNExp:
(Match:
(Mrule:
(ATPat: (IDAtPat: (LongVId: _id10574)))
(APPExp:
(ATExp:
(PARAtExp:
(FNExp:
(Match:
(Mrule:
(ATPat:
(RECORDAtPat:
(FIELDPatRow:
(Lab: |1|)
(ATPat:
(PARAtPat:
(ASPat:
(VId: remains)
(ATPat:
(RECORDAtPat:
(FIELDPatRow:
(Lab: |1|)
(ATPat: (WILDCARDAtPat:))
(FIELDPatRow:
(Lab: |2|)
(ATPat: (WILDCARDAtPat:))
(FIELDPatRow: (Lab: |3|) (ATPat: (IDAtPat: (LongVId: n)))))))))))
(FIELDPatRow: (Lab: |2|) (ATPat: (IDAtPat: (LongVId: res)))))))
(APPExp:
(ATExp:
(PARAtExp:
(FNExp:
(Match:
(Mrule:
(ATPat: (IDAtPat: (LongVId: true)))
(ATExp: (PARAtExp: (APPExp: (ATExp: (IDAtExp: (LongVId: rev))) (IDAtExp: (LongVId: res))))))
(Match:
(Mrule:
(ATPat: (IDAtPat: (LongVId: false)))
(ATExp:
(LETAtExp:
(VALDec:
(TyVarseq:)
(PLAINValBind:
(ATPat:
(RECORDAtPat:
(FIELDPatRow:
(Lab: |1|)
(ATPat: (IDAtPat: (LongVId: token)))
(FIELDPatRow: (Lab: |2|) (ATPat: (IDAtPat: (LongVId: aftertoken)))))))
(ATExp:
(PARAtExp:
(APPExp:
(ATExp:
(PARAtExp:
(APPExp:
(ATExp: (IDAtExp: (LongVId: splitl)))
(PARAtExp:
(FNExp:
(Match:
(Mrule:
(ATPat: (IDAtPat: (LongVId: c)))
(ATExp:
(PARAtExp:
(APPExp:
(ATExp: (IDAtExp: (LongVId: not)))
(PARAtExp:
(ATExp:
(PARAtExp:
(APPExp:
(ATExp: (IDAtExp: (LongVId: isDelim)))
(IDAtExp: (LongVId: c))))))))))))))))
(IDAtExp: (LongVId: remains)))))))
(ATExp:
(PARAtExp:
(APPExp:
(ATExp:
(PARAtExp:
(APPExp:
(ATExp: (IDAtExp: (LongVId: h)))
(PARAtExp:
(ATExp:
(PARAtExp:
(APPExp: (ATExp: (IDAtExp: (LongVId: findTok))) (IDAtExp: (LongVId: aftertoken)))))))))
(PARAtExp:
(ATExp:
(PARAtExp:
(APPExp:
(ATExp: (IDAtExp: (LongVId: ::)))
(RECORDAtExp:
(ExpRow:
(Lab: |1|)
(ATExp: (IDAtExp: (LongVId: token)))
(ExpRow: (Lab: |2|) (ATExp: (IDAtExp: (LongVId: res)))))))))))))))))))))
(PARAtExp:
(ATExp:
(PARAtExp:
(APPExp:
(ATExp: (IDAtExp: (LongVId: =)))
(RECORDAtExp:
(ExpRow:
(Lab: |1|)
(ATExp: (IDAtExp: (LongVId: n)))
(ExpRow: (Lab: |2|) (ATExp: (SCONAtExp: (INTSCon: 0))))))))))))))))
(PARAtExp:
(ATExp:
(RECORDAtExp:
(ExpRow:
(Lab: |1|)
(ATExp: (IDAtExp: (LongVId: _id10573)))
(ExpRow: (Lab: |2|) (ATExp: (IDAtExp: (LongVId: _id10574)))))))))))))))))))
(ATExp:
(PARAtExp:
(APPExp:
(ATExp:
(PARAtExp:
(APPExp:
(ATExp: (IDAtExp: (LongVId: h)))
(PARAtExp: (ATExp: (PARAtExp: (APPExp: (ATExp: (IDAtExp: (LongVId: findTok))) (IDAtExp: (LongVId: ss)))))))))
(IDAtExp: (LongVId: nil))))))))))))
(PARAtExp:
(ATExp:
(RECORDAtExp:
(ExpRow:
(Lab: |1|)
(ATExp: (IDAtExp: (LongVId: _id10575)))
(ExpRow: (Lab: |2|) (ATExp: (IDAtExp: (LongVId: _id10576))))))))))))))))))))))
(SEQStrDec:
(SEQStrDec: (EMPTYStrDec:) (EMPTYStrDec:))
(DECStrDec:
(VALDec:
(TyVarseq:)
(RECValBind:
(PLAINValBind:
(ATPat: (IDAtPat: (LongVId: fields)))
(FNExp:
(Match:
(Mrule:
(ATPat: (IDAtPat: (LongVId: _id10579)))
(FNExp:
(Match:
(Mrule:
(ATPat: (IDAtPat: (LongVId: _id10580)))
(APPExp:
(ATExp:
(PARAtExp:
(FNExp:
(Match:
(Mrule:
(ATPat:
(RECORDAtPat:
(FIELDPatRow:
(Lab: |1|)
(ATPat: (IDAtPat: (LongVId: isDelim)))
(FIELDPatRow: (Lab: |2|) (ATPat: (IDAtPat: (LongVId: ss)))))))
(ATExp:
(LETAtExp:
(VALDec:
(TyVarseq:)
(RECValBind:
(PLAINValBind:
(ATPat: (IDAtPat: (LongVId: h)))
(FNExp:
(Match:
(Mrule:
(ATPat: (IDAtPat: (LongVId: _id10577)))
(FNExp:
(Match:
(Mrule:
(ATPat: (IDAtPat: (LongVId: _id10578)))
(APPExp:
(ATExp:
(PARAtExp:
(FNExp:
(Match:
(Mrule:
(ATPat:
(RECORDAtPat:
(FIELDPatRow:
(Lab: |1|)
(ATPat: (IDAtPat: (LongVId: ss)))
(FIELDPatRow: (Lab: |2|) (ATPat: (IDAtPat: (LongVId: res)))))))
(ATExp:
(LETAtExp:
(VALDec:
(TyVarseq:)
(PLAINValBind:
(ATPat:
(RECORDAtPat:
(FIELDPatRow:
(Lab: |1|)
(ATPat: (IDAtPat: (LongVId: field)))
(FIELDPatRow:
(Lab: |2|)
(ASPat:
(VId: afterfield)
(ATPat:
(RECORDAtPat:
(FIELDPatRow:
(Lab: |1|)
(ATPat: (WILDCARDAtPat:))
(FIELDPatRow:
(Lab: |2|)
(ATPat: (WILDCARDAtPat:))
(FIELDPatRow: (Lab: |3|) (ATPat: (IDAtPat: (LongVId: n)))))))))))))
(ATExp:
(PARAtExp:
(APPExp:
(ATExp:
(PARAtExp:
(APPExp:
(ATExp: (IDAtExp: (LongVId: splitl)))
(PARAtExp:
(FNExp:
(Match:
(Mrule:
(ATPat: (IDAtPat: (LongVId: c)))
(ATExp:
(PARAtExp:
(APPExp:
(ATExp: (IDAtExp: (LongVId: not)))
(PARAtExp:
(ATExp:
(PARAtExp:
(APPExp: (ATExp: (IDAtExp: (LongVId: isDelim))) (IDAtExp: (LongVId: c))))))))))))))))
(IDAtExp: (LongVId: ss)))))))
(APPExp:
(ATExp:
(PARAtExp:
(FNExp:
(Match:
(Mrule:
(ATPat: (IDAtPat: (LongVId: true)))
(ATExp:
(PARAtExp:
(APPExp:
(ATExp: (IDAtExp: (LongVId: rev)))
(PARAtExp:
(ATExp:
(PARAtExp:
(APPExp:
(ATExp: (IDAtExp: (LongVId: ::)))
(RECORDAtExp:
(ExpRow:
(Lab: |1|)
(ATExp: (IDAtExp: (LongVId: field)))
(ExpRow: (Lab: |2|) (ATExp: (IDAtExp: (LongVId: res))))))))))))))
(Match:
(Mrule:
(ATPat: (IDAtPat: (LongVId: false)))
(ATExp:
(PARAtExp:
(APPExp:
(ATExp:
(PARAtExp:
(APPExp:
(ATExp: (IDAtExp: (LongVId: h)))
(PARAtExp:
(ATExp:
(PARAtExp:
(APPExp: (ATExp: (IDAtExp: (LongVId: rest))) (IDAtExp: (LongVId: afterfield)))))))))
(PARAtExp:
(ATExp:
(PARAtExp:
(APPExp:
(ATExp: (IDAtExp: (LongVId: ::)))
(RECORDAtExp:
(ExpRow:
(Lab: |1|)
(ATExp: (IDAtExp: (LongVId: field)))
(ExpRow: (Lab: |2|) (ATExp: (IDAtExp: (LongVId: res)))))))))))))))))))
(PARAtExp:
(ATExp:
(PARAtExp:
(APPExp:
(ATExp: (IDAtExp: (LongVId: =)))
(RECORDAtExp:
(ExpRow:
(Lab: |1|)
(ATExp: (IDAtExp: (LongVId: n)))
(ExpRow: (Lab: |2|) (ATExp: (SCONAtExp: (INTSCon: 0))))))))))))))))))
(PARAtExp:
(ATExp:
(RECORDAtExp:
(ExpRow:
(Lab: |1|)
(ATExp: (IDAtExp: (LongVId: _id10577)))
(ExpRow: (Lab: |2|) (ATExp: (IDAtExp: (LongVId: _id10578))))))))))))))))))
(ATExp:
(PARAtExp:
(APPExp:
(ATExp: (PARAtExp: (APPExp: (ATExp: (IDAtExp: (LongVId: h))) (IDAtExp: (LongVId: ss)))))
(IDAtExp: (LongVId: nil))))))))))))
(PARAtExp:
(ATExp:
(RECORDAtExp:
(ExpRow:
(Lab: |1|)
(ATExp: (IDAtExp: (LongVId: _id10579)))
(ExpRow: (Lab: |2|) (ATExp: (IDAtExp: (LongVId: _id10580)))))))))))))))))))))
(SEQStrDec:
(SEQStrDec: (EMPTYStrDec:) (EMPTYStrDec:))
(LOCALStrDec:
(SEQStrDec:
(SEQStrDec:
(SEQStrDec:
(SEQStrDec:
(SEQStrDec:
(SEQStrDec:
(SEQStrDec:
(DECStrDec: (EXCEPTIONDec: (NEWExBind: (VId: BadEscape))))
(DECStrDec:
(VALDec:
(TyVarseq:)
(PLAINValBind:
(COLONPat:
(ATPat: (IDAtPat: (LongVId: ord_)))
(ARROWTy: (CONTy: (Tyseq:) (LongTyCon: char-type)) (CONTy: (Tyseq:) (LongTyCon: int-type))))
(ATExp: (IDAtExp: (LongVId: ord)))))))
(SEQStrDec:
(SEQStrDec: (EMPTYStrDec:) (EMPTYStrDec:))
(DECStrDec:
(VALDec:
(TyVarseq:)
(PLAINValBind:
(COLONPat:
(ATPat: (IDAtPat: (LongVId: chr_)))
(ARROWTy: (CONTy: (Tyseq:) (LongTyCon: int-type)) (CONTy: (Tyseq:) (LongTyCon: char-type))))
(ATExp: (IDAtExp: (LongVId: chr))))))))
(SEQStrDec:
(SEQStrDec: (EMPTYStrDec:) (EMPTYStrDec:))
(SEQStrDec:
(DECStrDec: (VALDec: (TyVarseq:) (PLAINValBind: (ATPat: (IDAtPat: (LongVId: maxOrd))) (ATExp: (SCONAtExp: (INTSCon: 255))))))
(DECStrDec:
(VALDec:
(TyVarseq:)
(RECValBind:
(PLAINValBind:
(ATPat: (IDAtPat: (LongVId: chr)))
(FNExp:
(Match:
(Mrule:
(ATPat: (IDAtPat: (LongVId: _id10581)))
(APPExp:
(ATExp:
(PARAtExp:
(FNExp:
(Match:
(Mrule:
(ATPat: (PARAtPat: (ATPat: (IDAtPat: (LongVId: i)))))
(APPExp:
(ATExp:
(PARAtExp:
(FNExp:
(Match:
(Mrule: (ATPat: (IDAtPat: (LongVId: true))) (RAISEExp: (ATExp: (IDAtExp: (LongVId: BadEscape)))))
(Match:
(Mrule:
(ATPat: (IDAtPat: (LongVId: false)))
(ATExp: (PARAtExp: (APPExp: (ATExp: (IDAtExp: (LongVId: chr_))) (IDAtExp: (LongVId: i)))))))))))
(PARAtExp:
(APPExp:
(ATExp:
(PARAtExp:
(FNExp:
(Match:
(Mrule: (ATPat: (IDAtPat: (LongVId: true))) (ATExp: (IDAtExp: (LongVId: true))))
(Match:
(Mrule:
(ATPat: (IDAtPat: (LongVId: false)))
(ATExp:
(PARAtExp:
(APPExp:
(ATExp: (IDAtExp: (LongVId: >)))
(RECORDAtExp:
(ExpRow:
(Lab: |1|)
(ATExp: (IDAtExp: (LongVId: i)))
(ExpRow: (Lab: |2|) (ATExp: (IDAtExp: (LongVId: maxOrd)))))))))))))))
(PARAtExp:
(ATExp:
(PARAtExp:
(APPExp:
(ATExp: (IDAtExp: (LongVId: <)))
(RECORDAtExp:
(ExpRow:
(Lab: |1|)
(ATExp: (IDAtExp: (LongVId: i)))
(ExpRow: (Lab: |2|) (ATExp: (SCONAtExp: (INTSCon: 0))))))))))))))))))
(PARAtExp: (ATExp: (PARAtExp: (ATExp: (IDAtExp: (LongVId: _id10581)))))))))))))))))
(SEQStrDec:
(SEQStrDec: (EMPTYStrDec:) (EMPTYStrDec:))
(DECStrDec:
(VALDec:
(TyVarseq:)
(RECValBind:
(PLAINValBind:
(ATPat: (IDAtPat: (LongVId: decval)))
(FNExp:
(Match:
(Mrule:
(ATPat: (IDAtPat: (LongVId: _id10582)))
(APPExp:
(ATExp:
(PARAtExp:
(FNExp:
(Match:
(Mrule:
(ATPat: (PARAtPat: (ATPat: (IDAtPat: (LongVId: c)))))
(ATExp:
(PARAtExp:
(APPExp:
(ATExp: (IDAtExp: (LongVId: -)))
(RECORDAtExp:
(ExpRow:
(Lab: |1|)
(ATExp: (PARAtExp: (APPExp: (ATExp: (IDAtExp: (LongVId: ord_))) (IDAtExp: (LongVId: c)))))
(ExpRow: (Lab: |2|) (ATExp: (SCONAtExp: (INTSCon: 48))))))))))))))
(PARAtExp: (ATExp: (PARAtExp: (ATExp: (IDAtExp: (LongVId: _id10582))))))))))))))))
(SEQStrDec:
(SEQStrDec: (EMPTYStrDec:) (EMPTYStrDec:))
(DECStrDec:
(VALDec:
(TyVarseq:)
(RECValBind:
(PLAINValBind:
(ATPat: (IDAtPat: (LongVId: digit)))
(FNExp:
(Match:
(Mrule:
(ATPat: (IDAtPat: (LongVId: _id10583)))
(APPExp:
(ATExp:
(PARAtExp:
(FNExp:
(Match:
(Mrule:
(ATPat: (PARAtPat: (ATPat: (IDAtPat: (LongVId: n)))))
(ATExp:
(PARAtExp:
(APPExp:
(ATExp: (IDAtExp: (LongVId: chr_)))
(PARAtExp:
(ATExp:
(PARAtExp:
(APPExp:
(ATExp: (IDAtExp: (LongVId: +)))
(RECORDAtExp:
(ExpRow:
(Lab: |1|)
(ATExp: (SCONAtExp: (INTSCon: 48)))
(ExpRow: (Lab: |2|) (ATExp: (IDAtExp: (LongVId: n))))))))))))))))))
(PARAtExp: (ATExp: (PARAtExp: (ATExp: (IDAtExp: (LongVId: _id10583))))))))))))))))
(SEQStrDec:
(SEQStrDec: (EMPTYStrDec:) (EMPTYStrDec:))
(DECStrDec:
(VALDec:
(TyVarseq:)
(RECValBind:
(PLAINValBind:
(ATPat: (IDAtPat: (LongVId: hexval)))
(FNExp:
(Match:
(Mrule:
(ATPat: (IDAtPat: (LongVId: _id10584)))
(APPExp:
(ATExp:
(PARAtExp:
(FNExp:
(Match:
(Mrule:
(ATPat: (PARAtPat: (ATPat: (IDAtPat: (LongVId: c)))))
(APPExp:
(ATExp:
(PARAtExp:
(FNExp:
(Match:
(Mrule:
(ATPat: (IDAtPat: (LongVId: true)))
(ATExp:
(PARAtExp:
(APPExp:
(ATExp: (IDAtExp: (LongVId: -)))
(RECORDAtExp:
(ExpRow:
(Lab: |1|)
(ATExp: (PARAtExp: (APPExp: (ATExp: (IDAtExp: (LongVId: ord_))) (IDAtExp: (LongVId: c)))))
(ExpRow: (Lab: |2|) (ATExp: (SCONAtExp: (INTSCon: 48))))))))))
(Match:
(Mrule:
(ATPat: (IDAtPat: (LongVId: false)))
(ATExp:
(PARAtExp:
(APPExp:
(ATExp: (IDAtExp: (LongVId: mod)))
(RECORDAtExp:
(ExpRow:
(Lab: |1|)
(ATExp:
(PARAtExp:
(ATExp:
(PARAtExp:
(APPExp:
(ATExp: (IDAtExp: (LongVId: -)))
(RECORDAtExp:
(ExpRow:
(Lab: |1|)
(ATExp: (PARAtExp: (APPExp: (ATExp: (IDAtExp: (LongVId: ord_))) (IDAtExp: (LongVId: c)))))
(ExpRow: (Lab: |2|) (ATExp: (SCONAtExp: (INTSCon: 55)))))))))))
(ExpRow: (Lab: |2|) (ATExp: (SCONAtExp: (INTSCon: 32)))))))))))))))
(PARAtExp:
(APPExp:
(ATExp:
(PARAtExp:
(FNExp:
(Match:
(Mrule:
(ATPat: (IDAtPat: (LongVId: true)))
(ATExp:
(PARAtExp:
(APPExp:
(ATExp: (IDAtExp: (LongVId: <=)))
(RECORDAtExp:
(ExpRow:
(Lab: |1|)
(ATExp: (IDAtExp: (LongVId: c)))
(ExpRow: (Lab: |2|) (ATExp: (SCONAtExp: (CHARSCon: #\9))))))))))
(Match: (Mrule: (ATPat: (IDAtPat: (LongVId: false))) (ATExp: (IDAtExp: (LongVId: false)))))))))
(PARAtExp:
(ATExp:
(PARAtExp:
(APPExp:
(ATExp: (IDAtExp: (LongVId: <=)))
(RECORDAtExp:
(ExpRow:
(Lab: |1|)
(ATExp: (SCONAtExp: (CHARSCon: #\0)))
(ExpRow: (Lab: |2|) (ATExp: (IDAtExp: (LongVId: c))))))))))))))))))
(PARAtExp: (ATExp: (PARAtExp: (ATExp: (IDAtExp: (LongVId: _id10584))))))))))))))))
(SEQStrDec:
(SEQStrDec: (EMPTYStrDec:) (EMPTYStrDec:))
(SEQStrDec:
(DECStrDec:
(VALDec:
(TyVarseq:)
(RECValBind:
(PLAINValBind:
(ATPat: (IDAtPat: (LongVId: isOctDigit)))
(FNExp:
(Match:
(Mrule:
(ATPat: (IDAtPat: (LongVId: _id10585)))
(APPExp:
(ATExp:
(PARAtExp:
(FNExp:
(Match:
(Mrule:
(ATPat: (PARAtPat: (ATPat: (IDAtPat: (LongVId: c)))))
(APPExp:
(ATExp:
(PARAtExp:
(FNExp:
(Match:
(Mrule:
(ATPat: (IDAtPat: (LongVId: true)))
(ATExp:
(PARAtExp:
(APPExp:
(ATExp: (IDAtExp: (LongVId: <=)))
(RECORDAtExp:
(ExpRow:
(Lab: |1|)
(ATExp: (IDAtExp: (LongVId: c)))
(ExpRow: (Lab: |2|) (ATExp: (SCONAtExp: (CHARSCon: #\7))))))))))
(Match: (Mrule: (ATPat: (IDAtPat: (LongVId: false))) (ATExp: (IDAtExp: (LongVId: false)))))))))
(PARAtExp:
(ATExp:
(PARAtExp:
(APPExp:
(ATExp: (IDAtExp: (LongVId: <=)))
(RECORDAtExp:
(ExpRow:
(Lab: |1|)
(ATExp: (SCONAtExp: (CHARSCon: #\0)))
(ExpRow: (Lab: |2|) (ATExp: (IDAtExp: (LongVId: c))))))))))))))))
(PARAtExp: (ATExp: (PARAtExp: (ATExp: (IDAtExp: (LongVId: _id10585))))))))))))))
(DECStrDec:
(VALDec:
(TyVarseq:)
(RECValBind:
(PLAINValBind:
(ATPat: (IDAtPat: (LongVId: isHexDigit)))
(FNExp:
(Match:
(Mrule:
(ATPat: (IDAtPat: (LongVId: _id10586)))
(APPExp:
(ATExp:
(PARAtExp:
(FNExp:
(Match:
(Mrule:
(ATPat: (PARAtPat: (ATPat: (IDAtPat: (LongVId: c)))))
(APPExp:
(ATExp:
(PARAtExp:
(FNExp:
(Match:
(Mrule: (ATPat: (IDAtPat: (LongVId: true))) (ATExp: (IDAtExp: (LongVId: true))))
(Match:
(Mrule:
(ATPat: (IDAtPat: (LongVId: false)))
(APPExp:
(ATExp:
(PARAtExp:
(FNExp:
(Match:
(Mrule: (ATPat: (IDAtPat: (LongVId: true))) (ATExp: (IDAtExp: (LongVId: true))))
(Match:
(Mrule:
(ATPat: (IDAtPat: (LongVId: false)))
(APPExp:
(ATExp:
(PARAtExp:
(FNExp:
(Match:
(Mrule:
(ATPat: (IDAtPat: (LongVId: true)))
(ATExp:
(PARAtExp:
(APPExp:
(ATExp: (IDAtExp: (LongVId: <=)))
(RECORDAtExp:
(ExpRow:
(Lab: |1|)
(ATExp: (IDAtExp: (LongVId: c)))
(ExpRow: (Lab: |2|) (ATExp: (SCONAtExp: (CHARSCon: #\F))))))))))
(Match: (Mrule: (ATPat: (IDAtPat: (LongVId: false))) (ATExp: (IDAtExp: (LongVId: false)))))))))
(PARAtExp:
(ATExp:
(PARAtExp:
(APPExp:
(ATExp: (IDAtExp: (LongVId: <=)))
(RECORDAtExp:
(ExpRow:
(Lab: |1|)
(ATExp: (SCONAtExp: (CHARSCon: #\A)))
(ExpRow: (Lab: |2|) (ATExp: (IDAtExp: (LongVId: c)))))))))))))))))
(PARAtExp:
(APPExp:
(ATExp:
(PARAtExp:
(FNExp:
(Match:
(Mrule:
(ATPat: (IDAtPat: (LongVId: true)))
(ATExp:
(PARAtExp:
(APPExp:
(ATExp: (IDAtExp: (LongVId: <=)))
(RECORDAtExp:
(ExpRow:
(Lab: |1|)
(ATExp: (IDAtExp: (LongVId: c)))
(ExpRow: (Lab: |2|) (ATExp: (SCONAtExp: (CHARSCon: #\f))))))))))
(Match: (Mrule: (ATPat: (IDAtPat: (LongVId: false))) (ATExp: (IDAtExp: (LongVId: false)))))))))
(PARAtExp:
(ATExp:
(PARAtExp:
(APPExp:
(ATExp: (IDAtExp: (LongVId: <=)))
(RECORDAtExp:
(ExpRow:
(Lab: |1|)
(ATExp: (SCONAtExp: (CHARSCon: #\a)))
(ExpRow: (Lab: |2|) (ATExp: (IDAtExp: (LongVId: c)))))))))))))))))))
(PARAtExp:
(APPExp:
(ATExp:
(PARAtExp:
(FNExp:
(Match:
(Mrule:
(ATPat: (IDAtPat: (LongVId: true)))
(ATExp:
(PARAtExp:
(APPExp:
(ATExp: (IDAtExp: (LongVId: <=)))
(RECORDAtExp:
(ExpRow:
(Lab: |1|)
(ATExp: (IDAtExp: (LongVId: c)))
(ExpRow: (Lab: |2|) (ATExp: (SCONAtExp: (CHARSCon: #\9))))))))))
(Match: (Mrule: (ATPat: (IDAtPat: (LongVId: false))) (ATExp: (IDAtExp: (LongVId: false)))))))))
(PARAtExp:
(ATExp:
(PARAtExp:
(APPExp:
(ATExp: (IDAtExp: (LongVId: <=)))
(RECORDAtExp:
(ExpRow:
(Lab: |1|)
(ATExp: (SCONAtExp: (CHARSCon: #\0)))
(ExpRow: (Lab: |2|) (ATExp: (IDAtExp: (LongVId: c))))))))))))))))))
(PARAtExp: (ATExp: (PARAtExp: (ATExp: (IDAtExp: (LongVId: _id10586)))))))))))))))))
(SEQStrDec:
(SEQStrDec:
(DECStrDec:
(VALDec:
(TyVarseq:)
(RECValBind:
(PLAINValBind:
(ATPat: (IDAtPat: (LongVId: fromMLescape)))
(FNExp:
(Match:
(Mrule:
(ATPat: (IDAtPat: (LongVId: _id10591)))
(FNExp:
(Match:
(Mrule:
(ATPat: (IDAtPat: (LongVId: _id10592)))
(APPExp:
(ATExp:
(PARAtExp:
(FNExp:
(Match:
(Mrule:
(ATPat:
(RECORDAtPat:
(FIELDPatRow:
(Lab: |1|)
(ATPat: (IDAtPat: (LongVId: getc)))
(FIELDPatRow: (Lab: |2|) (ATPat: (IDAtPat: (LongVId: source)))))))
(ATExp:
(LETAtExp:
(SEQDec:
(VALDec:
(TyVarseq:)
(RECValBind:
(PLAINValBind:
(ATPat: (IDAtPat: (LongVId: decimal)))
(FNExp:
(Match:
(Mrule:
(ATPat: (IDAtPat: (LongVId: _id10587)))
(FNExp:
(Match:
(Mrule:
(ATPat: (IDAtPat: (LongVId: _id10588)))
(FNExp:
(Match:
(Mrule:
(ATPat: (IDAtPat: (LongVId: _id10589)))
(APPExp:
(ATExp:
(PARAtExp:
(FNExp:
(Match:
(Mrule:
(ATPat:
(RECORDAtPat:
(FIELDPatRow:
(Lab: |1|)
(ATPat: (IDAtPat: (LongVId: cont)))
(FIELDPatRow:
(Lab: |2|)
(ATPat: (IDAtPat: (LongVId: src)))
(FIELDPatRow: (Lab: |3|) (ATPat: (IDAtPat: (LongVId: code))))))))
(APPExp:
(ATExp:
(PARAtExp:
(FNExp:
(Match:
(Mrule: (ATPat: (IDAtPat: (LongVId: NONE))) (RAISEExp: (ATExp: (IDAtExp: (LongVId: BadEscape)))))
(Match:
(Mrule:
(ATPat:
(PARAtPat:
(CONPat:
(LongVId: SOME)
(RECORDAtPat:
(FIELDPatRow:
(Lab: |1|)
(ATPat: (IDAtPat: (LongVId: c)))
(FIELDPatRow: (Lab: |2|) (ATPat: (IDAtPat: (LongVId: rest)))))))))
(APPExp:
(ATExp:
(PARAtExp:
(FNExp:
(Match:
(Mrule:
(ATPat: (IDAtPat: (LongVId: true)))
(ATExp:
(PARAtExp:
(APPExp:
(ATExp:
(PARAtExp: (APPExp: (ATExp: (IDAtExp: (LongVId: cont))) (IDAtExp: (LongVId: rest)))))
(PARAtExp:
(ATExp:
(PARAtExp:
(APPExp:
(ATExp: (IDAtExp: (LongVId: -)))
(RECORDAtExp:
(ExpRow:
(Lab: |1|)
(ATExp:
(PARAtExp:
(APPExp:
(ATExp: (IDAtExp: (LongVId: +)))
(RECORDAtExp:
(ExpRow:
(Lab: |1|)
(ATExp:
(PARAtExp:
(APPExp:
(ATExp: (IDAtExp: (LongVId: *)))
(RECORDAtExp:
(ExpRow:
(Lab: |1|)
(ATExp: (IDAtExp: (LongVId: code)))
(ExpRow: (Lab: |2|) (ATExp: (SCONAtExp: (INTSCon: 10)))))))))
(ExpRow:
(Lab: |2|)
(ATExp:
(PARAtExp:
(APPExp:
(ATExp: (IDAtExp: (LongVId: ord_)))
(IDAtExp: (LongVId: c)))))))))))
(ExpRow: (Lab: |2|) (ATExp: (SCONAtExp: (INTSCon: 48))))))))))))))
(Match:
(Mrule:
(ATPat: (IDAtPat: (LongVId: false)))
(RAISEExp: (ATExp: (IDAtExp: (LongVId: BadEscape))))))))))
(PARAtExp:
(APPExp:
(ATExp:
(PARAtExp:
(FNExp:
(Match:
(Mrule:
(ATPat: (IDAtPat: (LongVId: true)))
(ATExp:
(PARAtExp:
(APPExp:
(ATExp: (IDAtExp: (LongVId: <=)))
(RECORDAtExp:
(ExpRow:
(Lab: |1|)
(ATExp: (IDAtExp: (LongVId: c)))
(ExpRow: (Lab: |2|) (ATExp: (SCONAtExp: (CHARSCon: #\9))))))))))
(Match:
(Mrule: (ATPat: (IDAtPat: (LongVId: false))) (ATExp: (IDAtExp: (LongVId: false)))))))))
(PARAtExp:
(ATExp:
(PARAtExp:
(APPExp:
(ATExp: (IDAtExp: (LongVId: <=)))
(RECORDAtExp:
(ExpRow:
(Lab: |1|)
(ATExp: (SCONAtExp: (CHARSCon: #\0)))
(ExpRow: (Lab: |2|) (ATExp: (IDAtExp: (LongVId: c)))))))))))))))))))
(PARAtExp:
(ATExp: (PARAtExp: (APPExp: (ATExp: (IDAtExp: (LongVId: getc))) (IDAtExp: (LongVId: src))))))))))))
(PARAtExp:
(ATExp:
(RECORDAtExp:
(ExpRow:
(Lab: |1|)
(ATExp: (IDAtExp: (LongVId: _id10587)))
(ExpRow:
(Lab: |2|)
(ATExp: (IDAtExp: (LongVId: _id10588)))
(ExpRow: (Lab: |3|) (ATExp: (IDAtExp: (LongVId: _id10589))))))))))))))))))))))
(SEQDec:
(VALDec:
(TyVarseq:)
(PLAINValBind:
(ATPat: (IDAtPat: (LongVId: from3Dec)))
(ATExp:
(PARAtExp:
(APPExp:
(ATExp: (IDAtExp: (LongVId: decimal)))
(PARAtExp:
(ATExp:
(PARAtExp:
(APPExp:
(ATExp: (IDAtExp: (LongVId: decimal)))
(PARAtExp:
(ATExp:
(PARAtExp:
(APPExp:
(ATExp: (IDAtExp: (LongVId: decimal)))
(PARAtExp:
(FNExp:
(Match:
(Mrule:
(ATPat: (IDAtPat: (LongVId: src)))
(FNExp:
(Match:
(Mrule:
(ATPat: (IDAtPat: (LongVId: code)))
(ATExp:
(RECORDAtExp:
(ExpRow:
(Lab: |1|)
(ATExp: (PARAtExp: (APPExp: (ATExp: (IDAtExp: (LongVId: chr))) (IDAtExp: (LongVId: code)))))
(ExpRow: (Lab: |2|) (ATExp: (IDAtExp: (LongVId: src)))))))))))))))))))))))))))
(VALDec:
(TyVarseq:)
(RECValBind:
(PLAINValBind:
(ATPat: (IDAtPat: (LongVId: skipform)))
(FNExp:
(Match:
(Mrule:
(ATPat: (IDAtPat: (LongVId: _id10590)))
(APPExp:
(ATExp:
(PARAtExp:
(FNExp:
(Match:
(Mrule:
(ATPat: (PARAtPat: (ATPat: (IDAtPat: (LongVId: src)))))
(APPExp:
(ATExp:
(PARAtExp:
(FNExp:
(Match:
(Mrule: (ATPat: (IDAtPat: (LongVId: NONE))) (ATExp: (IDAtExp: (LongVId: NONE))))
(Match:
(Mrule:
(ATPat:
(PARAtPat:
(CONPat:
(LongVId: SOME)
(RECORDAtPat:
(FIELDPatRow:
(Lab: |1|)
(ATPat: (SCONAtPat: (CHARSCon: #\\)))
(FIELDPatRow: (Lab: |2|) (ATPat: (IDAtPat: (LongVId: src1)))))))))
(ATExp:
(PARAtExp:
(APPExp:
(ATExp:
(PARAtExp:
(FNExp:
(Match:
(Mrule: (ATPat: (IDAtPat: (LongVId: NONE))) (ATExp: (IDAtExp: (LongVId: NONE))))
(Match:
(Mrule:
(ATPat:
(PARAtPat:
(CONPat:
(LongVId: SOME)
(RECORDAtPat:
(FIELDPatRow:
(Lab: |1|)
(ATPat: (SCONAtPat: (CHARSCon: #\\)))
(FIELDPatRow: (Lab: |2|) (ATPat: (IDAtPat: (LongVId: src2)))))))))
(ATExp:
(PARAtExp:
(APPExp:
(ATExp:
(PARAtExp:
(APPExp: (ATExp: (IDAtExp: (LongVId: fromMLescape))) (IDAtExp: (LongVId: getc)))))
(IDAtExp: (LongVId: src2))))))
(Match: (Mrule: (ATPat: (IDAtPat: (LongVId: res))) (ATExp: (IDAtExp: (LongVId: res))))))))))
(PARAtExp:
(ATExp:
(PARAtExp: (APPExp: (ATExp: (IDAtExp: (LongVId: getc))) (IDAtExp: (LongVId: src1))))))))))
(Match:
(Mrule:
(ATPat:
(PARAtPat:
(CONPat:
(LongVId: SOME)
(RECORDAtPat:
(FIELDPatRow:
(Lab: |1|)
(ATPat: (IDAtPat: (LongVId: c)))
(FIELDPatRow: (Lab: |2|) (ATPat: (IDAtPat: (LongVId: rest)))))))))
(APPExp:
(ATExp:
(PARAtExp:
(FNExp:
(Match:
(Mrule:
(ATPat: (IDAtPat: (LongVId: true)))
(ATExp:
(PARAtExp: (APPExp: (ATExp: (IDAtExp: (LongVId: skipform))) (IDAtExp: (LongVId: rest))))))
(Match: (Mrule: (ATPat: (IDAtPat: (LongVId: false))) (ATExp: (IDAtExp: (LongVId: NONE)))))))))
(PARAtExp:
(APPExp:
(ATExp:
(PARAtExp:
(FNExp:
(Match:
(Mrule: (ATPat: (IDAtPat: (LongVId: true))) (ATExp: (IDAtExp: (LongVId: true))))
(Match:
(Mrule:
(ATPat: (IDAtPat: (LongVId: false)))
(APPExp:
(ATExp:
(PARAtExp:
(FNExp:
(Match:
(Mrule:
(ATPat: (IDAtPat: (LongVId: true)))
(ATExp:
(PARAtExp:
(APPExp:
(ATExp: (IDAtExp: (LongVId: <=)))
(RECORDAtExp:
(ExpRow:
(Lab: |1|)
(ATExp: (IDAtExp: (LongVId: c)))
(ExpRow: (Lab: |2|) (ATExp: (SCONAtExp: (CHARSCon: #\return))))))))))
(Match:
(Mrule:
(ATPat: (IDAtPat: (LongVId: false)))
(ATExp: (IDAtExp: (LongVId: false)))))))))
(PARAtExp:
(ATExp:
(PARAtExp:
(APPExp:
(ATExp: (IDAtExp: (LongVId: <=)))
(RECORDAtExp:
(ExpRow:
(Lab: |1|)
(ATExp: (SCONAtExp: (CHARSCon: #\tab)))
(ExpRow: (Lab: |2|) (ATExp: (IDAtExp: (LongVId: c)))))))))))))))))
(PARAtExp:
(ATExp:
(PARAtExp:
(APPExp:
(ATExp: (IDAtExp: (LongVId: =)))
(RECORDAtExp:
(ExpRow:
(Lab: |1|)
(ATExp: (IDAtExp: (LongVId: c)))
(ExpRow: (Lab: |2|) (ATExp: (SCONAtExp: (CHARSCon: #\space))))))))))))))))))))
(PARAtExp:
(ATExp: (PARAtExp: (APPExp: (ATExp: (IDAtExp: (LongVId: getc))) (IDAtExp: (LongVId: src))))))))))))
(PARAtExp: (ATExp: (PARAtExp: (ATExp: (IDAtExp: (LongVId: _id10590)))))))))))))))
(APPExp:
(ATExp:
(PARAtExp:
(FNExp:
(Match:
(Mrule: (ATPat: (IDAtPat: (LongVId: NONE))) (ATExp: (IDAtExp: (LongVId: NONE))))
(Match:
(Mrule:
(ATPat:
(PARAtPat:
(CONPat:
(LongVId: SOME)
(RECORDAtPat:
(FIELDPatRow:
(Lab: |1|)
(ATPat: (SCONAtPat: (CHARSCon: #\a)))
(FIELDPatRow: (Lab: |2|) (ATPat: (IDAtPat: (LongVId: rest)))))))))
(ATExp:
(PARAtExp:
(APPExp:
(ATExp: (IDAtExp: (LongVId: SOME)))
(RECORDAtExp:
(ExpRow:
(Lab: |1|)
(ATExp: (SCONAtExp: (CHARSCon: #\u0007)))
(ExpRow: (Lab: |2|) (ATExp: (IDAtExp: (LongVId: rest))))))))))
(Match:
(Mrule:
(ATPat:
(PARAtPat:
(CONPat:
(LongVId: SOME)
(RECORDAtPat:
(FIELDPatRow:
(Lab: |1|)
(ATPat: (SCONAtPat: (CHARSCon: #\b)))
(FIELDPatRow: (Lab: |2|) (ATPat: (IDAtPat: (LongVId: rest)))))))))
(ATExp:
(PARAtExp:
(APPExp:
(ATExp: (IDAtExp: (LongVId: SOME)))
(RECORDAtExp:
(ExpRow:
(Lab: |1|)
(ATExp: (SCONAtExp: (CHARSCon: #\backspace)))
(ExpRow: (Lab: |2|) (ATExp: (IDAtExp: (LongVId: rest))))))))))
(Match:
(Mrule:
(ATPat:
(PARAtPat:
(CONPat:
(LongVId: SOME)
(RECORDAtPat:
(FIELDPatRow:
(Lab: |1|)
(ATPat: (SCONAtPat: (CHARSCon: #\t)))
(FIELDPatRow: (Lab: |2|) (ATPat: (IDAtPat: (LongVId: rest)))))))))
(ATExp:
(PARAtExp:
(APPExp:
(ATExp: (IDAtExp: (LongVId: SOME)))
(RECORDAtExp:
(ExpRow:
(Lab: |1|)
(ATExp: (SCONAtExp: (CHARSCon: #\tab)))
(ExpRow: (Lab: |2|) (ATExp: (IDAtExp: (LongVId: rest))))))))))
(Match:
(Mrule:
(ATPat:
(PARAtPat:
(CONPat:
(LongVId: SOME)
(RECORDAtPat:
(FIELDPatRow:
(Lab: |1|)
(ATPat: (SCONAtPat: (CHARSCon: #\n)))
(FIELDPatRow: (Lab: |2|) (ATPat: (IDAtPat: (LongVId: rest)))))))))
(ATExp:
(PARAtExp:
(APPExp:
(ATExp: (IDAtExp: (LongVId: SOME)))
(RECORDAtExp:
(ExpRow:
(Lab: |1|)
(ATExp: (SCONAtExp: (CHARSCon: #\newline)))
(ExpRow: (Lab: |2|) (ATExp: (IDAtExp: (LongVId: rest))))))))))
(Match:
(Mrule:
(ATPat:
(PARAtPat:
(CONPat:
(LongVId: SOME)
(RECORDAtPat:
(FIELDPatRow:
(Lab: |1|)
(ATPat: (SCONAtPat: (CHARSCon: #\r)))
(FIELDPatRow: (Lab: |2|) (ATPat: (IDAtPat: (LongVId: rest)))))))))
(ATExp:
(PARAtExp:
(APPExp:
(ATExp: (IDAtExp: (LongVId: SOME)))
(RECORDAtExp:
(ExpRow:
(Lab: |1|)
(ATExp: (SCONAtExp: (CHARSCon: #\return)))
(ExpRow: (Lab: |2|) (ATExp: (IDAtExp: (LongVId: rest))))))))))
(Match:
(Mrule:
(ATPat:
(PARAtPat:
(CONPat:
(LongVId: SOME)
(RECORDAtPat:
(FIELDPatRow:
(Lab: |1|)
(ATPat: (SCONAtPat: (CHARSCon: #\v)))
(FIELDPatRow: (Lab: |2|) (ATPat: (IDAtPat: (LongVId: rest)))))))))
(ATExp:
(PARAtExp:
(APPExp:
(ATExp: (IDAtExp: (LongVId: SOME)))
(RECORDAtExp:
(ExpRow:
(Lab: |1|)
(ATExp: (SCONAtExp: (CHARSCon: #\vtab)))
(ExpRow: (Lab: |2|) (ATExp: (IDAtExp: (LongVId: rest))))))))))
(Match:
(Mrule:
(ATPat:
(PARAtPat:
(CONPat:
(LongVId: SOME)
(RECORDAtPat:
(FIELDPatRow:
(Lab: |1|)
(ATPat: (SCONAtPat: (CHARSCon: #\f)))
(FIELDPatRow: (Lab: |2|) (ATPat: (IDAtPat: (LongVId: rest)))))))))
(ATExp:
(PARAtExp:
(APPExp:
(ATExp: (IDAtExp: (LongVId: SOME)))
(RECORDAtExp:
(ExpRow:
(Lab: |1|)
(ATExp: (SCONAtExp: (CHARSCon: #\page)))
(ExpRow: (Lab: |2|) (ATExp: (IDAtExp: (LongVId: rest))))))))))
(Match:
(Mrule:
(ATPat:
(PARAtPat:
(CONPat:
(LongVId: SOME)
(RECORDAtPat:
(FIELDPatRow:
(Lab: |1|)
(ATPat: (SCONAtPat: (CHARSCon: #\")))
(FIELDPatRow: (Lab: |2|) (ATPat: (IDAtPat: (LongVId: rest)))))))))
(ATExp:
(PARAtExp:
(APPExp:
(ATExp: (IDAtExp: (LongVId: SOME)))
(RECORDAtExp:
(ExpRow:
(Lab: |1|)
(ATExp: (SCONAtExp: (CHARSCon: #\")))
(ExpRow: (Lab: |2|) (ATExp: (IDAtExp: (LongVId: rest))))))))))
(Match:
(Mrule:
(ATPat:
(PARAtPat:
(CONPat:
(LongVId: SOME)
(RECORDAtPat:
(FIELDPatRow:
(Lab: |1|)
(ATPat: (SCONAtPat: (CHARSCon: #\\)))
(FIELDPatRow: (Lab: |2|) (ATPat: (IDAtPat: (LongVId: rest)))))))))
(ATExp:
(PARAtExp:
(APPExp:
(ATExp: (IDAtExp: (LongVId: SOME)))
(RECORDAtExp:
(ExpRow:
(Lab: |1|)
(ATExp: (SCONAtExp: (CHARSCon: #\\)))
(ExpRow: (Lab: |2|) (ATExp: (IDAtExp: (LongVId: rest))))))))))
(Match:
(Mrule:
(ATPat:
(PARAtPat:
(CONPat:
(LongVId: SOME)
(RECORDAtPat:
(FIELDPatRow:
(Lab: |1|)
(ATPat: (SCONAtPat: (CHARSCon: #\space)))
(FIELDPatRow: (Lab: |2|) (ATPat: (IDAtPat: (LongVId: rest)))))))))
(ATExp: (PARAtExp: (APPExp: (ATExp: (IDAtExp: (LongVId: skipform))) (IDAtExp: (LongVId: rest))))))
(Match:
(Mrule:
(ATPat:
(PARAtPat:
(CONPat:
(LongVId: SOME)
(RECORDAtPat:
(FIELDPatRow:
(Lab: |1|)
(ATPat: (SCONAtPat: (CHARSCon: #\newline)))
(FIELDPatRow: (Lab: |2|) (ATPat: (IDAtPat: (LongVId: rest)))))))))
(ATExp: (PARAtExp: (APPExp: (ATExp: (IDAtExp: (LongVId: skipform))) (IDAtExp: (LongVId: rest))))))
(Match:
(Mrule:
(ATPat:
(PARAtPat:
(CONPat:
(LongVId: SOME)
(RECORDAtPat:
(FIELDPatRow:
(Lab: |1|)
(ATPat: (SCONAtPat: (CHARSCon: #\tab)))
(FIELDPatRow: (Lab: |2|) (ATPat: (IDAtPat: (LongVId: rest)))))))))
(ATExp: (PARAtExp: (APPExp: (ATExp: (IDAtExp: (LongVId: skipform))) (IDAtExp: (LongVId: rest))))))
(Match:
(Mrule:
(ATPat:
(PARAtPat:
(CONPat:
(LongVId: SOME)
(RECORDAtPat:
(FIELDPatRow:
(Lab: |1|)
(ATPat: (SCONAtPat: (CHARSCon: #\^)))
(FIELDPatRow: (Lab: |2|) (ATPat: (IDAtPat: (LongVId: rest)))))))))
(ATExp:
(PARAtExp:
(APPExp:
(ATExp:
(PARAtExp:
(FNExp:
(Match:
(Mrule: (ATPat: (IDAtPat: (LongVId: NONE))) (ATExp: (IDAtExp: (LongVId: NONE))))
(Match:
(Mrule:
(ATPat:
(PARAtPat:
(CONPat:
(LongVId: SOME)
(RECORDAtPat:
(FIELDPatRow:
(Lab: |1|)
(ATPat: (IDAtPat: (LongVId: c)))
(FIELDPatRow: (Lab: |2|) (ATPat: (IDAtPat: (LongVId: rest)))))))))
(APPExp:
(ATExp:
(PARAtExp:
(FNExp:
(Match:
(Mrule:
(ATPat: (IDAtPat: (LongVId: true)))
(ATExp:
(PARAtExp:
(APPExp:
(ATExp: (IDAtExp: (LongVId: SOME)))
(RECORDAtExp:
(ExpRow:
(Lab: |1|)
(ATExp:
(PARAtExp:
(APPExp:
(ATExp: (IDAtExp: (LongVId: chr_)))
(PARAtExp:
(ATExp:
(PARAtExp:
(APPExp:
(ATExp: (IDAtExp: (LongVId: -)))
(RECORDAtExp:
(ExpRow:
(Lab: |1|)
(ATExp:
(PARAtExp:
(APPExp: (ATExp: (IDAtExp: (LongVId: ord_))) (IDAtExp: (LongVId: c)))))
(ExpRow: (Lab: |2|) (ATExp: (SCONAtExp: (INTSCon: 64)))))))))))))
(ExpRow: (Lab: |2|) (ATExp: (IDAtExp: (LongVId: rest))))))))))
(Match:
(Mrule: (ATPat: (IDAtPat: (LongVId: false))) (ATExp: (IDAtExp: (LongVId: NONE)))))))))
(PARAtExp:
(APPExp:
(ATExp:
(PARAtExp:
(FNExp:
(Match:
(Mrule:
(ATPat: (IDAtPat: (LongVId: true)))
(ATExp:
(PARAtExp:
(APPExp:
(ATExp: (IDAtExp: (LongVId: <=)))
(RECORDAtExp:
(ExpRow:
(Lab: |1|)
(ATExp: (IDAtExp: (LongVId: c)))
(ExpRow: (Lab: |2|) (ATExp: (SCONAtExp: (CHARSCon: #\_))))))))))
(Match:
(Mrule:
(ATPat: (IDAtPat: (LongVId: false)))
(ATExp: (IDAtExp: (LongVId: false)))))))))
(PARAtExp:
(ATExp:
(PARAtExp:
(APPExp:
(ATExp: (IDAtExp: (LongVId: <=)))
(RECORDAtExp:
(ExpRow:
(Lab: |1|)
(ATExp: (SCONAtExp: (CHARSCon: #\@)))
(ExpRow: (Lab: |2|) (ATExp: (IDAtExp: (LongVId: c)))))))))))))))))))
(PARAtExp:
(ATExp: (PARAtExp: (APPExp: (ATExp: (IDAtExp: (LongVId: getc))) (IDAtExp: (LongVId: rest))))))))))
(Match:
(Mrule:
(ATPat: (WILDCARDAtPat:))
(HANDLEExp:
(ATExp:
(PARAtExp:
(APPExp:
(ATExp: (IDAtExp: (LongVId: SOME)))
(PARAtExp:
(ATExp:
(PARAtExp:
(APPExp:
(ATExp:
(PARAtExp: (APPExp: (ATExp: (IDAtExp: (LongVId: from3Dec))) (IDAtExp: (LongVId: source)))))
(SCONAtExp: (INTSCon: 0)))))))))
(Match:
(Mrule:
(ATPat: (IDAtPat: (LongVId: BadEscape)))
(ATExp: (IDAtExp: (LongVId: NONE)))))))))))))))))))))))))
(PARAtExp: (ATExp: (PARAtExp: (APPExp: (ATExp: (IDAtExp: (LongVId: getc))) (IDAtExp: (LongVId: source))))))))))))))
(PARAtExp:
(ATExp:
(RECORDAtExp:
(ExpRow:
(Lab: |1|)
(ATExp: (IDAtExp: (LongVId: _id10591)))
(ExpRow: (Lab: |2|) (ATExp: (IDAtExp: (LongVId: _id10592)))))))))))))))))))
(SEQStrDec:
(DECStrDec:
(VALDec:
(TyVarseq:)
(RECValBind:
(PLAINValBind:
(ATPat: (IDAtPat: (LongVId: toMLescape)))
(FNExp:
(Match:
(Mrule:
(ATPat: (IDAtPat: (LongVId: _id10593)))
(APPExp:
(ATExp:
(PARAtExp:
(FNExp:
(Match:
(Mrule:
(ATPat: (PARAtPat: (ATPat: (IDAtPat: (LongVId: c)))))
(APPExp:
(ATExp:
(PARAtExp:
(FNExp:
(Match:
(Mrule: (ATPat: (SCONAtPat: (CHARSCon: #\\))) (ATExp: (SCONAtExp: (STRINGSCon: "\\\\"))))
(Match:
(Mrule: (ATPat: (SCONAtPat: (CHARSCon: #\"))) (ATExp: (SCONAtExp: (STRINGSCon: "\\\""))))
(Match:
(Mrule:
(ATPat: (WILDCARDAtPat:))
(APPExp:
(ATExp:
(PARAtExp:
(FNExp:
(Match:
(Mrule:
(ATPat: (IDAtPat: (LongVId: true)))
(APPExp:
(ATExp:
(PARAtExp:
(FNExp:
(Match:
(Mrule:
(ATPat: (IDAtPat: (LongVId: true)))
(ATExp: (PARAtExp: (APPExp: (ATExp: (IDAtExp: (LongVId: str))) (IDAtExp: (LongVId: c))))))
(Match:
(Mrule:
(ATPat: (IDAtPat: (LongVId: false)))
(ATExp:
(LETAtExp:
(SEQDec:
(VALDec:
(TyVarseq:)
(PLAINValBind:
(ATPat: (IDAtPat: (LongVId: n)))
(ATExp: (PARAtExp: (APPExp: (ATExp: (IDAtExp: (LongVId: ord_))) (IDAtExp: (LongVId: c)))))))
(VALDec:
(TyVarseq:)
(PLAINValBind:
(ATPat: (IDAtPat: (LongVId: newstr)))
(ATExp:
(PARAtExp: (APPExp: (ATExp: (IDAtExp: (LongVId: mkstring_))) (SCONAtExp: (INTSCon: 4))))))))
(ATExp:
(PARAtExp:
(APPExp:
(ATExp:
(PARAtExp:
(FNExp:
(Match:
(Mrule:
(ATPat: (WILDCARDAtPat:))
(APPExp:
(ATExp:
(PARAtExp:
(FNExp:
(Match:
(Mrule:
(ATPat: (WILDCARDAtPat:))
(APPExp:
(ATExp:
(PARAtExp:
(FNExp:
(Match:
(Mrule:
(ATPat: (WILDCARDAtPat:))
(APPExp:
(ATExp:
(PARAtExp:
(FNExp:
(Match:
(Mrule: (ATPat: (WILDCARDAtPat:)) (ATExp: (IDAtExp: (LongVId: newstr))))))))
(PARAtExp:
(ATExp:
(PARAtExp:
(APPExp:
(ATExp:
(PARAtExp:
(APPExp:
(ATExp:
(PARAtExp:
(APPExp:
(ATExp: (IDAtExp: (LongVId: set_nth_)))
(IDAtExp: (LongVId: newstr)))))
(SCONAtExp: (INTSCon: 3)))))
(PARAtExp:
(ATExp:
(PARAtExp:
(APPExp:
(ATExp: (IDAtExp: (LongVId: digit)))
(PARAtExp:
(ATExp:
(PARAtExp:
(APPExp:
(ATExp: (IDAtExp: (LongVId: mod)))
(RECORDAtExp:
(ExpRow:
(Lab: |1|)
(ATExp: (IDAtExp: (LongVId: n)))
(ExpRow:
(Lab: |2|)
(ATExp: (SCONAtExp: (INTSCon: 10))))))))))))))))))))))))
(PARAtExp:
(ATExp:
(PARAtExp:
(APPExp:
(ATExp:
(PARAtExp:
(APPExp:
(ATExp:
(PARAtExp:
(APPExp:
(ATExp: (IDAtExp: (LongVId: set_nth_)))
(IDAtExp: (LongVId: newstr)))))
(SCONAtExp: (INTSCon: 2)))))
(PARAtExp:
(ATExp:
(PARAtExp:
(APPExp:
(ATExp: (IDAtExp: (LongVId: digit)))
(PARAtExp:
(ATExp:
(PARAtExp:
(APPExp:
(ATExp: (IDAtExp: (LongVId: mod)))
(RECORDAtExp:
(ExpRow:
(Lab: |1|)
(ATExp:
(PARAtExp:
(APPExp:
(ATExp: (IDAtExp: (LongVId: div)))
(RECORDAtExp:
(ExpRow:
(Lab: |1|)
(ATExp: (IDAtExp: (LongVId: n)))
(ExpRow: (Lab: |2|) (ATExp: (SCONAtExp: (INTSCon: 10)))))))))
(ExpRow:
(Lab: |2|)
(ATExp: (SCONAtExp: (INTSCon: 10))))))))))))))))))))))))
(PARAtExp:
(ATExp:
(PARAtExp:
(APPExp:
(ATExp:
(PARAtExp:
(APPExp:
(ATExp:
(PARAtExp:
(APPExp: (ATExp: (IDAtExp: (LongVId: set_nth_))) (IDAtExp: (LongVId: newstr)))))
(SCONAtExp: (INTSCon: 1)))))
(PARAtExp:
(ATExp:
(PARAtExp:
(APPExp:
(ATExp: (IDAtExp: (LongVId: digit)))
(PARAtExp:
(ATExp:
(PARAtExp:
(APPExp:
(ATExp: (IDAtExp: (LongVId: div)))
(RECORDAtExp:
(ExpRow:
(Lab: |1|)
(ATExp: (IDAtExp: (LongVId: n)))
(ExpRow: (Lab: |2|) (ATExp: (SCONAtExp: (INTSCon: 100))))))))))))))))))))))))
(PARAtExp:
(ATExp:
(PARAtExp:
(APPExp:
(ATExp:
(PARAtExp:
(APPExp:
(ATExp:
(PARAtExp: (APPExp: (ATExp: (IDAtExp: (LongVId: set_nth_))) (IDAtExp: (LongVId: newstr)))))
(SCONAtExp: (INTSCon: 0)))))
(SCONAtExp: (CHARSCon: #\\)))))))))))))))))
(PARAtExp:
(ATExp:
(PARAtExp:
(APPExp:
(ATExp: (IDAtExp: (LongVId: <=)))
(RECORDAtExp:
(ExpRow:
(Lab: |1|)
(ATExp: (IDAtExp: (LongVId: c)))
(ExpRow: (Lab: |2|) (ATExp: (SCONAtExp: (CHARSCon: #\~))))))))))))
(Match:
(Mrule:
(ATPat: (IDAtPat: (LongVId: false)))
(ATExp:
(PARAtExp:
(APPExp:
(ATExp:
(PARAtExp:
(FNExp:
(Match:
(Mrule: (ATPat: (SCONAtPat: (CHARSCon: #\u0007))) (ATExp: (SCONAtExp: (STRINGSCon: "\\a"))))
(Match:
(Mrule: (ATPat: (SCONAtPat: (CHARSCon: #\backspace))) (ATExp: (SCONAtExp: (STRINGSCon: "\\b"))))
(Match:
(Mrule: (ATPat: (SCONAtPat: (CHARSCon: #\tab))) (ATExp: (SCONAtExp: (STRINGSCon: "\\t"))))
(Match:
(Mrule: (ATPat: (SCONAtPat: (CHARSCon: #\newline))) (ATExp: (SCONAtExp: (STRINGSCon: "\\n"))))
(Match:
(Mrule: (ATPat: (SCONAtPat: (CHARSCon: #\return))) (ATExp: (SCONAtExp: (STRINGSCon: "\\r"))))
(Match:
(Mrule: (ATPat: (SCONAtPat: (CHARSCon: #\vtab))) (ATExp: (SCONAtExp: (STRINGSCon: "\\v"))))
(Match:
(Mrule: (ATPat: (SCONAtPat: (CHARSCon: #\page))) (ATExp: (SCONAtExp: (STRINGSCon: "\\f"))))
(Match:
(Mrule:
(ATPat: (WILDCARDAtPat:))
(ATExp:
(LETAtExp:
(SEQDec:
(VALDec:
(TyVarseq:)
(PLAINValBind:
(ATPat: (IDAtPat: (LongVId: n)))
(ATExp:
(PARAtExp: (APPExp: (ATExp: (IDAtExp: (LongVId: ord_))) (IDAtExp: (LongVId: c)))))))
(VALDec:
(TyVarseq:)
(PLAINValBind:
(ATPat: (IDAtPat: (LongVId: newstr)))
(ATExp:
(PARAtExp:
(APPExp: (ATExp: (IDAtExp: (LongVId: mkstring_))) (SCONAtExp: (INTSCon: 3))))))))
(ATExp:
(PARAtExp:
(APPExp:
(ATExp:
(PARAtExp:
(FNExp:
(Match:
(Mrule:
(ATPat: (WILDCARDAtPat:))
(APPExp:
(ATExp:
(PARAtExp:
(FNExp:
(Match:
(Mrule:
(ATPat: (WILDCARDAtPat:))
(APPExp:
(ATExp:
(PARAtExp:
(FNExp:
(Match:
(Mrule:
(ATPat: (WILDCARDAtPat:))
(ATExp: (IDAtExp: (LongVId: newstr))))))))
(PARAtExp:
(ATExp:
(PARAtExp:
(APPExp:
(ATExp:
(PARAtExp:
(APPExp:
(ATExp:
(PARAtExp:
(APPExp:
(ATExp: (IDAtExp: (LongVId: set_nth_)))
(IDAtExp: (LongVId: newstr)))))
(SCONAtExp: (INTSCon: 2)))))
(PARAtExp:
(ATExp:
(PARAtExp:
(APPExp:
(ATExp: (IDAtExp: (LongVId: chr_)))
(PARAtExp:
(ATExp:
(PARAtExp:
(APPExp:
(ATExp: (IDAtExp: (LongVId: +)))
(RECORDAtExp:
(ExpRow:
(Lab: |1|)
(ATExp:
(PARAtExp:
(APPExp:
(ATExp: (IDAtExp: (LongVId: ord_)))
(IDAtExp: (LongVId: c)))))
(ExpRow:
(Lab: |2|)
(ATExp: (SCONAtExp: (INTSCon: 64))))))))))))))))))))))))
(PARAtExp:
(ATExp:
(PARAtExp:
(APPExp:
(ATExp:
(PARAtExp:
(APPExp:
(ATExp:
(PARAtExp:
(APPExp:
(ATExp: (IDAtExp: (LongVId: set_nth_)))
(IDAtExp: (LongVId: newstr)))))
(SCONAtExp: (INTSCon: 1)))))
(SCONAtExp: (CHARSCon: #\^))))))))))))
(PARAtExp:
(ATExp:
(PARAtExp:
(APPExp:
(ATExp:
(PARAtExp:
(APPExp:
(ATExp:
(PARAtExp:
(APPExp: (ATExp: (IDAtExp: (LongVId: set_nth_))) (IDAtExp: (LongVId: newstr)))))
(SCONAtExp: (INTSCon: 0)))))
(SCONAtExp: (CHARSCon: #\\)))))))))))))))))))))))
(PARAtExp: (ATExp: (IDAtExp: (LongVId: c)))))))))))))
(PARAtExp:
(ATExp:
(PARAtExp:
(APPExp:
(ATExp: (IDAtExp: (LongVId: <=)))
(RECORDAtExp:
(ExpRow:
(Lab: |1|)
(ATExp: (SCONAtExp: (CHARSCon: #\space)))
(ExpRow: (Lab: |2|) (ATExp: (IDAtExp: (LongVId: c))))))))))))))))))
(PARAtExp: (ATExp: (IDAtExp: (LongVId: c))))))))))
(PARAtExp: (ATExp: (PARAtExp: (ATExp: (IDAtExp: (LongVId: _id10593))))))))))))))
(DECStrDec:
(VALDec:
(TyVarseq:)
(RECValBind:
(PLAINValBind:
(ATPat: (IDAtPat: (LongVId: toCescape)))
(FNExp:
(Match:
(Mrule:
(ATPat: (IDAtPat: (LongVId: _id10594)))
(APPExp:
(ATExp:
(PARAtExp:
(FNExp:
(Match:
(Mrule:
(ATPat: (PARAtPat: (ATPat: (IDAtPat: (LongVId: c)))))
(APPExp:
(ATExp:
(PARAtExp:
(FNExp:
(Match:
(Mrule: (ATPat: (SCONAtPat: (CHARSCon: #\\))) (ATExp: (SCONAtExp: (STRINGSCon: "\\\\"))))
(Match:
(Mrule: (ATPat: (SCONAtPat: (CHARSCon: #\?))) (ATExp: (SCONAtExp: (STRINGSCon: "\\?"))))
(Match:
(Mrule: (ATPat: (SCONAtPat: (CHARSCon: #\'))) (ATExp: (SCONAtExp: (STRINGSCon: "\\'"))))
(Match:
(Mrule: (ATPat: (SCONAtPat: (CHARSCon: #\"))) (ATExp: (SCONAtExp: (STRINGSCon: "\\\""))))
(Match:
(Mrule:
(ATPat: (WILDCARDAtPat:))
(APPExp:
(ATExp:
(PARAtExp:
(FNExp:
(Match:
(Mrule:
(ATPat: (IDAtPat: (LongVId: true)))
(ATExp: (PARAtExp: (APPExp: (ATExp: (IDAtExp: (LongVId: str))) (IDAtExp: (LongVId: c))))))
(Match:
(Mrule:
(ATPat: (IDAtPat: (LongVId: false)))
(ATExp:
(PARAtExp:
(APPExp:
(ATExp:
(PARAtExp:
(FNExp:
(Match:
(Mrule: (ATPat: (SCONAtPat: (CHARSCon: #\newline))) (ATExp: (SCONAtExp: (STRINGSCon: "\\n"))))
(Match:
(Mrule: (ATPat: (SCONAtPat: (CHARSCon: #\return))) (ATExp: (SCONAtExp: (STRINGSCon: "\\r"))))
(Match:
(Mrule: (ATPat: (SCONAtPat: (CHARSCon: #\tab))) (ATExp: (SCONAtExp: (STRINGSCon: "\\t"))))
(Match:
(Mrule: (ATPat: (SCONAtPat: (CHARSCon: #\vtab))) (ATExp: (SCONAtExp: (STRINGSCon: "\\v"))))
(Match:
(Mrule: (ATPat: (SCONAtPat: (CHARSCon: #\backspace))) (ATExp: (SCONAtExp: (STRINGSCon: "\\b"))))
(Match:
(Mrule: (ATPat: (SCONAtPat: (CHARSCon: #\page))) (ATExp: (SCONAtExp: (STRINGSCon: "\\f"))))
(Match:
(Mrule: (ATPat: (SCONAtPat: (CHARSCon: #\u0007))) (ATExp: (SCONAtExp: (STRINGSCon: "\\a"))))
(Match:
(Mrule:
(ATPat: (WILDCARDAtPat:))
(ATExp:
(LETAtExp:
(SEQDec:
(VALDec:
(TyVarseq:)
(PLAINValBind:
(ATPat: (IDAtPat: (LongVId: n)))
(ATExp:
(PARAtExp: (APPExp: (ATExp: (IDAtExp: (LongVId: ord_))) (IDAtExp: (LongVId: c)))))))
(VALDec:
(TyVarseq:)
(PLAINValBind:
(ATPat: (IDAtPat: (LongVId: newstr)))
(ATExp:
(PARAtExp:
(APPExp: (ATExp: (IDAtExp: (LongVId: mkstring_))) (SCONAtExp: (INTSCon: 4))))))))
(ATExp:
(PARAtExp:
(APPExp:
(ATExp:
(PARAtExp:
(FNExp:
(Match:
(Mrule:
(ATPat: (WILDCARDAtPat:))
(APPExp:
(ATExp:
(PARAtExp:
(FNExp:
(Match:
(Mrule:
(ATPat: (WILDCARDAtPat:))
(APPExp:
(ATExp:
(PARAtExp:
(FNExp:
(Match:
(Mrule:
(ATPat: (WILDCARDAtPat:))
(APPExp:
(ATExp:
(PARAtExp:
(FNExp:
(Match:
(Mrule:
(ATPat: (WILDCARDAtPat:))
(ATExp: (IDAtExp: (LongVId: newstr))))))))
(PARAtExp:
(ATExp:
(PARAtExp:
(APPExp:
(ATExp:
(PARAtExp:
(APPExp:
(ATExp:
(PARAtExp:
(APPExp:
(ATExp: (IDAtExp: (LongVId: set_nth_)))
(IDAtExp: (LongVId: newstr)))))
(SCONAtExp: (INTSCon: 3)))))
(PARAtExp:
(ATExp:
(PARAtExp:
(APPExp:
(ATExp: (IDAtExp: (LongVId: digit)))
(PARAtExp:
(ATExp:
(PARAtExp:
(APPExp:
(ATExp: (IDAtExp: (LongVId: mod)))
(RECORDAtExp:
(ExpRow:
(Lab: |1|)
(ATExp: (IDAtExp: (LongVId: n)))
(ExpRow:
(Lab: |2|)
(ATExp: (SCONAtExp: (INTSCon: 8))))))))))))))))))))))))
(PARAtExp:
(ATExp:
(PARAtExp:
(APPExp:
(ATExp:
(PARAtExp:
(APPExp:
(ATExp:
(PARAtExp:
(APPExp:
(ATExp: (IDAtExp: (LongVId: set_nth_)))
(IDAtExp: (LongVId: newstr)))))
(SCONAtExp: (INTSCon: 2)))))
(PARAtExp:
(ATExp:
(PARAtExp:
(APPExp:
(ATExp: (IDAtExp: (LongVId: digit)))
(PARAtExp:
(ATExp:
(PARAtExp:
(APPExp:
(ATExp: (IDAtExp: (LongVId: mod)))
(RECORDAtExp:
(ExpRow:
(Lab: |1|)
(ATExp:
(PARAtExp:
(APPExp:
(ATExp: (IDAtExp: (LongVId: div)))
(RECORDAtExp:
(ExpRow:
(Lab: |1|)
(ATExp: (IDAtExp: (LongVId: n)))
(ExpRow:
(Lab: |2|)
(ATExp: (SCONAtExp: (INTSCon: 8)))))))))
(ExpRow:
(Lab: |2|)
(ATExp: (SCONAtExp: (INTSCon: 8))))))))))))))))))))))))
(PARAtExp:
(ATExp:
(PARAtExp:
(APPExp:
(ATExp:
(PARAtExp:
(APPExp:
(ATExp:
(PARAtExp:
(APPExp:
(ATExp: (IDAtExp: (LongVId: set_nth_)))
(IDAtExp: (LongVId: newstr)))))
(SCONAtExp: (INTSCon: 1)))))
(PARAtExp:
(ATExp:
(PARAtExp:
(APPExp:
(ATExp: (IDAtExp: (LongVId: digit)))
(PARAtExp:
(ATExp:
(PARAtExp:
(APPExp:
(ATExp: (IDAtExp: (LongVId: div)))
(RECORDAtExp:
(ExpRow:
(Lab: |1|)
(ATExp: (IDAtExp: (LongVId: n)))
(ExpRow:
(Lab: |2|)
(ATExp: (SCONAtExp: (INTSCon: 64))))))))))))))))))))))))
(PARAtExp:
(ATExp:
(PARAtExp:
(APPExp:
(ATExp:
(PARAtExp:
(APPExp:
(ATExp:
(PARAtExp:
(APPExp:
(ATExp: (IDAtExp: (LongVId: set_nth_)))
(IDAtExp: (LongVId: newstr)))))
(SCONAtExp: (INTSCon: 0)))))
(SCONAtExp: (CHARSCon: #\\)))))))))))))))))))))))
(PARAtExp: (ATExp: (IDAtExp: (LongVId: c)))))))))))))
(PARAtExp:
(APPExp:
(ATExp:
(PARAtExp:
(FNExp:
(Match:
(Mrule:
(ATPat: (IDAtPat: (LongVId: true)))
(ATExp:
(PARAtExp:
(APPExp:
(ATExp: (IDAtExp: (LongVId: <=)))
(RECORDAtExp:
(ExpRow:
(Lab: |1|)
(ATExp: (IDAtExp: (LongVId: c)))
(ExpRow: (Lab: |2|) (ATExp: (SCONAtExp: (CHARSCon: #\~))))))))))
(Match: (Mrule: (ATPat: (IDAtPat: (LongVId: false))) (ATExp: (IDAtExp: (LongVId: false)))))))))
(PARAtExp:
(ATExp:
(PARAtExp:
(APPExp:
(ATExp: (IDAtExp: (LongVId: <=)))
(RECORDAtExp:
(ExpRow:
(Lab: |1|)
(ATExp: (SCONAtExp: (CHARSCon: #\space)))
(ExpRow: (Lab: |2|) (ATExp: (IDAtExp: (LongVId: c))))))))))))))))))))))
(PARAtExp: (ATExp: (IDAtExp: (LongVId: c))))))))))
(PARAtExp: (ATExp: (PARAtExp: (ATExp: (IDAtExp: (LongVId: _id10594))))))))))))))))
(SEQStrDec:
(SEQStrDec: (EMPTYStrDec:) (EMPTYStrDec:))
(SEQStrDec:
(DECStrDec:
(VALDec:
(TyVarseq:)
(RECValBind:
(PLAINValBind:
(ATPat: (IDAtPat: (LongVId: |fromCescape'|)))
(FNExp:
(Match:
(Mrule:
(ATPat: (IDAtPat: (LongVId: _id10600)))
(FNExp:
(Match:
(Mrule:
(ATPat: (IDAtPat: (LongVId: _id10601)))
(APPExp:
(ATExp:
(PARAtExp:
(FNExp:
(Match:
(Mrule:
(ATPat:
(RECORDAtPat:
(FIELDPatRow:
(Lab: |1|)
(ATPat: (IDAtPat: (LongVId: getc)))
(FIELDPatRow: (Lab: |2|) (ATPat: (IDAtPat: (LongVId: src)))))))
(ATExp:
(LETAtExp:
(SEQDec:
(VALDec:
(TyVarseq:)
(RECValBind:
(PLAINValBind:
(ATPat: (IDAtPat: (LongVId: fromHex)))
(FNExp:
(Match:
(Mrule:
(ATPat: (IDAtPat: (LongVId: _id10595)))
(FNExp:
(Match:
(Mrule:
(ATPat: (IDAtPat: (LongVId: _id10596)))
(APPExp:
(ATExp:
(PARAtExp:
(FNExp:
(Match:
(Mrule:
(ATPat:
(RECORDAtPat:
(FIELDPatRow:
(Lab: |1|)
(ATPat: (IDAtPat: (LongVId: src)))
(FIELDPatRow: (Lab: |2|) (ATPat: (IDAtPat: (LongVId: code)))))))
(APPExp:
(ATExp:
(PARAtExp:
(FNExp:
(Match:
(Mrule:
(ATPat: (IDAtPat: (LongVId: NONE)))
(ATExp:
(RECORDAtExp:
(ExpRow:
(Lab: |1|)
(ATExp: (PARAtExp: (APPExp: (ATExp: (IDAtExp: (LongVId: chr))) (IDAtExp: (LongVId: code)))))
(ExpRow: (Lab: |2|) (ATExp: (IDAtExp: (LongVId: src))))))))
(Match:
(Mrule:
(ATPat:
(PARAtPat:
(CONPat:
(LongVId: SOME)
(RECORDAtPat:
(FIELDPatRow:
(Lab: |1|)
(ATPat: (IDAtPat: (LongVId: c)))
(FIELDPatRow: (Lab: |2|) (ATPat: (IDAtPat: (LongVId: rest)))))))))
(APPExp:
(ATExp:
(PARAtExp:
(FNExp:
(Match:
(Mrule:
(ATPat: (IDAtPat: (LongVId: true)))
(ATExp:
(PARAtExp:
(APPExp:
(ATExp:
(PARAtExp:
(APPExp: (ATExp: (IDAtExp: (LongVId: fromHex))) (IDAtExp: (LongVId: rest)))))
(PARAtExp:
(ATExp:
(PARAtExp:
(APPExp:
(ATExp: (IDAtExp: (LongVId: +)))
(RECORDAtExp:
(ExpRow:
(Lab: |1|)
(ATExp:
(PARAtExp:
(APPExp:
(ATExp: (IDAtExp: (LongVId: *)))
(RECORDAtExp:
(ExpRow:
(Lab: |1|)
(ATExp: (IDAtExp: (LongVId: code)))
(ExpRow: (Lab: |2|) (ATExp: (SCONAtExp: (INTSCon: 16)))))))))
(ExpRow:
(Lab: |2|)
(ATExp:
(PARAtExp:
(APPExp:
(ATExp: (IDAtExp: (LongVId: hexval)))
(IDAtExp: (LongVId: c))))))))))))))))
(Match:
(Mrule:
(ATPat: (IDAtPat: (LongVId: false)))
(ATExp:
(RECORDAtExp:
(ExpRow:
(Lab: |1|)
(ATExp:
(PARAtExp: (APPExp: (ATExp: (IDAtExp: (LongVId: chr))) (IDAtExp: (LongVId: code)))))
(ExpRow: (Lab: |2|) (ATExp: (IDAtExp: (LongVId: src)))))))))))))
(PARAtExp:
(ATExp:
(PARAtExp:
(APPExp: (ATExp: (IDAtExp: (LongVId: isHexDigit))) (IDAtExp: (LongVId: c)))))))))))))
(PARAtExp:
(ATExp: (PARAtExp: (APPExp: (ATExp: (IDAtExp: (LongVId: getc))) (IDAtExp: (LongVId: src))))))))))))
(PARAtExp:
(ATExp:
(RECORDAtExp:
(ExpRow:
(Lab: |1|)
(ATExp: (IDAtExp: (LongVId: _id10595)))
(ExpRow: (Lab: |2|) (ATExp: (IDAtExp: (LongVId: _id10596))))))))))))))))))
(SEQDec:
(VALDec:
(TyVarseq:)
(RECValBind:
(PLAINValBind:
(ATPat: (IDAtPat: (LongVId: octalOpt)))
(FNExp:
(Match:
(Mrule:
(ATPat: (IDAtPat: (LongVId: _id10597)))
(FNExp:
(Match:
(Mrule:
(ATPat: (IDAtPat: (LongVId: _id10598)))
(FNExp:
(Match:
(Mrule:
(ATPat: (IDAtPat: (LongVId: _id10599)))
(APPExp:
(ATExp:
(PARAtExp:
(FNExp:
(Match:
(Mrule:
(ATPat:
(RECORDAtPat:
(FIELDPatRow:
(Lab: |1|)
(ATPat: (IDAtPat: (LongVId: cont)))
(FIELDPatRow:
(Lab: |2|)
(ATPat: (IDAtPat: (LongVId: src)))
(FIELDPatRow: (Lab: |3|) (ATPat: (IDAtPat: (LongVId: code))))))))
(APPExp:
(ATExp:
(PARAtExp:
(FNExp:
(Match:
(Mrule:
(ATPat: (IDAtPat: (LongVId: NONE)))
(ATExp:
(RECORDAtExp:
(ExpRow:
(Lab: |1|)
(ATExp:
(PARAtExp: (APPExp: (ATExp: (IDAtExp: (LongVId: chr))) (IDAtExp: (LongVId: code)))))
(ExpRow: (Lab: |2|) (ATExp: (IDAtExp: (LongVId: src))))))))
(Match:
(Mrule:
(ATPat:
(PARAtPat:
(CONPat:
(LongVId: SOME)
(RECORDAtPat:
(FIELDPatRow:
(Lab: |1|)
(ATPat: (IDAtPat: (LongVId: c)))
(FIELDPatRow: (Lab: |2|) (ATPat: (IDAtPat: (LongVId: rest)))))))))
(APPExp:
(ATExp:
(PARAtExp:
(FNExp:
(Match:
(Mrule:
(ATPat: (IDAtPat: (LongVId: true)))
(ATExp:
(PARAtExp:
(APPExp:
(ATExp:
(PARAtExp:
(APPExp: (ATExp: (IDAtExp: (LongVId: cont))) (IDAtExp: (LongVId: rest)))))
(PARAtExp:
(ATExp:
(PARAtExp:
(APPExp:
(ATExp: (IDAtExp: (LongVId: -)))
(RECORDAtExp:
(ExpRow:
(Lab: |1|)
(ATExp:
(PARAtExp:
(APPExp:
(ATExp: (IDAtExp: (LongVId: +)))
(RECORDAtExp:
(ExpRow:
(Lab: |1|)
(ATExp:
(PARAtExp:
(APPExp:
(ATExp: (IDAtExp: (LongVId: *)))
(RECORDAtExp:
(ExpRow:
(Lab: |1|)
(ATExp: (IDAtExp: (LongVId: code)))
(ExpRow: (Lab: |2|) (ATExp: (SCONAtExp: (INTSCon: 8)))))))))
(ExpRow:
(Lab: |2|)
(ATExp:
(PARAtExp:
(APPExp:
(ATExp: (IDAtExp: (LongVId: ord_)))
(IDAtExp: (LongVId: c)))))))))))
(ExpRow: (Lab: |2|) (ATExp: (SCONAtExp: (INTSCon: 48))))))))))))))
(Match:
(Mrule:
(ATPat: (IDAtPat: (LongVId: false)))
(ATExp:
(RECORDAtExp:
(ExpRow:
(Lab: |1|)
(ATExp:
(PARAtExp:
(APPExp: (ATExp: (IDAtExp: (LongVId: chr))) (IDAtExp: (LongVId: code)))))
(ExpRow: (Lab: |2|) (ATExp: (IDAtExp: (LongVId: src)))))))))))))
(PARAtExp:
(APPExp:
(ATExp:
(PARAtExp:
(FNExp:
(Match:
(Mrule:
(ATPat: (IDAtPat: (LongVId: true)))
(ATExp:
(PARAtExp:
(APPExp:
(ATExp: (IDAtExp: (LongVId: <=)))
(RECORDAtExp:
(ExpRow:
(Lab: |1|)
(ATExp: (IDAtExp: (LongVId: c)))
(ExpRow: (Lab: |2|) (ATExp: (SCONAtExp: (CHARSCon: #\7))))))))))
(Match:
(Mrule:
(ATPat: (IDAtPat: (LongVId: false)))
(ATExp: (IDAtExp: (LongVId: false)))))))))
(PARAtExp:
(ATExp:
(PARAtExp:
(APPExp:
(ATExp: (IDAtExp: (LongVId: <=)))
(RECORDAtExp:
(ExpRow:
(Lab: |1|)
(ATExp: (SCONAtExp: (CHARSCon: #\0)))
(ExpRow: (Lab: |2|) (ATExp: (IDAtExp: (LongVId: c)))))))))))))))))))
(PARAtExp:
(ATExp:
(PARAtExp: (APPExp: (ATExp: (IDAtExp: (LongVId: getc))) (IDAtExp: (LongVId: src))))))))))))
(PARAtExp:
(ATExp:
(RECORDAtExp:
(ExpRow:
(Lab: |1|)
(ATExp: (IDAtExp: (LongVId: _id10597)))
(ExpRow:
(Lab: |2|)
(ATExp: (IDAtExp: (LongVId: _id10598)))
(ExpRow: (Lab: |3|) (ATExp: (IDAtExp: (LongVId: _id10599))))))))))))))))))))))
(VALDec:
(TyVarseq:)
(PLAINValBind:
(ATPat: (IDAtPat: (LongVId: fromOct)))
(ATExp:
(PARAtExp:
(APPExp:
(ATExp: (IDAtExp: (LongVId: octalOpt)))
(PARAtExp:
(ATExp:
(PARAtExp:
(APPExp:
(ATExp: (IDAtExp: (LongVId: octalOpt)))
(PARAtExp:
(FNExp:
(Match:
(Mrule:
(ATPat: (IDAtPat: (LongVId: src)))
(FNExp:
(Match:
(Mrule:
(ATPat: (IDAtPat: (LongVId: code)))
(ATExp:
(RECORDAtExp:
(ExpRow:
(Lab: |1|)
(ATExp: (PARAtExp: (APPExp: (ATExp: (IDAtExp: (LongVId: chr))) (IDAtExp: (LongVId: code)))))
(ExpRow: (Lab: |2|) (ATExp: (IDAtExp: (LongVId: src)))))))))))))))))))))))))
(APPExp:
(ATExp:
(PARAtExp:
(FNExp:
(Match:
(Mrule: (ATPat: (IDAtPat: (LongVId: NONE))) (RAISEExp: (ATExp: (IDAtExp: (LongVId: BadEscape)))))
(Match:
(Mrule:
(ATPat:
(PARAtPat:
(CONPat:
(LongVId: SOME)
(RECORDAtPat:
(FIELDPatRow:
(Lab: |1|)
(ATPat: (SCONAtPat: (CHARSCon: #\n)))
(FIELDPatRow: (Lab: |2|) (ATPat: (IDAtPat: (LongVId: src1)))))))))
(ATExp:
(RECORDAtExp:
(ExpRow:
(Lab: |1|)
(ATExp: (SCONAtExp: (CHARSCon: #\newline)))
(ExpRow: (Lab: |2|) (ATExp: (IDAtExp: (LongVId: src1))))))))
(Match:
(Mrule:
(ATPat:
(PARAtPat:
(CONPat:
(LongVId: SOME)
(RECORDAtPat:
(FIELDPatRow:
(Lab: |1|)
(ATPat: (SCONAtPat: (CHARSCon: #\r)))
(FIELDPatRow: (Lab: |2|) (ATPat: (IDAtPat: (LongVId: src1)))))))))
(ATExp:
(RECORDAtExp:
(ExpRow:
(Lab: |1|)
(ATExp: (SCONAtExp: (CHARSCon: #\return)))
(ExpRow: (Lab: |2|) (ATExp: (IDAtExp: (LongVId: src1))))))))
(Match:
(Mrule:
(ATPat:
(PARAtPat:
(CONPat:
(LongVId: SOME)
(RECORDAtPat:
(FIELDPatRow:
(Lab: |1|)
(ATPat: (SCONAtPat: (CHARSCon: #\t)))
(FIELDPatRow: (Lab: |2|) (ATPat: (IDAtPat: (LongVId: src1)))))))))
(ATExp:
(RECORDAtExp:
(ExpRow:
(Lab: |1|)
(ATExp: (SCONAtExp: (CHARSCon: #\tab)))
(ExpRow: (Lab: |2|) (ATExp: (IDAtExp: (LongVId: src1))))))))
(Match:
(Mrule:
(ATPat:
(PARAtPat:
(CONPat:
(LongVId: SOME)
(RECORDAtPat:
(FIELDPatRow:
(Lab: |1|)
(ATPat: (SCONAtPat: (CHARSCon: #\v)))
(FIELDPatRow: (Lab: |2|) (ATPat: (IDAtPat: (LongVId: src1)))))))))
(ATExp:
(RECORDAtExp:
(ExpRow:
(Lab: |1|)
(ATExp: (SCONAtExp: (CHARSCon: #\vtab)))
(ExpRow: (Lab: |2|) (ATExp: (IDAtExp: (LongVId: src1))))))))
(Match:
(Mrule:
(ATPat:
(PARAtPat:
(CONPat:
(LongVId: SOME)
(RECORDAtPat:
(FIELDPatRow:
(Lab: |1|)
(ATPat: (SCONAtPat: (CHARSCon: #\b)))
(FIELDPatRow: (Lab: |2|) (ATPat: (IDAtPat: (LongVId: src1)))))))))
(ATExp:
(RECORDAtExp:
(ExpRow:
(Lab: |1|)
(ATExp: (SCONAtExp: (CHARSCon: #\backspace)))
(ExpRow: (Lab: |2|) (ATExp: (IDAtExp: (LongVId: src1))))))))
(Match:
(Mrule:
(ATPat:
(PARAtPat:
(CONPat:
(LongVId: SOME)
(RECORDAtPat:
(FIELDPatRow:
(Lab: |1|)
(ATPat: (SCONAtPat: (CHARSCon: #\f)))
(FIELDPatRow: (Lab: |2|) (ATPat: (IDAtPat: (LongVId: src1)))))))))
(ATExp:
(RECORDAtExp:
(ExpRow:
(Lab: |1|)
(ATExp: (SCONAtExp: (CHARSCon: #\page)))
(ExpRow: (Lab: |2|) (ATExp: (IDAtExp: (LongVId: src1))))))))
(Match:
(Mrule:
(ATPat:
(PARAtPat:
(CONPat:
(LongVId: SOME)
(RECORDAtPat:
(FIELDPatRow:
(Lab: |1|)
(ATPat: (SCONAtPat: (CHARSCon: #\a)))
(FIELDPatRow: (Lab: |2|) (ATPat: (IDAtPat: (LongVId: src1)))))))))
(ATExp:
(RECORDAtExp:
(ExpRow:
(Lab: |1|)
(ATExp: (SCONAtExp: (CHARSCon: #\u0007)))
(ExpRow: (Lab: |2|) (ATExp: (IDAtExp: (LongVId: src1))))))))
(Match:
(Mrule:
(ATPat:
(PARAtPat:
(CONPat:
(LongVId: SOME)
(RECORDAtPat:
(FIELDPatRow:
(Lab: |1|)
(ATPat: (SCONAtPat: (CHARSCon: #\\)))
(FIELDPatRow: (Lab: |2|) (ATPat: (IDAtPat: (LongVId: src1)))))))))
(ATExp:
(RECORDAtExp:
(ExpRow:
(Lab: |1|)
(ATExp: (SCONAtExp: (CHARSCon: #\\)))
(ExpRow: (Lab: |2|) (ATExp: (IDAtExp: (LongVId: src1))))))))
(Match:
(Mrule:
(ATPat:
(PARAtPat:
(CONPat:
(LongVId: SOME)
(RECORDAtPat:
(FIELDPatRow:
(Lab: |1|)
(ATPat: (SCONAtPat: (CHARSCon: #\?)))
(FIELDPatRow: (Lab: |2|) (ATPat: (IDAtPat: (LongVId: src1)))))))))
(ATExp:
(RECORDAtExp:
(ExpRow:
(Lab: |1|)
(ATExp: (SCONAtExp: (CHARSCon: #\?)))
(ExpRow: (Lab: |2|) (ATExp: (IDAtExp: (LongVId: src1))))))))
(Match:
(Mrule:
(ATPat:
(PARAtPat:
(CONPat:
(LongVId: SOME)
(RECORDAtPat:
(FIELDPatRow:
(Lab: |1|)
(ATPat: (SCONAtPat: (CHARSCon: #\')))
(FIELDPatRow: (Lab: |2|) (ATPat: (IDAtPat: (LongVId: src1)))))))))
(ATExp:
(RECORDAtExp:
(ExpRow:
(Lab: |1|)
(ATExp: (SCONAtExp: (CHARSCon: #\')))
(ExpRow: (Lab: |2|) (ATExp: (IDAtExp: (LongVId: src1))))))))
(Match:
(Mrule:
(ATPat:
(PARAtPat:
(CONPat:
(LongVId: SOME)
(RECORDAtPat:
(FIELDPatRow:
(Lab: |1|)
(ATPat: (SCONAtPat: (CHARSCon: #\")))
(FIELDPatRow: (Lab: |2|) (ATPat: (IDAtPat: (LongVId: src1)))))))))
(ATExp:
(RECORDAtExp:
(ExpRow:
(Lab: |1|)
(ATExp: (SCONAtExp: (CHARSCon: #\")))
(ExpRow: (Lab: |2|) (ATExp: (IDAtExp: (LongVId: src1))))))))
(Match:
(Mrule:
(ATPat:
(PARAtPat:
(CONPat:
(LongVId: SOME)
(RECORDAtPat:
(FIELDPatRow:
(Lab: |1|)
(ATPat: (SCONAtPat: (CHARSCon: #\x)))
(FIELDPatRow: (Lab: |2|) (ATPat: (IDAtPat: (LongVId: src1)))))))))
(ATExp:
(PARAtExp:
(APPExp:
(ATExp:
(PARAtExp:
(FNExp:
(Match:
(Mrule:
(ATPat: (IDAtPat: (LongVId: NONE)))
(RAISEExp: (ATExp: (IDAtExp: (LongVId: BadEscape)))))
(Match:
(Mrule:
(ATPat:
(PARAtPat:
(CONPat:
(LongVId: SOME)
(RECORDAtPat:
(FIELDPatRow:
(Lab: |1|)
(ATPat: (IDAtPat: (LongVId: c)))
(FIELDPatRow: (Lab: |2|) (ATPat: (IDAtPat: (LongVId: src2)))))))))
(APPExp:
(ATExp:
(PARAtExp:
(FNExp:
(Match:
(Mrule:
(ATPat: (IDAtPat: (LongVId: true)))
(ATExp:
(PARAtExp:
(APPExp:
(ATExp:
(PARAtExp:
(APPExp: (ATExp: (IDAtExp: (LongVId: fromHex))) (IDAtExp: (LongVId: src2)))))
(PARAtExp:
(ATExp:
(PARAtExp:
(APPExp: (ATExp: (IDAtExp: (LongVId: hexval))) (IDAtExp: (LongVId: c))))))))))
(Match:
(Mrule:
(ATPat: (IDAtPat: (LongVId: false)))
(RAISEExp: (ATExp: (IDAtExp: (LongVId: BadEscape))))))))))
(PARAtExp:
(ATExp:
(PARAtExp:
(APPExp: (ATExp: (IDAtExp: (LongVId: isHexDigit))) (IDAtExp: (LongVId: c)))))))))))))
(PARAtExp:
(ATExp: (PARAtExp: (APPExp: (ATExp: (IDAtExp: (LongVId: getc))) (IDAtExp: (LongVId: src1))))))))))
(Match:
(Mrule:
(ATPat:
(PARAtPat:
(CONPat:
(LongVId: SOME)
(RECORDAtPat:
(FIELDPatRow:
(Lab: |1|)
(ATPat: (IDAtPat: (LongVId: c)))
(FIELDPatRow: (Lab: |2|) (ATPat: (IDAtPat: (LongVId: src1)))))))))
(APPExp:
(ATExp:
(PARAtExp:
(FNExp:
(Match:
(Mrule:
(ATPat: (IDAtPat: (LongVId: true)))
(ATExp:
(PARAtExp:
(APPExp:
(ATExp:
(PARAtExp: (APPExp: (ATExp: (IDAtExp: (LongVId: fromOct))) (IDAtExp: (LongVId: src1)))))
(PARAtExp:
(ATExp:
(PARAtExp: (APPExp: (ATExp: (IDAtExp: (LongVId: decval))) (IDAtExp: (LongVId: c))))))))))
(Match:
(Mrule:
(ATPat: (IDAtPat: (LongVId: false)))
(RAISEExp: (ATExp: (IDAtExp: (LongVId: BadEscape))))))))))
(PARAtExp:
(ATExp:
(PARAtExp:
(APPExp: (ATExp: (IDAtExp: (LongVId: isOctDigit))) (IDAtExp: (LongVId: c)))))))))))))))))))))))))
(PARAtExp: (ATExp: (PARAtExp: (APPExp: (ATExp: (IDAtExp: (LongVId: getc))) (IDAtExp: (LongVId: src))))))))))))))
(PARAtExp:
(ATExp:
(RECORDAtExp:
(ExpRow:
(Lab: |1|)
(ATExp: (IDAtExp: (LongVId: _id10600)))
(ExpRow: (Lab: |2|) (ATExp: (IDAtExp: (LongVId: _id10601)))))))))))))))))))
(SEQStrDec:
(DECStrDec:
(VALDec:
(TyVarseq:)
(RECValBind:
(PLAINValBind:
(ATPat: (IDAtPat: (LongVId: fromCescape)))
(FNExp:
(Match:
(Mrule:
(ATPat: (IDAtPat: (LongVId: _id10602)))
(FNExp:
(Match:
(Mrule:
(ATPat: (IDAtPat: (LongVId: _id10603)))
(APPExp:
(ATExp:
(PARAtExp:
(FNExp:
(Match:
(Mrule:
(ATPat:
(RECORDAtPat:
(FIELDPatRow:
(Lab: |1|)
(ATPat: (IDAtPat: (LongVId: getc)))
(FIELDPatRow: (Lab: |2|) (ATPat: (IDAtPat: (LongVId: src)))))))
(HANDLEExp:
(ATExp:
(PARAtExp:
(APPExp:
(ATExp: (IDAtExp: (LongVId: SOME)))
(PARAtExp:
(ATExp:
(PARAtExp:
(APPExp:
(ATExp: (PARAtExp: (APPExp: (ATExp: (IDAtExp: (LongVId: |fromCescape'|))) (IDAtExp: (LongVId: getc)))))
(IDAtExp: (LongVId: src)))))))))
(Match:
(Mrule: (ATPat: (IDAtPat: (LongVId: BadEscape))) (ATExp: (IDAtExp: (LongVId: NONE))))
(Match: (Mrule: (ATPat: (IDAtPat: (LongVId: Overflow))) (ATExp: (IDAtExp: (LongVId: NONE))))))))))))
(PARAtExp:
(ATExp:
(RECORDAtExp:
(ExpRow:
(Lab: |1|)
(ATExp: (IDAtExp: (LongVId: _id10602)))
(ExpRow: (Lab: |2|) (ATExp: (IDAtExp: (LongVId: _id10603)))))))))))))))))))
(DECStrDec:
(VALDec:
(TyVarseq:)
(RECValBind:
(PLAINValBind:
(ATPat: (IDAtPat: (LongVId: fromCString)))
(FNExp:
(Match:
(Mrule:
(ATPat: (IDAtPat: (LongVId: _id10612)))
(APPExp:
(ATExp:
(PARAtExp:
(FNExp:
(Match:
(Mrule:
(ATPat: (PARAtPat: (ATPat: (IDAtPat: (LongVId: s)))))
(ATExp:
(LETAtExp:
(SEQDec:
(SEQDec:
(VALDec:
(TyVarseq:)
(RECValBind:
(PLAINValBind:
(ATPat: (IDAtPat: (LongVId: getc)))
(FNExp:
(Match:
(Mrule:
(ATPat: (IDAtPat: (LongVId: _id10604)))
(APPExp:
(ATExp:
(PARAtExp:
(FNExp:
(Match:
(Mrule:
(ATPat: (PARAtPat: (ATPat: (IDAtPat: (LongVId: i)))))
(APPExp:
(ATExp:
(PARAtExp:
(FNExp:
(Match:
(Mrule:
(ATPat: (IDAtPat: (LongVId: true)))
(ATExp:
(PARAtExp:
(APPExp:
(ATExp: (IDAtExp: (LongVId: SOME)))
(RECORDAtExp:
(ExpRow:
(Lab: |1|)
(ATExp:
(PARAtExp:
(APPExp:
(ATExp: (PARAtExp: (APPExp: (ATExp: (IDAtExp: (LongVId: sub_))) (IDAtExp: (LongVId: s)))))
(IDAtExp: (LongVId: i)))))
(ExpRow:
(Lab: |2|)
(ATExp:
(PARAtExp:
(APPExp:
(ATExp: (IDAtExp: (LongVId: +)))
(RECORDAtExp:
(ExpRow:
(Lab: |1|)
(ATExp: (IDAtExp: (LongVId: i)))
(ExpRow: (Lab: |2|) (ATExp: (SCONAtExp: (INTSCon: 1))))))))))))))))
(Match: (Mrule: (ATPat: (IDAtPat: (LongVId: false))) (ATExp: (IDAtExp: (LongVId: NONE)))))))))
(PARAtExp:
(ATExp:
(PARAtExp:
(APPExp:
(ATExp: (IDAtExp: (LongVId: <)))
(RECORDAtExp:
(ExpRow:
(Lab: |1|)
(ATExp: (IDAtExp: (LongVId: i)))
(ExpRow:
(Lab: |2|)
(ATExp:
(PARAtExp: (APPExp: (ATExp: (IDAtExp: (LongVId: size))) (IDAtExp: (LongVId: s))))))))))))))))))
(PARAtExp: (ATExp: (PARAtExp: (ATExp: (IDAtExp: (LongVId: _id10604)))))))))))))
(SEQDec:
(VALDec:
(TyVarseq:)
(PLAINValBind:
(ATPat: (IDAtPat: (LongVId: max)))
(ATExp: (PARAtExp: (APPExp: (ATExp: (IDAtExp: (LongVId: ref))) (SCONAtExp: (INTSCon: 1)))))))
(SEQDec:
(VALDec:
(TyVarseq:)
(PLAINValBind:
(ATPat: (IDAtPat: (LongVId: tmp)))
(ATExp:
(PARAtExp:
(APPExp:
(ATExp: (IDAtExp: (LongVId: ref)))
(PARAtExp:
(ATExp:
(PARAtExp:
(APPExp:
(ATExp: (IDAtExp: (LongVId: mkstring_)))
(PARAtExp:
(ATExp: (PARAtExp: (APPExp: (ATExp: (IDAtExp: (LongVId: !))) (IDAtExp: (LongVId: max)))))))))))))))
(SEQDec:
(VALDec:
(TyVarseq:)
(RECValBind:
(PLAINValBind:
(ATPat: (IDAtPat: (LongVId: realloc)))
(FNExp:
(Match:
(Mrule:
(ATPat: (IDAtPat: (LongVId: _id10605)))
(APPExp:
(ATExp:
(PARAtExp:
(FNExp:
(Match:
(Mrule:
(ATPat: (PARAtPat: (ATPat: (RECORDAtPat:))))
(ATExp:
(LETAtExp:
(SEQDec:
(VALDec:
(TyVarseq:)
(PLAINValBind:
(ATPat: (IDAtPat: (LongVId: newmax)))
(ATExp:
(PARAtExp:
(APPExp:
(ATExp: (IDAtExp: (LongVId: *)))
(RECORDAtExp:
(ExpRow:
(Lab: |1|)
(ATExp: (SCONAtExp: (INTSCon: 2)))
(ExpRow:
(Lab: |2|)
(ATExp:
(PARAtExp: (APPExp: (ATExp: (IDAtExp: (LongVId: !))) (IDAtExp: (LongVId: max)))))))))))))
(VALDec:
(TyVarseq:)
(PLAINValBind:
(ATPat: (IDAtPat: (LongVId: newtmp)))
(ATExp:
(PARAtExp: (APPExp: (ATExp: (IDAtExp: (LongVId: mkstring_))) (IDAtExp: (LongVId: newmax))))))))
(ATExp:
(PARAtExp:
(APPExp:
(ATExp:
(PARAtExp:
(FNExp:
(Match:
(Mrule:
(ATPat: (WILDCARDAtPat:))
(APPExp:
(ATExp:
(PARAtExp:
(FNExp:
(Match:
(Mrule:
(ATPat: (WILDCARDAtPat:))
(ATExp:
(PARAtExp:
(APPExp:
(ATExp: (IDAtExp: (LongVId: :=)))
(RECORDAtExp:
(ExpRow:
(Lab: |1|)
(ATExp: (IDAtExp: (LongVId: tmp)))
(ExpRow: (Lab: |2|) (ATExp: (IDAtExp: (LongVId: newtmp))))))))))))))
(PARAtExp:
(ATExp:
(PARAtExp:
(APPExp:
(ATExp: (IDAtExp: (LongVId: :=)))
(RECORDAtExp:
(ExpRow:
(Lab: |1|)
(ATExp: (IDAtExp: (LongVId: max)))
(ExpRow: (Lab: |2|) (ATExp: (IDAtExp: (LongVId: newmax))))))))))))))))
(PARAtExp:
(ATExp:
(PARAtExp:
(APPExp:
(ATExp:
(PARAtExp:
(APPExp:
(ATExp:
(PARAtExp:
(APPExp:
(ATExp:
(PARAtExp:
(APPExp:
(ATExp:
(PARAtExp:
(APPExp:
(ATExp: (IDAtExp: (LongVId: blit_)))
(PARAtExp:
(ATExp:
(PARAtExp:
(APPExp: (ATExp: (IDAtExp: (LongVId: !))) (IDAtExp: (LongVId: tmp)))))))))
(SCONAtExp: (INTSCon: 0)))))
(IDAtExp: (LongVId: newtmp)))))
(SCONAtExp: (INTSCon: 0)))))
(PARAtExp:
(ATExp:
(PARAtExp:
(APPExp: (ATExp: (IDAtExp: (LongVId: !))) (IDAtExp: (LongVId: max))))))))))))))))))))
(PARAtExp: (ATExp: (PARAtExp: (ATExp: (IDAtExp: (LongVId: _id10605)))))))))))))
(VALDec:
(TyVarseq:)
(RECValBind:
(PLAINValBind:
(ATPat: (IDAtPat: (LongVId: sub_string_)))
(FNExp:
(Match:
(Mrule:
(ATPat: (IDAtPat: (LongVId: _id10606)))
(FNExp:
(Match:
(Mrule:
(ATPat: (IDAtPat: (LongVId: _id10607)))
(FNExp:
(Match:
(Mrule:
(ATPat: (IDAtPat: (LongVId: _id10608)))
(APPExp:
(ATExp:
(PARAtExp:
(FNExp:
(Match:
(Mrule:
(ATPat:
(RECORDAtPat:
(FIELDPatRow:
(Lab: |1|)
(ATPat: (IDAtPat: (LongVId: s)))
(FIELDPatRow:
(Lab: |2|)
(ATPat: (IDAtPat: (LongVId: start)))
(FIELDPatRow: (Lab: |3|) (ATPat: (IDAtPat: (LongVId: len))))))))
(ATExp:
(LETAtExp:
(VALDec:
(TyVarseq:)
(PLAINValBind:
(ATPat: (IDAtPat: (LongVId: res)))
(ATExp:
(PARAtExp: (APPExp: (ATExp: (IDAtExp: (LongVId: mkstring_))) (IDAtExp: (LongVId: len)))))))
(ATExp:
(PARAtExp:
(APPExp:
(ATExp:
(PARAtExp:
(FNExp: (Match: (Mrule: (ATPat: (WILDCARDAtPat:)) (ATExp: (IDAtExp: (LongVId: res))))))))
(PARAtExp:
(ATExp:
(PARAtExp:
(APPExp:
(ATExp:
(PARAtExp:
(APPExp:
(ATExp:
(PARAtExp:
(APPExp:
(ATExp:
(PARAtExp:
(APPExp:
(ATExp:
(PARAtExp:
(APPExp: (ATExp: (IDAtExp: (LongVId: blit_))) (IDAtExp: (LongVId: s)))))
(IDAtExp: (LongVId: start)))))
(IDAtExp: (LongVId: res)))))
(SCONAtExp: (INTSCon: 0)))))
(IDAtExp: (LongVId: len))))))))))))))))
(PARAtExp:
(ATExp:
(RECORDAtExp:
(ExpRow:
(Lab: |1|)
(ATExp: (IDAtExp: (LongVId: _id10606)))
(ExpRow:
(Lab: |2|)
(ATExp: (IDAtExp: (LongVId: _id10607)))
(ExpRow: (Lab: |3|) (ATExp: (IDAtExp: (LongVId: _id10608))))))))))))))))))))))))))
(SEQDec:
(SEQDec: (EMPTYDec:) (EMPTYDec:))
(VALDec:
(TyVarseq:)
(RECValBind:
(PLAINValBind:
(ATPat: (IDAtPat: (LongVId: h)))
(FNExp:
(Match:
(Mrule:
(ATPat: (IDAtPat: (LongVId: _id10610)))
(FNExp:
(Match:
(Mrule:
(ATPat: (IDAtPat: (LongVId: _id10611)))
(APPExp:
(ATExp:
(PARAtExp:
(FNExp:
(Match:
(Mrule:
(ATPat:
(RECORDAtPat:
(FIELDPatRow:
(Lab: |1|)
(ATPat: (IDAtPat: (LongVId: len)))
(FIELDPatRow: (Lab: |2|) (ATPat: (IDAtPat: (LongVId: src)))))))
(ATExp:
(LETAtExp:
(VALDec:
(TyVarseq:)
(RECValBind:
(PLAINValBind:
(ATPat: (IDAtPat: (LongVId: addchar)))
(FNExp:
(Match:
(Mrule:
(ATPat: (IDAtPat: (LongVId: _id10609)))
(APPExp:
(ATExp:
(PARAtExp:
(FNExp:
(Match:
(Mrule:
(ATPat: (PARAtPat: (ATPat: (IDAtPat: (LongVId: c)))))
(ATExp:
(PARAtExp:
(APPExp:
(ATExp:
(PARAtExp:
(FNExp:
(Match:
(Mrule:
(ATPat: (WILDCARDAtPat:))
(ATExp:
(PARAtExp:
(APPExp:
(ATExp:
(PARAtExp:
(APPExp:
(ATExp:
(PARAtExp:
(APPExp:
(ATExp: (IDAtExp: (LongVId: set_nth_)))
(PARAtExp:
(ATExp:
(PARAtExp:
(APPExp:
(ATExp: (IDAtExp: (LongVId: !)))
(IDAtExp: (LongVId: tmp)))))))))
(IDAtExp: (LongVId: len)))))
(IDAtExp: (LongVId: c))))))))))
(PARAtExp:
(APPExp:
(ATExp:
(PARAtExp:
(FNExp:
(Match:
(Mrule:
(ATPat: (IDAtPat: (LongVId: true)))
(ATExp:
(PARAtExp: (APPExp: (ATExp: (IDAtExp: (LongVId: realloc))) (RECORDAtExp:)))))
(Match: (Mrule: (ATPat: (IDAtPat: (LongVId: false))) (ATExp: (RECORDAtExp:))))))))
(PARAtExp:
(ATExp:
(PARAtExp:
(APPExp:
(ATExp: (IDAtExp: (LongVId: >=)))
(RECORDAtExp:
(ExpRow:
(Lab: |1|)
(ATExp: (IDAtExp: (LongVId: len)))
(ExpRow:
(Lab: |2|)
(ATExp:
(PARAtExp:
(APPExp:
(ATExp: (IDAtExp: (LongVId: !)))
(IDAtExp: (LongVId: max))))))))))))))))))))))
(PARAtExp: (ATExp: (PARAtExp: (ATExp: (IDAtExp: (LongVId: _id10609)))))))))))))
(APPExp:
(ATExp:
(PARAtExp:
(FNExp:
(Match:
(Mrule:
(ATPat: (IDAtPat: (LongVId: NONE)))
(ATExp:
(PARAtExp:
(APPExp:
(ATExp:
(PARAtExp:
(APPExp:
(ATExp:
(PARAtExp:
(APPExp:
(ATExp: (IDAtExp: (LongVId: sub_string_)))
(PARAtExp:
(ATExp:
(PARAtExp: (APPExp: (ATExp: (IDAtExp: (LongVId: !))) (IDAtExp: (LongVId: tmp)))))))))
(SCONAtExp: (INTSCon: 0)))))
(IDAtExp: (LongVId: len))))))
(Match:
(Mrule:
(ATPat:
(PARAtPat:
(CONPat:
(LongVId: SOME)
(RECORDAtPat:
(FIELDPatRow:
(Lab: |1|)
(ATPat: (SCONAtPat: (CHARSCon: #\\)))
(FIELDPatRow: (Lab: |2|) (ATPat: (IDAtPat: (LongVId: src1)))))))))
(ATExp:
(LETAtExp:
(VALDec:
(TyVarseq:)
(PLAINValBind:
(ATPat:
(RECORDAtPat:
(FIELDPatRow:
(Lab: |1|)
(ATPat: (IDAtPat: (LongVId: c)))
(FIELDPatRow: (Lab: |2|) (ATPat: (IDAtPat: (LongVId: src2)))))))
(ATExp:
(PARAtExp:
(APPExp:
(ATExp:
(PARAtExp:
(APPExp: (ATExp: (IDAtExp: (LongVId: |fromCescape'|))) (IDAtExp: (LongVId: getc)))))
(IDAtExp: (LongVId: src1)))))))
(ATExp:
(PARAtExp:
(APPExp:
(ATExp:
(PARAtExp:
(FNExp:
(Match:
(Mrule:
(ATPat: (WILDCARDAtPat:))
(ATExp:
(PARAtExp:
(APPExp:
(ATExp:
(PARAtExp:
(APPExp:
(ATExp: (IDAtExp: (LongVId: h)))
(PARAtExp:
(ATExp:
(PARAtExp:
(APPExp:
(ATExp: (IDAtExp: (LongVId: +)))
(RECORDAtExp:
(ExpRow:
(Lab: |1|)
(ATExp: (IDAtExp: (LongVId: len)))
(ExpRow: (Lab: |2|) (ATExp: (SCONAtExp: (INTSCon: 1)))))))))))))
(IDAtExp: (LongVId: src2))))))))))
(PARAtExp:
(ATExp:
(PARAtExp:
(APPExp: (ATExp: (IDAtExp: (LongVId: addchar))) (IDAtExp: (LongVId: c))))))))))))
(Match:
(Mrule:
(ATPat:
(PARAtPat:
(CONPat:
(LongVId: SOME)
(RECORDAtPat:
(FIELDPatRow:
(Lab: |1|)
(ATPat: (IDAtPat: (LongVId: c)))
(FIELDPatRow: (Lab: |2|) (ATPat: (IDAtPat: (LongVId: src1)))))))))
(ATExp:
(PARAtExp:
(APPExp:
(ATExp:
(PARAtExp:
(FNExp:
(Match:
(Mrule:
(ATPat: (WILDCARDAtPat:))
(ATExp:
(PARAtExp:
(APPExp:
(ATExp:
(PARAtExp:
(APPExp:
(ATExp: (IDAtExp: (LongVId: h)))
(PARAtExp:
(ATExp:
(PARAtExp:
(APPExp:
(ATExp: (IDAtExp: (LongVId: +)))
(RECORDAtExp:
(ExpRow:
(Lab: |1|)
(ATExp: (IDAtExp: (LongVId: len)))
(ExpRow: (Lab: |2|) (ATExp: (SCONAtExp: (INTSCon: 1)))))))))))))
(IDAtExp: (LongVId: src1))))))))))
(PARAtExp:
(ATExp:
(PARAtExp:
(APPExp: (ATExp: (IDAtExp: (LongVId: addchar))) (IDAtExp: (LongVId: c))))))))))))))))
(PARAtExp:
(ATExp: (PARAtExp: (APPExp: (ATExp: (IDAtExp: (LongVId: getc))) (IDAtExp: (LongVId: src))))))))))))))
(PARAtExp:
(ATExp:
(RECORDAtExp:
(ExpRow:
(Lab: |1|)
(ATExp: (IDAtExp: (LongVId: _id10610)))
(ExpRow: (Lab: |2|) (ATExp: (IDAtExp: (LongVId: _id10611))))))))))))))))))))
(HANDLEExp:
(ATExp:
(PARAtExp:
(APPExp:
(ATExp: (IDAtExp: (LongVId: SOME)))
(PARAtExp:
(ATExp:
(PARAtExp:
(APPExp:
(ATExp: (PARAtExp: (APPExp: (ATExp: (IDAtExp: (LongVId: h))) (SCONAtExp: (INTSCon: 0)))))
(SCONAtExp: (INTSCon: 0)))))))))
(Match:
(Mrule: (ATPat: (IDAtPat: (LongVId: BadEscape))) (ATExp: (IDAtExp: (LongVId: NONE))))
(Match: (Mrule: (ATPat: (IDAtPat: (LongVId: Overflow))) (ATExp: (IDAtExp: (LongVId: NONE))))))))))))))
(PARAtExp: (ATExp: (PARAtExp: (ATExp: (IDAtExp: (LongVId: _id10612)))))))))))))))))))))))))
(IDSigExp: (SigId: Strbase-sig))))))))))