12 Commits (7abe92dc0dad9a0531882ed64fcf3fd787dcba7e)

Author SHA1 Message Date
Nicolas Berthier 7abe92dc0d Adapt to new interface of reatk.ctrlNbac (≥ 0.14) 6 years ago
Nicolas Berthier 15b2c09425 Adapt to new interface of reatk.ctrlNbac (≥ 0.11) 7 years ago
Gwenaël Delaval e4f51fea68 Switch to non-deprecated String functions
Use of String.*_ascii non-deprecated versions.

NB: Heptagon becomes available only for Ocaml versions >= 4.03.0.
7 years ago
Gwenaël Delaval 0515cf4f80 Handling of implication operator in Ctrln back-end 7 years ago
Gwenaël Delaval 6c3caec234 Bug correction in ctrl2ept: no systematic conversion from int to float 7 years ago
Nicolas Berthier 755b570a96 Correct typing of numericals when translating Controllable-Nbac nodes
Without this change one could end up with inconsistent numerical types
when expressions like 1 + xx /. 3.0 >= 0 (with xx being a float), that
is correctly handled in ReaTK's frontend, are translated into the
heptagon's internal representation.
8 years ago
Nicolas Berthier 74b94c9718 Fix handling of nodes without actual controllers by ctrl2ept
These changes allow to handle the case where contracts are only used
for verification purposes, in which case the functions generated by
ReaX have no outputs and are not functions stricto sensu.  Indeed, in
this case the new controller module still needs to be declared and
compiled as we may have re-qualified types during the generation of
the Controllable-Nbac code: we moved all types declared in the
original module into the controller module to break cyclic module
dependencies that would otherwise be introduced if the controller is
expressed using data of such types.
9 years ago
Nicolas Berthier 307f3d8418 Controllable-Nbac import&export now support relocation of alias types.
- Controllable-Nbac export (CtrlNbacGen): correct handling of float
  expressions, as well as alias types;

- Controllable-Nbac controller importer (CtrlNbacAsEpt): Declaration
  of enumerated types and aliases that are relocated to controller
  modules is now performed based on the interface.  Dependencies
  between type aliases are also taken into account now;

- ctrl2ept tool: correct loading of pervasives module.
10 years ago
Nicolas Berthier cbcf8b9ac0 Using unqualified names for string representation of constructors in C backend.
+ minor modifications in various places.
10 years ago
Nicolas Berthier 39aa0e13c1 Ugly fix for handling enumerated types when exporting to Controllable-Nbac.
To avoid cyclic module dependencies (that show up when trying to
compile, e.g, the generated C code), enumerated types declared in the
main program are now "moved" into the module containing the generated
controllers.
10 years ago
Nicolas Berthier be21bf31d8 Insertion of call to controller(s) when exporting to Controllable-Nbac node.
To enable recovery of parameter and output ordering by `ctrl2ept', the
Controllable-Nbac generation procedure now declares a new module
dedicated to the encapsulation of the controller functions yet to be
synthesized.

Handling of type declarations are probably buggy.
10 years ago
Nicolas Berthier bc17d71e3f New tool `ctrl2ept' for translating ReaX's output functions into Heptagon
Compilation of the tool is dependent on the presence of the
`reatk.ctrlNbac' library.
10 years ago