Merged with latest trunk update.Generation of asserts and traceability file
Merged branches specification_reorg_corelang_parser (see last commit message, moved definitions/functions btw files and changed eexpr type)
git-svn-id: https://cavale.enseeiht.fr/svn/lustrec/lustre_compiler/trunk@298 041b043f-8d7c-46b2-b46e-ef0dd855326e
Prepared first stage of code reorg:1. moved type def in lustrespec.ml2. moved constructor and basic functions in corelang3. Modified eexpr with prenext quantifiers
git-svn-id: https://cavale.enseeiht.fr/svn/lustrec/lustre_compiler/branches/specification_reorg_corelang_parser@297 041b043f-8d7c-46b2-b46e-ef0dd855326e
Parsed the annotation. Produce tracability information for horn backend
more steps toward reusing variables (dead ones + clock disjoint ones)
git-svn-id: https://cavale.enseeiht.fr/svn/lustrec/lustre_compiler/trunk@295 041b043f-8d7c-46b2-b46e-ef0dd855326e
New branch to add traceability
Revert casality to r288
On going work: it does not compile!
added construction of a fanin table for local variables of a node. could be useful for a finer variable elimination scheme at the Lustre level. to be continued...
git-svn-id: https://cavale.enseeiht.fr/svn/lustrec/lustre_compiler/trunk@291 041b043f-8d7c-46b2-b46e-ef0dd855326e
added warnings for useless variables (at verbose level 1) - exact definition of 'useless' may be further refined - display could certainly be improved
git-svn-id: https://cavale.enseeiht.fr/svn/lustrec/lustre_compiler/trunk@290 041b043f-8d7c-46b2-b46e-ef0dd855326e
Merged with new specification backend: only eacsl makefile for the now on
git-svn-id: https://cavale.enseeiht.fr/svn/lustrec/lustre_compiler/trunk@289 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
Solved Bug in horn backend: when main node is stateless
git-svn-id: https://cavale.enseeiht.fr/svn/lustrec/lustre_compiler/trunk@287 041b043f-8d7c-46b2-b46e-ef0dd855326e
work in progress: - warnings for unused input/memory variables - optimization of machine code
git-svn-id: https://cavale.enseeiht.fr/svn/lustrec/lustre_compiler/trunk@286 041b043f-8d7c-46b2-b46e-ef0dd855326e
New branch to copy the specgeneration using the new backend functors
git-svn-id: https://cavale.enseeiht.fr/svn/lustrec/lustre_compiler/branches/specification_acsl_new_backend@283 041b043f-8d7c-46b2-b46e-ef0dd855326e
Merged the new backend split into trunk
git-svn-id: https://cavale.enseeiht.fr/svn/lustrec/lustre_compiler/trunk@282 041b043f-8d7c-46b2-b46e-ef0dd855326e
Specialized the prefix/postfix modifiers through functors arguments
git-svn-id: https://cavale.enseeiht.fr/svn/lustrec/lustre_compiler/branches/cleaner_backend@281 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
Added the lustre backendStill some work on adapating the instruction scheduling
git-svn-id: https://cavale.enseeiht.fr/svn/lustrec/lustre_compiler/branches/cleaner_backend@279 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
Solved bug in optimization of machine code: output variable def should not be eliminated
git-svn-id: https://cavale.enseeiht.fr/svn/lustrec/lustre_compiler/trunk@277 041b043f-8d7c-46b2-b46e-ef0dd855326e
Solved local var name bugs for stateless nodes as outlined by Teme
git-svn-id: https://cavale.enseeiht.fr/svn/lustrec/lustre_compiler/trunk@276 041b043f-8d7c-46b2-b46e-ef0dd855326e
Added branch to separate code gen/file creation/spec/proof
git-svn-id: https://cavale.enseeiht.fr/svn/lustrec/lustre_compiler/branches/cleaner_backend@275 041b043f-8d7c-46b2-b46e-ef0dd855326e
Mini bug solved: do not unfold array constants
git-svn-id: https://cavale.enseeiht.fr/svn/lustrec/lustre_compiler/trunk@273 041b043f-8d7c-46b2-b46e-ef0dd855326e
Missing files
git-svn-id: https://cavale.enseeiht.fr/svn/lustrec/lustre_compiler/branches/simplifier@272 041b043f-8d7c-46b2-b46e-ef0dd855326e
Restructured the main: call to optimization, scheduling performed out of machine_code, etcMerge Xavier last commitsUnfinished lustre backend
git-svn-id: https://cavale.enseeiht.fr/svn/lustrec/lustre_compiler/branches/simplifier@271 041b043f-8d7c-46b2-b46e-ef0dd855326e
Extracted scheduling from machine code computation
git-svn-id: https://cavale.enseeiht.fr/svn/lustrec/lustre_compiler/trunk@270 041b043f-8d7c-46b2-b46e-ef0dd855326e
Create a Step call only for functions that are not in basic lib
git-svn-id: https://cavale.enseeiht.fr/svn/lustrec/lustre_compiler/trunk@269 041b043f-8d7c-46b2-b46e-ef0dd855326e
- bug correction (regression from previous versions !) introduced in C code generated from relational operators.
git-svn-id: https://cavale.enseeiht.fr/svn/lustrec/lustre_compiler/trunk@268 041b043f-8d7c-46b2-b46e-ef0dd855326e
- refactorization of typing code (simpler subtyping rules) - simplification of clock calculus (may be still buggy, work in progress) no impact on unclocked programs.
git-svn-id: https://cavale.enseeiht.fr/svn/lustrec/lustre_compiler/trunk@267 041b043f-8d7c-46b2-b46e-ef0dd855326e
Branch to develop (1) traces in variable names for horn backend (2) transfer asserts to horn encoding
Update on the test script
git-svn-id: https://cavale.enseeiht.fr/svn/lustrec/lustre_compiler/trunk@265 041b043f-8d7c-46b2-b46e-ef0dd855326e
clean handling of undefined node application
git-svn-id: https://cavale.enseeiht.fr/svn/lustrec/lustre_compiler/trunk@261 041b043f-8d7c-46b2-b46e-ef0dd855326e
Updated typing error
git-svn-id: https://cavale.enseeiht.fr/svn/lustrec/lustre_compiler/trunk@260 041b043f-8d7c-46b2-b46e-ef0dd855326e
inlining update
git-svn-id: https://cavale.enseeiht.fr/svn/lustrec/lustre_compiler/trunk@259 041b043f-8d7c-46b2-b46e-ef0dd855326e
Convertion operators
git-svn-id: https://cavale.enseeiht.fr/svn/lustrec/lustre_compiler/trunk@258 041b043f-8d7c-46b2-b46e-ef0dd855326e
bug correction in homomorphic extension
git-svn-id: https://cavale.enseeiht.fr/svn/lustrec/lustre_compiler/trunk@257 041b043f-8d7c-46b2-b46e-ef0dd855326e
typo corrected in code generation for array memories (bad parentheses)
git-svn-id: https://cavale.enseeiht.fr/svn/lustrec/lustre_compiler/trunk@255 041b043f-8d7c-46b2-b46e-ef0dd855326e
Trying to correct support for pre in acsl annotation but it is not perfect.
Math lusi (trigo)
git-svn-id: https://cavale.enseeiht.fr/svn/lustrec/lustre_compiler/trunk@253 041b043f-8d7c-46b2-b46e-ef0dd855326e
bug corrected for allocation of dynamic arrays in node memory
git-svn-id: https://cavale.enseeiht.fr/svn/lustrec/lustre_compiler/trunk@251 041b043f-8d7c-46b2-b46e-ef0dd855326e
node memory namespace bug corrected; library linear_ctl/arrays corrected
git-svn-id: https://cavale.enseeiht.fr/svn/lustrec/lustre_compiler/trunk@249 041b043f-8d7c-46b2-b46e-ef0dd855326e
Updated list with new tests
git-svn-id: https://cavale.enseeiht.fr/svn/lustrec/lustre_compiler/trunk@248 041b043f-8d7c-46b2-b46e-ef0dd855326e
Solved bug:- loading lusi- loading lib in lusi files: "in m" is now "lib m"
git-svn-id: https://cavale.enseeiht.fr/svn/lustrec/lustre_compiler/trunk@247 041b043f-8d7c-46b2-b46e-ef0dd855326e
Additional checks in transpose
git-svn-id: https://cavale.enseeiht.fr/svn/lustrec/lustre_compiler/trunk@246 041b043f-8d7c-46b2-b46e-ef0dd855326e
Check node is stateful
git-svn-id: https://cavale.enseeiht.fr/svn/lustrec/lustre_compiler/trunk@245 041b043f-8d7c-46b2-b46e-ef0dd855326e
Bug solved on tuple equalities in expressions (eg. OK = (a,b,c) = (d,e,f))
git-svn-id: https://cavale.enseeiht.fr/svn/lustrec/lustre_compiler/trunk@244 041b043f-8d7c-46b2-b46e-ef0dd855326e
Changed the load of lusi files: imported nodes or function can specify the linking lib and/or use a classical C prototype (without pointers).Parse updated as well as Makefile generation.
git-svn-id: https://cavale.enseeiht.fr/svn/lustrec/lustre_compiler/trunk@242 041b043f-8d7c-46b2-b46e-ef0dd855326e
First commit in acsl proof branch
still computing disjoint clock information (for reusing more variables)
git-svn-id: https://cavale.enseeiht.fr/svn/lustrec/lustre_compiler/trunk@240 041b043f-8d7c-46b2-b46e-ef0dd855326e
computing statically disjoint variables (to enhance resusability)
git-svn-id: https://cavale.enseeiht.fr/svn/lustrec/lustre_compiler/trunk@239 041b043f-8d7c-46b2-b46e-ef0dd855326e
Some updates on scripts
Creating a new branch for proof in ACSL
Updated scripts
Moving files around
removed debug message
git-svn-id: https://cavale.enseeiht.fr/svn/lustrec/lustre_compiler/trunk@230 041b043f-8d7c-46b2-b46e-ef0dd855326e
Also available in: Atom