module ADT:Register
(
Cil_datatype.Logic_type_info.Hashtbl
)
(
sig
typekey =
Cil_types.logic_type_info
typedata =
LogicId.id
val name :string
val reprs :LogicId.id list
val compile :Cil_types.logic_type_info -> LogicId.id
end
)
type
value =
| |
Data of |
| |
Error of |
| |
Locked |
module D:Datatype.Make
(
sig
include Datatype.Undefinedtypet =
ACSL.Register.value
val name :string
val reprs :ACSL.Register.value list
end
)
module H:State_builder.Hashtbl
(
K
)
(
D
)
(
sig
end
)
val get_value : H.key -> H.data
val obtain : H.key -> C.data
C.compile
. The compiler can not
be recursive. An exception during the compilation is
re-raised each time its value is requested.