Ada: - Correct the merge with lustrec-seal - Improve support for builtin function(still work to do) - Add generation of a gpr file for lib(without main). - Add var initialisation in the reset, still work to do.
Merging branches, disabling the specification print in Ada backend. Should be re-enabled at some point
Merge branch 'lustrec-seal' into ada
Merge branch 'salsa' into lustrec-seal
Better production of trace files.By default traces are not produced. Requires the option -t to produce them
Ada: Correct branch exporting to handle boolean match(using an ada if)
Ada: Improve input/output of main ada file
Ada: Add pretty printer for case
Some progress on compiling cocospec contract.Contract resolution still need to be done as well as dealing with the machine code level and so on.
Ada: Some indentation
Ada: Add generation of step calls and refactor prototypes and ads printing to handle staless instance.
Ada: Refactor the instantiation code and instance code, instead of passing the machine listto the pp_file and all subfunction in adb generation we pass a list of typed instance whichcontains the submachines directly with the instance name and the substitution.
Ada: Corrections of some bugs discovered with lustrec-tests
Ada: Add readers and printers for main.adb to match c tests.
Ada: Add the prefix ada for variable named with an Ada reserved name.
Ada: Correct contract printing
Ada: Correct the subcalls to reset for node with polymorphic type(like arrow)
Ada: Correct state print for variable assignement
Ada: Add a pp_with for general with ada statement
Ada: - Replace MStep and Mbranch output by Null to have compilable Ada. - Correct pp_value to print state access when the variable is memory
Ada: Removed useless function
ada: pretty print assignment statement for state
Ada: Start exporting spec
Merge branch 'ada' of https://cavale.enseeiht.fr/git/lustrec into ada
Ada: pretty printing functions for values and assignments in adb
Ada: Correct some errors on the type checking due to polymorphic type.
Ada: Removed from adb the print of clear and init.
Merge branch 'lustrec-seal' of https://cavale.enseeiht.fr/git/lustrec into ada
Ada: Change some loggging feature
Ada: Add new function to print package name from node spec to be called by adb backend.
Ada: Add support for arrows as an independent generic package, instantiated in each package using it. It required a lot of refactoring.
Ada: pretty printing of reset function
Ada: Remove generation of init and clear and some refactoring around prototype.
Ada Change private to limited private for State type package.
Ada: first pretty printing functions for adb
Ada: Temporary change
Ada: Add local variable declaration for step
Ada: Last correction was incorrect
Ada: Correct a bad copy-paste
Ada: Add the generation of the wrapper file : the main ada file and the project. It is calledonly if the main node option is given to lustrec. This feature implied some refactoring. Alsoadded some OCaml Doc to undocummented functions.
Ada: Add to the machine state all its subinstance states. Improve also identifier cleaning
Ada: Changed type name for states and normalized variable name to match ada requirements.
Ada: Add prototype of the four procedure in the adb generation
Ada: Add the state variable in the ads, type definition and as parameter of all procedure
Ada: Move some functions from ada_backend_ads.ml to ada_backend_common.ml
Ada: Remove useless comment
3 main modifications : - Create a new file : ada_backend_common.ml which contains all the function common to adb and ads. - Add comment to function - Generate the procedure prototype in the ads
Basic structure for Ada backend
Ada: skeletons for Ada compiler
Some progress on EMF bqckend. Refactoring machines code
Unevaluation of types and clocks dimension has been already performed before producing the lusic.
Added include directive that directly inject a lustre source file in the prog
- Dep type with a tuple has been replaced by a record type- Modules now is more integrated and performed the building of the type/clock env. previously some computation were performed twice by different functions. Some of these functions have been moved from compiler_common to modules
Merge branch 'unstable' into lustrec-seal
math fun lib support in MPFR
EMF export of local type definition (for simple types)
Pretty serious update:- a bug in regressio ntest Simulink/integrator_ext_IC_matrix_test revealed the following (serious issue): when building the list of instruction (in the machine code) the access to variable were hardcoded to LocalVar or StateVAr depending whether the variables was part of the identified memories....
Removed Contract contruct: imported node should be enough. Solved some warning at compile time
Byte/String bug reappeared
Merge branch 'master' of https://cavale.enseeiht.fr/git/lustrec
Solved bug#57: issues when indirect init of a pre in horn-traces
Merge branch 'vhdl' of https://cavale.enseeiht.fr/git/lustrec into lustrec-seal
Pom pom pom
Sample value for VHDL
Compiling - while doing nothing :)
Bootstrapping VHDL importer/exporter
strange bug (ill-typed source) wrt Bytes/String conversion
updated division for Horn clauses
corrected euclidean division in C code
Merge branch 'euclidean' of https://cavale.enseeiht.fr/git/lustrec into euclidean
introduced euclidean/C-like division in C code generation
Euclidean div/mod treatment in Horn backend
Issues with typing pp_basic_lib_fun
Tuning the pretty printing of Salsa plugin
Some progress on zustre2
Basic library printers moved into backend specific printer files
Further restructuring:- arrow.ml* to define basic builder for arrow (node, name, ...)- machine_code_common similar to corelang but for machine_code (printers, some builders, ...)- machine_code restricted to the translatation from normalized nodes to machines
MLI for normalization and machine_code.Structs defining machines are now in machine_code_types
- Makefile: solved dependency problem when compiling include lusi- Renamed type declarations as lustre_types and machine_code_types
ongoing work on zustre backend
Recursive resolution of dependencies
- Normalization parameters (alias and unfold_array) are now provided as parameter- program type renamed as program_t- Initiating the lustrev tool with dependencies to z3 and seal.
[general] large modification: added machine types, a second typing phase dealing with machine types (eg uint8) typing was transformed as a functor and parametrized by basic types (int/real/bool) it can also be applied multiple times on the same program
Type issue Bytes vs string
[main] enum typedef in C use the original lustre filename as identifier. This commit cleans the filename to remove dots.
[EMF] Less verbose
[EMF] adding original name field in the JSON
[EMF] Added the reset signal (the every argument) as input to the JSON struct
Solving a warning with ocaml 4.04 and uppercase_ascii. Provides backward compatibility for 4.02
Issue with clocked expressions. Now handled throught a local branch, ie. a single action block in Simulink