start with Spec AST generation
add -O -1 flag to disable fusion of conditionals
missing file
corrections on loggers + spec in AST
patch de Xavier pour réparer -O 3
the generation of ACSL from machine code reveal too fragile as it occurs after several transformations (eg. fusion)
move arrow spec in its own header
working proto
Almost works!
first version that is parsed correctly by Frama-C
first draft: to be tested with frama-c
messages d'erreurs terminés
more error messages
some more error messages
start to write error messages
prepare for the modern error handling of Menhir
generic ACSL spec generation
start generating ACSL spec
Merge branch 'dune'
some rewriting in C backend pretty-printer
minor rewriting
disable tests in gitlab CI
setup tests for dune
fix almost all warnings
rewrite a bit the menhir parser
migration draft on dune
add thread dependency required by z3 lib
moved from Num to Zarith. IMpacted main.ml ad uses of Z3 in zustre_cex and seal-extract
work in progress for ACSL support
Added some missing locations in tiny plugin
forgotten to uodate log.ml
1) log messages are now flushed. 2) very long computation times due to naive code to check for unused variables are now much shorter
- 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