Dba.LValuetype t = private | Var of Var.t| Restrict of Var.t * int Interval.t| Store of size * Machine.endianness * Expr.t * string optionval size_of : t -> intsize_of lv yields the size of lv in bits *
val var : ?tag:Var.Tag.t -> bitsize:Size.Bit.t -> string -> tvar tag name ~size creates a DBA lvalue for a variable
val flag : ?bitsize:Size.Bit.t -> string -> tflag ~size fname creates a flag variable.
size defaults to 1val temporary : string -> Size.Bit.t -> tval _restrict : string -> Size.Bit.t -> int -> int -> tval _bit_restrict : string -> Size.Bit.t -> int -> t_restrict and _bit_restrict are deprecated. Use the other forms ** below.
val store : ?array:string -> Size.Byte.t -> Machine.endianness -> Expr.t -> tval temp : Size.Bit.t -> ttemp n creates a lvalue representing a temporary of size n with name Format.sprintf "temp%d" n.
val is_expr_translatable : Expr.t -> boolis_expr_translatable e returns true is the expression can have a valid lvalue translation
of_expr e translates an expression to its lvalue equivalent if possible.
Use is_expr_translatable e to check the feasability of this translation.
val bitsize : t -> Size.Bit.tbitsize lv returns the size in bits of lv.
val resize : Size.Bit.t -> t -> tresize bitsize lv patches the lvalue lv and gives it a size of bitsize.