module Ast: sig
.. end
type
typerep =
| |
IntType |
| |
FloatType |
| |
StringType |
| |
BoolType |
| |
RelationType of string |
| |
OtherType of string |
| |
Unknown |
type
binop =
| |
Plus |
| |
Minus |
| |
Times |
| |
Divide |
type
boolop =
| |
Equiv |
| |
Nequiv |
| |
Or |
| |
And |
| |
Lt |
| |
Lte |
| |
Gt |
| |
Gte |
type
primexp =
| |
Float of float |
| |
Integer of int |
| |
String of string |
| |
Bool of bool |
type
exp =
type
symexp =
type
constraintexp =
type
constraintvalue =
type
constraintbody =
type
var =
| |
Var of string |
| |
RecordIndexVar of string * string * int |
| |
IndexVar of string * string |
Data fields for a record (i.e. one line of a file).
type
datafields = exp MapUtils.StringMap.t
type
relation = datafields MapUtils.IntMap.t
type
stmt =
| |
AssignStmt of var * exp |
| |
Cond of exp * stmt list * stmt list |
| |
ForEachLoop of string * string * stmt list |
| |
Return of exp |
| |
Assert of exp |
| |
Assume of exp |
| |
Concretize of var |
| |
CRange of var |
type
userty = {
|
dataname : string ; |
|
fieldinfo : (string * bool * typerep) list ; |
}
type
fundecl = {
|
funname : string ; |
|
funargs : (string * typerep) list ; |
|
funbody : stmt list ; |
}
type
topdecl =