Passage à dune
Added some missing locations in tiny plugin
- Primitive Tiny backend- Renamed Mpfr to lustrec_mpfr- Introduced dependency in Zarith. Trying to move away from Num
[bug cavale 93] solved: issue when resetting a stateless node. Now generating a warning and forcing the stateful status. Could be improved to remove the reset statement. (TODO)
printing nodes + more progress on seal export
[MPFR] add more functions and better treatment of print output variables in main.c
temporary changed in the expression printer
preserving types/clocks when possible
Moved some code
- Refactored Error exception and messages- Bugs in partial evaluation for equalities among bool constants and a nice recursive call generating a stack overflow! Now solved- Setup a timeout for z3 in seal- Better log for seal
Commenting out unused variables
Array access: solved issues in C backend when basic operations in array access dimensions. Also better handling in EMF, ie further normalization through new equations
comment some code to avoid warning at compile time
solved bug 91 on cavale: spurious commas in emf backend
Merge branch 'unstable' into lustrec-seal
better location error
Optimize_machine- Constants were improperly unfolded- Do not unfold clock definition
big: missing case with substituting expressions
- tag_true and tag_false moved to lustre_types- real constants are hidden in Real.ml{i} module
[seal] more progress on seal extract
sort of slicing for machine code
kind2 option for printing expressions
Reactivated Unfold constant
partial evaluation for basic lib
Module to manipulate real constants. For the moment we Num
cleaning debug logs
reactivating the unfolding of constants
flatten dependencies in schedule to make sure all required equations are used
[emf] added the names of the cocospec properties in the output json
better negation of constants
Better treatment of arrays in EMF backend. Be careful it may have changed the way enum types are declared
More kind2 outputs: clocked fun call + clocked and restart fun call
seal: now deals with enum
when condition in kind2 printer
EMF backend issue
seal: stateless systems
every in kind2 syntax
[seal] delt with Merge and when[printer] more kind2 syntax
No more when suffix in clocked variables with kind2 option
Produce true/false statements as constants
removed reload of external modules when checking algebraic loop.
scheduling now report unused vars and remove their definition instead of stopping processing.
kind2 output for printer. global option available
Seal: solved issue with guards merging
Sorting expressions: less bugs
valid _verif node for seal-export lustre
No space in comments
Seal export lustre
Work in progress: higher level constructs for lustre elements
Contract printer cocospec
No space before contract kwd
Printing trailing zeros in real constants
Export cocospec contract
Output folder for seal-extract
Seal-export to a new file
seal-export: produce the output as well. Could be simpler
Seal-extract: first serious version. Guards are gathered as a single expression
Updated version seal-extract
Working version of seal-extract. Heavy load on z3.TODO: improvement through memoization
Corelang function: push_negations that propagate negations in leafs of the expression
Better extraction in lustrev-seal
Zustre: Bug solved in const injection for reals
Addressed a TODO in MCDC Pathconditions: simpler condition for single expression
- More systematic translation for mutation- copy_var_decl now keeps the generated type
Mutation translates now ids in cocospec import
minor bugs solved in printer: guarantee vs guarantees in cocospec. Imported node shall not be printed as regular code since it is not part of the grammar yet. Kept them as comment.
keep the open top declaration when loading a module. It may be useful later when producing a lustre file
lustret: do not reload opened modules when generating the mcdc output
lustrev seal: ongoing work on extraction as dynamical system. Still not working yet
lustrev: removed the check of no dependencies
comestic changes, removing useless logs
Merge branch 'ada' into lustrec-seal
Solved issue btw mpfr and conv functions (int_to_real was not handled)
Solved scopes print order
Ada: Start cleaning Ada to prepare for why beckend
Merge branch 'ada' of https://cavale.enseeiht.fr/git/lustrec into ada
Ada: Lot of specification is exported in Ada. We use ghost code to store all states,we generate the transition pridicate but also the invariant. But two problems, occured.The first one is a visibility problem for the record which is private but must bepublic for ghost variable which have to be public for specifaction. The second...
doc: use SVG format instead of PNG for dependency graph
Doc: update rule and remove old module in odocl
Ada: First support for transition predicate generation.
Machine_code: Make a correction in the arrow machine creation : use the same polymorphic type in variables and values.
Ada: Correct some errors in printing
Ada: Refactor Ada Backend to reduce redundancy, make it more modular and more simple.
Merge branch 'lustrec-seal' into ada
Ada: Correct ada main to handle statelles top level node
rev machines in emf
JSON EMF
more explanation in case of failure. Still dirty
Better JSON for EMF backend
Resolved sort order of nodes
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.
Cocospec: parsing, normalizing and processing machines for contracts.
Better EMF output, solved some invalid JSON produced
Cleaning C backend - removing unused functiionsPreparing for coming ACSL
Merging branches, disabling the specification print in Ada backend. Should be re-enabled at some point
Minor modif on seal
Reorganizing folders