Communalisation of mini-vhdl structure utils
Code cleaning in vhdl to mini-vhdl transformation
Added missing sensitivity list resolution fold
DB tuple update to contain assigned elements in component
vhdl and mini-vhdl process printing
Removed concurrent assignment statement from mini-vhdl grammar
Mini-vhdl pretty printing for sequential statements and processes
Concurrent signal assignment statement transformation to concurrent process statement
Clean ppx deriving comments
Update of mini-vhdl pp
Building explicit process from concurrent signl assignment
Bug fix: resolve entity/arch reference from component instantiation declaration
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