Start of the Lustre generator
mutable object field storing architecture<->entities<->contexts relation, generation of MiniVHDL component instantiation
Added MiniVHDL versions of component instantiation and concurretn statement
PP order for components and packages
PP for packages in minivhdl
Typo correction
Some code comments
definition of the mini-vhdl types + pp + transformation from vhdl structure
Split PP and Yojson in separate ml for vhdl ast
PP update: component instantiation type, archi format, port & generic decl in components, signal conditions, return statements expression
Printer corrections: signal_condition, conditional_signal, elsif, when conditions, F***ing non-brekaing characters
PP for procedure call
Qualified expressions, default values for expressions, pp for association_elements
Unbounded array definition printing
Use clauses in package definition
Conditional signals selection, waveform with delay
PP for Subprogram
Correction of Procedure declaration pp
Default value for ProcedureCall assocs
Aggregate pp, correction of element_assoc pp
Default value corrections
Added support for declarative items
Added support for use clause in architecture declarations
Update of component instantiation pp
Corrections on component instantiation
Added support for Component declarations in packages
Pretty printing of assert statements
Constant expression printing with units, Format for case statements, process formatting and name
Added support for constants units
Added support for Array,Record,Enumeration constructs
Added support for ProcedureCall statements
Update of the component instantiation type to add architecture name reference
Added support for component instantiation
code cleaning
Correction of Variables,Signals,Constants definitions of initial values. Now uses an expression.
PP correction for separating spaces
PP support for concurrent assignment, processes
PP for Exit, Null and Return statements
Update of default values for some option constructions + added end if and end case closing of if and case blocks
Update of the vhdl pretty printer
New version of the vhdl import + compilation
Working example!
Pom pom pom
Sample value for VHDL
Compiling - while doing nothing :)
Bootstrapping VHDL importer/exporter
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
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
Recursive resolution of dependencies
[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
C backend: solved the issue of long name in generated binaries.
first solution to address very large identifiers in node names, logs, and generated binaries
[EMF] improved feedback on reset calls
Merge branch 'dynamic_inlining' into unstable
[EMF} missing brace
[EMF] missing quotes
Merge branch 'unstable' into dynamic_inlining
[EMF] improved alignement of braces + solved (naother) bug in shortening of ids
[EMF] more hash
Merge branch 'unstable' of https://cavale.enseeiht.fr/git/lustrec into unstable
[EMF] bug solved, some ids were not hashed
ange ID length
blup
[EMF] simplify branches with single case as regular instructions
[EMF] Disable join of guards in EMF backend
Refactor error printing.
[EMF] protect machine names
[EMF] protect more field
[EMF] Protecting print of names to ensure a length < 50. Remove the middle part of the string and inject a hash of it.
Renamed math lib into lustrec_math to avoid conflicting calls to <math.h>
[HORN] handled asserts in stateless node step rule definition
[HORN] Protect names of stateless nodes with a _fun suffix. This was conflicting with existing names in Z3, ie. "abs".[HORN] Better treatment of stateless nodes collecting semantics Fixes issue #13 on github: https://github.com/coco-team/lustrec/issues/13
Provides type compatible with Matlab types in EMF backend
[EMF backend] Merging branches
Refactored some code: optimization of machine
bug fixed: Inputs for branches solved
Proper integer index for enumerated branches
Enumerated datatypes as integer
Refactored EMF backend. Handle now the call to existing math and conv libraries
EMF backend: each branch provides the inputs and outputs
small modifs in EMF format
Branchs output in EMF is only the intersection of each branch defined flows
Full rewrite of EMF backend.