Module BasilIR.AbsBasilIR
type bVTYPE = | BVTYPE of (int * int) * string
and iNTTYPE = | INTTYPE of (int * int) * string
and bOOLTYPE = | BOOLTYPE of (int * int) * string
and bIdent = | BIdent of (int * int) * string
and localIdent = | LocalIdent of (int * int) * string
and globalIdent = | GlobalIdent of (int * int) * string
and blockIdent = | BlockIdent of (int * int) * string
and procIdent = | ProcIdent of (int * int) * string
and beginList = | BeginList of (int * int) * string
and endList = | EndList of (int * int) * string
and beginRec = | BeginRec of (int * int) * string
and endRec = | EndRec of (int * int) * string
and lambdaSep = | LambdaSep of string
and str = | Str of string
and integerHex = | IntegerHex of (int * int) * string
and integerDec = | IntegerDec of (int * int) * string
and moduleT = | Module1 of decl list
and semicolons = | Semicolons_Empty| Semicolons_Some of semicolons
and intType = | IntType1 of iNTTYPE
and bVType = | BVType1 of bVTYPE
and endian = | Endian_Little| Endian_Big
and assignment = | Assignment1 of lVar * expr
and lVars = | LVars_Empty| LVars_LocalList of localVar list| LVars_List of lVar list
and jump = | Jump_GoTo of blockIdent list| Jump_Unreachable| Jump_Return of expr list
and attrKeyValue = | AttrKeyValue1 of bIdent * attr
and value = | Value_BV of bVVal| Value_Int of intVal| Value_True| Value_False
and unOp = | UnOpBVUnOp of bVUnOp| UnOp_boolnot| UnOp_intneg| UnOp_booltobv1
and eqOp = | EqOp_eq| EqOp_neq
and bVUnOp = | BVUnOp_bvnot| BVUnOp_bvneg
and bVBinOp = | BVBinOp_bvand| BVBinOp_bvor| BVBinOp_bvadd| BVBinOp_bvmul| BVBinOp_bvudiv| BVBinOp_bvurem| BVBinOp_bvshl| BVBinOp_bvlshr| BVBinOp_bvnand| BVBinOp_bvnor| BVBinOp_bvxor| BVBinOp_bvxnor| BVBinOp_bvcomp| BVBinOp_bvsub| BVBinOp_bvsdiv| BVBinOp_bvsrem| BVBinOp_bvsmod| BVBinOp_bvashr
and bVLogicalBinOp = | BVLogicalBinOp_bvule| BVLogicalBinOp_bvugt| BVLogicalBinOp_bvuge| BVLogicalBinOp_bvult| BVLogicalBinOp_bvslt| BVLogicalBinOp_bvsle| BVLogicalBinOp_bvsgt| BVLogicalBinOp_bvsge
and intBinOp = | IntBinOp_intadd| IntBinOp_intmul| IntBinOp_intsub| IntBinOp_intdiv| IntBinOp_intmod
and intLogicalBinOp = | IntLogicalBinOp_intlt| IntLogicalBinOp_intle| IntLogicalBinOp_intgt| IntLogicalBinOp_intge
and boolBinOp = | BoolBinOp_booland| BoolBinOp_boolor| BoolBinOp_boolimplies
and requireTok = | RequireTok_require| RequireTok_requires
and ensureTok = | EnsureTok_ensure| EnsureTok_ensures
and progSpec = | ProgSpec_Rely of expr| ProgSpec_Guarantee of expr