Integer value:
int(Nr)
where Nr is an integer
Booleans:
pred_true pred_false
Enumerated or deferred set elements:
fd(Nr,Type)
where Nr is an integer >= 1 and Type is an atom representing the type of enumerated/deferred set
Strings
string(S)
where S is an atom
Pairs/couples
(Val1,Val2)
where Val1 and Val2 are values
Records
rec(Fields)
where Fields is a list:
field(Name,Val)
where Name is atom representing the field name and Val is a value.
The fields are sorted by name!
Sets
[] [Val|Set] avl_set(AVL) closure(P,T,B) global_set(GS) freetype(T)
Freetype values
freeval(Id,Case,Value)
An AST node has the form:
b(Expr,Type,Infos)
Infos should be a ground list of informations. Some important information fields are:
contains_wd_condition used_ids(Ids) nodeid(PositionInfo) refers_to_old_state(References)
Types are:
integer boolean string global(G) couple(T1,T2) record(FieldTypes) set(Type) seq(Type) freetype(F)
where FieldTypes is a list containing:
field(Name,Type)