BasilIR.ParBasilIR
type token =
| TOK_String of string
| TOK_Str of string
| TOK_ProcIdent of (int * int) * string
| TOK_LocalIdent of (int * int) * string
| TOK_LambdaSep of string
| TOK_IntegerHex of (int * int) * string
| TOK_IntegerDec of (int * int) * string
| TOK_Integer of int
| TOK_Ident of string
| TOK_INTTYPE of (int * int) * string
| TOK_GlobalIdent of (int * int) * string
| TOK_EndRec of (int * int) * string
| TOK_EndList of (int * int) * string
| TOK_EOF
| TOK_Double of float
| TOK_Char of char
| TOK_BlockIdent of (int * int) * string
| TOK_BeginRec of (int * int) * string
| TOK_BeginList of (int * int) * string
| TOK_BVTYPE of (int * int) * string
| TOK_BOOLTYPE of (int * int) * string
| TOK_BIdent of (int * int) * string
| SYMB9
| SYMB8
| SYMB7
| SYMB6
| SYMB5
| SYMB4
| SYMB3
| SYMB2
| SYMB10
| SYMB1
| KW_zero_extend
| KW_var
| KW_unreachable
| KW_true
| KW_store
| KW_sign_extend
| KW_return
| KW_requires
| KW_require
| KW_rely
| KW_prog
| KW_proc
| KW_old
| KW_neq
| KW_memory
| KW_load
| KW_le
| KW_invariant
| KW_intsub
| KW_intneg
| KW_intmul
| KW_intmod
| KW_intlt
| KW_intle
| KW_intgt
| KW_intge
| KW_intdiv
| KW_intadd
| KW_indirect
| KW_guard
| KW_guarantee
| KW_goto
| KW_forall
| KW_false
| KW_extract
| KW_exists
| KW_eq
| KW_entry
| KW_ensures
| KW_ensure
| KW_call
| KW_bvxor
| KW_bvxnor
| KW_bvurem
| KW_bvult
| KW_bvule
| KW_bvugt
| KW_bvuge
| KW_bvudiv
| KW_bvsub
| KW_bvsrem
| KW_bvsmod
| KW_bvslt
| KW_bvsle
| KW_bvshl
| KW_bvsgt
| KW_bvsge
| KW_bvsdiv
| KW_bvor
| KW_bvnot
| KW_bvnor
| KW_bvneg
| KW_bvnand
| KW_bvmul
| KW_bvlshr
| KW_bvconcat
| KW_bvcomp
| KW_bvashr
| KW_bvand
| KW_bvadd
| KW_booltobv1
| KW_boolor
| KW_boolnot
| KW_boolimplies
| KW_booland
| KW_block
| KW_be
| KW_axiom
| KW_assume
| KW_assert
val pValue :
(Stdlib.Lexing.lexbuf -> token) ->
Stdlib.Lexing.lexbuf ->
AbsBasilIR.value
val pUnOp :
(Stdlib.Lexing.lexbuf -> token) ->
Stdlib.Lexing.lexbuf ->
AbsBasilIR.unOp
val pTypeT_list :
(Stdlib.Lexing.lexbuf -> token) ->
Stdlib.Lexing.lexbuf ->
AbsBasilIR.typeT list
val pTypeT :
(Stdlib.Lexing.lexbuf -> token) ->
Stdlib.Lexing.lexbuf ->
AbsBasilIR.typeT
val pStmtWithAttrib_list :
(Stdlib.Lexing.lexbuf -> token) ->
Stdlib.Lexing.lexbuf ->
AbsBasilIR.stmtWithAttrib list
val pStmtWithAttrib :
(Stdlib.Lexing.lexbuf -> token) ->
Stdlib.Lexing.lexbuf ->
AbsBasilIR.stmtWithAttrib
val pStmt :
(Stdlib.Lexing.lexbuf -> token) ->
Stdlib.Lexing.lexbuf ->
AbsBasilIR.stmt
val pSemicolons :
(Stdlib.Lexing.lexbuf -> token) ->
Stdlib.Lexing.lexbuf ->
AbsBasilIR.semicolons
val pRequireTok :
(Stdlib.Lexing.lexbuf -> token) ->
Stdlib.Lexing.lexbuf ->
AbsBasilIR.requireTok
val pProgSpec_list :
(Stdlib.Lexing.lexbuf -> token) ->
Stdlib.Lexing.lexbuf ->
AbsBasilIR.progSpec list
val pProgSpec :
(Stdlib.Lexing.lexbuf -> token) ->
Stdlib.Lexing.lexbuf ->
AbsBasilIR.progSpec
val pProcDef :
(Stdlib.Lexing.lexbuf -> token) ->
Stdlib.Lexing.lexbuf ->
AbsBasilIR.procDef
val pParams_list :
(Stdlib.Lexing.lexbuf -> token) ->
Stdlib.Lexing.lexbuf ->
AbsBasilIR.params list
val pParams :
(Stdlib.Lexing.lexbuf -> token) ->
Stdlib.Lexing.lexbuf ->
AbsBasilIR.params
val pModuleT :
(Stdlib.Lexing.lexbuf -> token) ->
Stdlib.Lexing.lexbuf ->
AbsBasilIR.moduleT
val pMapType :
(Stdlib.Lexing.lexbuf -> token) ->
Stdlib.Lexing.lexbuf ->
AbsBasilIR.mapType
val pLocalVar_list :
(Stdlib.Lexing.lexbuf -> token) ->
Stdlib.Lexing.lexbuf ->
AbsBasilIR.localVar list
val pLocalVar :
(Stdlib.Lexing.lexbuf -> token) ->
Stdlib.Lexing.lexbuf ->
AbsBasilIR.localVar
val pLambdaDef :
(Stdlib.Lexing.lexbuf -> token) ->
Stdlib.Lexing.lexbuf ->
AbsBasilIR.lambdaDef
val pLVars :
(Stdlib.Lexing.lexbuf -> token) ->
Stdlib.Lexing.lexbuf ->
AbsBasilIR.lVars
val pLVar_list :
(Stdlib.Lexing.lexbuf -> token) ->
Stdlib.Lexing.lexbuf ->
AbsBasilIR.lVar list
val pLVar :
(Stdlib.Lexing.lexbuf -> token) ->
Stdlib.Lexing.lexbuf ->
AbsBasilIR.lVar
val pJumpWithAttrib :
(Stdlib.Lexing.lexbuf -> token) ->
Stdlib.Lexing.lexbuf ->
AbsBasilIR.jumpWithAttrib
val pJump :
(Stdlib.Lexing.lexbuf -> token) ->
Stdlib.Lexing.lexbuf ->
AbsBasilIR.jump
val pIntVal :
(Stdlib.Lexing.lexbuf -> token) ->
Stdlib.Lexing.lexbuf ->
AbsBasilIR.intVal
val pIntType :
(Stdlib.Lexing.lexbuf -> token) ->
Stdlib.Lexing.lexbuf ->
AbsBasilIR.intType
val pIntLogicalBinOp :
(Stdlib.Lexing.lexbuf -> token) ->
Stdlib.Lexing.lexbuf ->
AbsBasilIR.intLogicalBinOp
val pIntBinOp :
(Stdlib.Lexing.lexbuf -> token) ->
Stdlib.Lexing.lexbuf ->
AbsBasilIR.intBinOp
val pGlobalVar :
(Stdlib.Lexing.lexbuf -> token) ->
Stdlib.Lexing.lexbuf ->
AbsBasilIR.globalVar
val pFunSpec_list :
(Stdlib.Lexing.lexbuf -> token) ->
Stdlib.Lexing.lexbuf ->
AbsBasilIR.funSpec list
val pFunSpec :
(Stdlib.Lexing.lexbuf -> token) ->
Stdlib.Lexing.lexbuf ->
AbsBasilIR.funSpec
val pExpr_list :
(Stdlib.Lexing.lexbuf -> token) ->
Stdlib.Lexing.lexbuf ->
AbsBasilIR.expr list
val pExpr :
(Stdlib.Lexing.lexbuf -> token) ->
Stdlib.Lexing.lexbuf ->
AbsBasilIR.expr
val pEqOp :
(Stdlib.Lexing.lexbuf -> token) ->
Stdlib.Lexing.lexbuf ->
AbsBasilIR.eqOp
val pEnsureTok :
(Stdlib.Lexing.lexbuf -> token) ->
Stdlib.Lexing.lexbuf ->
AbsBasilIR.ensureTok
val pEndian :
(Stdlib.Lexing.lexbuf -> token) ->
Stdlib.Lexing.lexbuf ->
AbsBasilIR.endian
val pDecl_list :
(Stdlib.Lexing.lexbuf -> token) ->
Stdlib.Lexing.lexbuf ->
AbsBasilIR.decl list
val pDecl :
(Stdlib.Lexing.lexbuf -> token) ->
Stdlib.Lexing.lexbuf ->
AbsBasilIR.decl
val pBoolType :
(Stdlib.Lexing.lexbuf -> token) ->
Stdlib.Lexing.lexbuf ->
AbsBasilIR.boolType
val pBoolBinOp :
(Stdlib.Lexing.lexbuf -> token) ->
Stdlib.Lexing.lexbuf ->
AbsBasilIR.boolBinOp
val pBlock_list :
(Stdlib.Lexing.lexbuf -> token) ->
Stdlib.Lexing.lexbuf ->
AbsBasilIR.block list
val pBlockIdent_list :
(Stdlib.Lexing.lexbuf -> token) ->
Stdlib.Lexing.lexbuf ->
AbsBasilIR.blockIdent list
val pBlock :
(Stdlib.Lexing.lexbuf -> token) ->
Stdlib.Lexing.lexbuf ->
AbsBasilIR.block
val pBinOp :
(Stdlib.Lexing.lexbuf -> token) ->
Stdlib.Lexing.lexbuf ->
AbsBasilIR.binOp
val pBVVal :
(Stdlib.Lexing.lexbuf -> token) ->
Stdlib.Lexing.lexbuf ->
AbsBasilIR.bVVal
val pBVUnOp :
(Stdlib.Lexing.lexbuf -> token) ->
Stdlib.Lexing.lexbuf ->
AbsBasilIR.bVUnOp
val pBVType :
(Stdlib.Lexing.lexbuf -> token) ->
Stdlib.Lexing.lexbuf ->
AbsBasilIR.bVType
val pBVLogicalBinOp :
(Stdlib.Lexing.lexbuf -> token) ->
Stdlib.Lexing.lexbuf ->
AbsBasilIR.bVLogicalBinOp
val pBVBinOp :
(Stdlib.Lexing.lexbuf -> token) ->
Stdlib.Lexing.lexbuf ->
AbsBasilIR.bVBinOp
val pAttribSet :
(Stdlib.Lexing.lexbuf -> token) ->
Stdlib.Lexing.lexbuf ->
AbsBasilIR.attribSet
val pAttr_list :
(Stdlib.Lexing.lexbuf -> token) ->
Stdlib.Lexing.lexbuf ->
AbsBasilIR.attr list
val pAttrKeyValue_list :
(Stdlib.Lexing.lexbuf -> token) ->
Stdlib.Lexing.lexbuf ->
AbsBasilIR.attrKeyValue list
val pAttrKeyValue :
(Stdlib.Lexing.lexbuf -> token) ->
Stdlib.Lexing.lexbuf ->
AbsBasilIR.attrKeyValue
val pAttr :
(Stdlib.Lexing.lexbuf -> token) ->
Stdlib.Lexing.lexbuf ->
AbsBasilIR.attr
val pAssignment_list :
(Stdlib.Lexing.lexbuf -> token) ->
Stdlib.Lexing.lexbuf ->
AbsBasilIR.assignment list
val pAssignment :
(Stdlib.Lexing.lexbuf -> token) ->
Stdlib.Lexing.lexbuf ->
AbsBasilIR.assignment