package goblint-cil

  1. Overview
  2. Docs

An Interpreter for constructing CIL constructs

val cExp : string -> (string * Cil.formatArg) list -> Cil.exp

Constructs an expression based on the program and the list of arguments. Each argument consists of a name followed by the actual data. This argument will be placed instead of occurrences of "%v:name" in the pattern (where the "v" is dependent on the type of the data). The parsing of the string is memoized. * Only the first expression is parsed.

val cLval : string -> (string * Cil.formatArg) list -> Cil.lval

Constructs an lval based on the program and the list of arguments. Only the first lvalue is parsed. The parsing of the string is memoized.

val cType : string -> (string * Cil.formatArg) list -> Cil.typ

Constructs a type based on the program and the list of arguments. Only the first type is parsed. The parsing of the string is memoized.

val cInstr : string -> Cil.location -> (string * Cil.formatArg) list -> Cil.instr

Constructs an instruction based on the program and the list of arguments. Only the first instruction is parsed. The parsing of the string is memoized.

val cStmt : string -> (string -> Cil.typ -> Cil.varinfo) -> Cil.location -> (string * Cil.formatArg) list -> Cil.stmt
val cStmts : string -> (string -> Cil.typ -> Cil.varinfo) -> Cil.location -> (string * Cil.formatArg) list -> Cil.stmt list

Constructs a list of statements

val dExp : string -> Cil.exp -> Cil.formatArg list option

Deconstructs an expression based on the program. Produces an optional list of format arguments. The parsing of the string is memoized.

val dLval : string -> Cil.lval -> Cil.formatArg list option

Deconstructs an lval based on the program. Produces an optional list of format arguments. The parsing of the string is memoized.

val dType : string -> Cil.typ -> Cil.formatArg list option

Deconstructs a type based on the program. Produces an optional list of format arguments. The parsing of the string is memoized.

val dInstr : string -> Cil.instr -> Cil.formatArg list option

Deconstructs an instruction based on the program. Produces an optional list of format arguments. The parsing of the string is memoized.

val noMemoize : bool Stdlib.ref

If set then will not memoize the parsed patterns

val test : unit -> unit

Just a testing function