[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
first solution to address very large identifiers in node names, logs, and generated binaries
Refactor error printing.
- Added a field lustre_eq to machine instruction in order to record the originating lustre equation- EMF backend now impose the optimization level to be set to 0 in order to avoid equation elimination that would render traceability difficult- Options.ml has been split into Options.ml / Options_management.ml. Options.ml only contains references and no functions
- Added a precision parameter for io_frontend "real" types- New fonction in plugins: main_loop_body_prefix
Improved include folders behaviors:- allow multiple -I dir, will be used in order (first one declared is first used)
- when declaring a global library #open <foo>, foo is first checked in local folders, than in global one (install path). This does not apply to local libraries opened with #open "foo".
Merge branch 'unstable' into merge_mauve_unstable
Merge branch 'unstable' into merging_pluginsNon regression results were similar to master branch
adding c++ backend
Merge branch 'github_master' into integ_github_jan10Intregrate all modifs by Teme et al
Changed the generated C file to produce input and output csv files (named inXX and outXX)
adding -I options to lustrec
updating to onera version 30f766a:2016-12-04
full merge of salsa/mpfr and master
Solved bug with C backend
Plugin based framework
major branche merging salsa/mpfr with trunk
Major revision due to severe limitations and bugs of inlining capabilities: - destination dir should now work properly - lusic files now have a version number, to avoid nasty segfaults when loading lusic files created by an older compiler version - inlining should now work with generic nodes and generic array library...
Added a construct for Dependencies (was a tuple before) and a boolean attribute stateful
git-svn-id: https://cavale.enseeiht.fr/svn/lustrec/lustre_compiler/trunk@380 041b043f-8d7c-46b2-b46e-ef0dd855326e
- Dealt with compiling lusic from distant lusi files.- Header now do not allow the generation of function previously declared as C prototype
git-svn-id: https://cavale.enseeiht.fr/svn/lustrec/lustre_compiler/trunk@375 041b043f-8d7c-46b2-b46e-ef0dd855326e
This is a major revision: - added interface files (.lusi) in the language, that can be compiled on their own, giving an object file (.lusic) and a header file (.h) - modular code generation, from Lustre to C level included. - nice amount of code refactoring...
This is a major revision: - added interface files (.lusi) in the language, that can be compiled on their own, giving an object file (.lusic) and a header file (.h) - modular code generation, from Lustre to C level included. - nice amount of code refactoring
Updated the licence info and header for each file.Moved backends in separate folders
git-svn-id: https://cavale.enseeiht.fr/svn/lustrec/lustre_compiler/trunk@313 041b043f-8d7c-46b2-b46e-ef0dd855326e
Merged trunk updates
git-svn-id: https://cavale.enseeiht.fr/svn/lustrec/lustre_compiler/branches/specification_acsl_new_backend@288 041b043f-8d7c-46b2-b46e-ef0dd855326e
Split all functions of C backends in separate files
git-svn-id: https://cavale.enseeiht.fr/svn/lustrec/lustre_compiler/branches/cleaner_backend@280 041b043f-8d7c-46b2-b46e-ef0dd855326e
Moved c_backend in separate folder
git-svn-id: https://cavale.enseeiht.fr/svn/lustrec/lustre_compiler/branches/cleaner_backend@278 041b043f-8d7c-46b2-b46e-ef0dd855326e