Module type PAst.ParserExpr

type texpr
type benv
type varname = string
type pexpr = (annotation, texpr, string, string, varname) t
type pat = (annotation, texpr, string, varname) pattern
module NameMap : Stdlib.Map.S with type key = string
type name_var_map = Mlsem_common.Variable.t NameMap.t
val empty_name_var_map : name_var_map
val to_expr : benv -> name_var_map -> pexpr -> expr * benv
type element =
  1. | Definitions of ((texpr, string) vdef * pexpr) list
  2. | SigDef of string * bool * texpr option
  3. | Types of (string * string list * texpr) list
  4. | AbsType of string * int
  5. | Command of string * Mlsem_lang.Const.t
type program = (annotation * element) list