package mopsa

  1. Overview
  2. Docs
Legend:
Page
Library
Module
Module type
Parameter
Class
Class type
Source

Module Variable_length_array.Domain

Domain header

*****************

include sig ... end
val id : unit Mopsa_analyzer__Framework__Core__Id.id
val name : string
val debug : ('a, Format.formatter, unit, unit) format4 -> 'a
val scalar : MopsaLib.route
val checks : MopsaLib.check list

Initialization

******************

val init : 'a -> 'b -> 'c -> 'd option

Variable-length auxiliary variable

**********************************

type MopsaLib.var_kind +=
  1. | V_c_variable_length of MopsaLib.var
val pp_variable_length : Format.formatter -> MopsaLib.var -> unit
val mk_variable_length_var : MopsaLib.var -> MopsaLib.var

Execution of statements

***************************

val get_array_length_expr : MopsaLib.var -> MopsaLib.expr

Get the length expression

Check whether the array size is non-negative

val exec_declare : MopsaLib.var -> Mopsa_utils.Core.Location.range -> ('a, 'b) MopsaLib.man -> 'a Core.Flow.flow -> ('a, unit) Core.Cases.cases

𝕊⟦ t arrn; ⟧

𝕊⟦ remove arr; ⟧

val exec : MopsaLib.stmt -> ('a, 'b) MopsaLib.man -> 'a Core.Flow.flow -> ('a, unit) Core.Cases.cases option

Evaluation of expressions

*****************************

𝔼⟦ bytes(arr) ⟧

val eval : MopsaLib.expr -> ('a, 'b) MopsaLib.man -> 'a Core.Flow.flow -> 'a Framework.Core.Eval.eval option

Handler of queries

**********************

val ask : 'a -> 'b -> 'c -> 'd option

Pretty printer

******************

val print_expr : 'a -> 'b -> 'c -> 'd -> unit