Project

General

Profile

Statistics
| Branch: | Tag: | Revision:

lustrec / src / main_lustre_compiler.ml @ 1ca48e48

History | View | Annotate | Download (9.51 KB)

# Date Author Comment
1ca48e48 01/16/2018 08:09 PM Pierre-Loïc Garoche

No existing input file returns a 1 error code

04257b1e 11/15/2017 12:31 AM Pierre-Loïc Garoche

Moved stage1 in separate file: it is shared among binaries

103f6f60 11/09/2017 10:45 PM Pierre-Loïc Garoche

Missing last fprintf @. in the lustre output

264a4844 07/20/2017 10:20 PM Pierre-Loïc Garoche

First working version of algebraic loop resolution. Disabled by default.

e7cc5186 07/18/2017 12:03 AM Pierre-Loïc Garoche

Refactor error printing.

13507742 07/12/2017 09:06 PM Pierre-Loïc Garoche

Refactored some code: optimization of machine

27dc3869 07/04/2017 01:22 AM Pierre-Loïc Garoche

Added a feature to alias ite contructs argument. To be used by EMF backend

1bff14ac 06/23/2017 06:13 PM Pierre-Loïc Garoche

- Added a field lustre_eq to machine instruction in order to record the originating lustre equation
- EMF backend now impose the optimization level to be set to 0 in order to avoid equation elimination that would render traceability difficult
- Options.ml has been split into Options.ml / Options_management.ml. Options.ml only contains references and no functions

3ca27bc7 06/23/2017 04:07 AM Pierre-Loïc Garoche

- Addtional encapsulation of machine_code instr in a struct to enable future extension of type with more metadata.
- Improved EMF backend with META information

e70326c9 06/22/2017 05:26 PM Pierre-Loïc Garoche

Providing means to have specification as dynamic checks.
[bug] seems to crash with EMF backend

f7caf067 06/22/2017 04:18 AM Pierre-Loïc Garoche

EMF backend now relies on machine code representation.
Impact:
- EMF backend has an extra machines argument
- specific option to avoid merge of ite constructs
- set_backend function to improve backend selection

Most code was extracted from seahorn_backend through c0f8

b7258fa5 06/21/2017 08:42 PM Pierre-Loïc Garoche

Merge branch 'unstable' into seahorn_a6df3
a6df3 is the initial commit of branch seahorn

990210f3 05/16/2017 04:57 PM Pierre-Loïc Garoche

Improved include folders behaviors:
- allow multiple -I dir, will be used in order (first one declared
is first used)

- when declaring a global library #open <foo>, foo is first checked
in local folders, than in global one (install path). This
does not apply to local libraries opened with #open "foo".

521e2a6b 05/16/2017 10:56 AM Pierre-Loïc Garoche

trying to improving pretty printing. Not so perfect for the moment

09121c1a 04/27/2017 12:19 AM Pierre-Loïc Garoche

Merge branch 'testgen' into merging_unstable_testgen

85da3a4b 04/26/2017 11:23 PM Pierre-Loïc Garoche

Merge branch 'unstable' into merging_plugins
Non regression results were similar to master branch

76c7023b 04/25/2017 09:42 AM Pierre-Loïc Garoche

functional_backend function moved to corelang

40d33d55 04/05/2017 04:53 PM Xavier Thirioux

first version (doesn't even compile) of mutation and test generation standalone command: lustret
mostly a recovery of an ancient svn repo: mutations

a6df3992 01/31/2017 08:22 PM Pierre-Loïc Garoche

Working on EMF backend to express cocospec infos as Simulink blocks

eb837d74 10/21/2016 01:52 AM Xavier Thirioux

slight improvement of causality error messages

dc893173 09/07/2016 05:38 PM Pierre-Loïc Garoche

moving C files name declaration in backend. Preparation for additional cmake target

45f0f48d 08/09/2016 09:31 PM Xavier Thirioux

...

04a63d25 08/06/2016 10:29 AM Xavier Thirioux

full merge of salsa/mpfr and master

60aab16d 02/02/2016 06:35 PM Xavier Thirioux

Bug solved in automaton part

ca88e660 01/08/2016 05:37 PM Pierre-Loïc Garoche

Resolved conflict when merging salsa with horn_encoding. The current branch is the most updated.

f0bff3e5 01/08/2016 01:41 PM Pierre-Loïc Garoche

Merge branch 'salsa' into merge_salsa_horn_2
Postponed conflicts to be solved
Conflicts:
src/_tags
src/backends/Horn/horn_backend.ml
src/machine_code.ml
src/main_lustre_compiler.ml
src/myocamlbuild.ml.in
src/optimize_machine.ml

cf9cc6f9 01/07/2016 04:43 PM Pierre-Loïc Garoche

Introduced the opposite of Reset call: NoReset. This simplify the general compilation process and makes the code more symmetric, hence simpler and clearer code.

5df5dd85 12/16/2015 03:18 PM Pierre-Loïc Garoche

Merge branch 'master' into horn_enum_types

Conflicts:
src/backends/Horn/horn_backend.ml

49d92bf8 11/26/2015 11:29 PM Xavier Thirioux

regression bugs corrected

f6acf47b 11/26/2015 06:17 PM Pierre-Loïc Garoche

Plugin based framework

53206908 11/26/2015 04:45 PM Xavier Thirioux

major branche merging salsa/mpfr with trunk

d7b73fed 11/21/2015 10:14 PM Xavier Thirioux

bug correction in typing: tuple types were computed but not recorded

git-svn-id: https://cavale.enseeiht.fr/svn/lustrec/lustre_compiler/trunk@485 041b043f-8d7c-46b2-b46e-ef0dd855326e

89137ae1 11/21/2015 10:14 PM Xavier Thirioux

bug correction in typing: tuple types were computed but not recorded

0dee2bc1 11/20/2015 06:41 PM Pierre-Loïc Garoche

Refactoring of the horn backend with Reset/Step instead of Init/Step.
Teme, please perform a string non regression test wrt the previous version, to make sure we have the same model checking results.

2d179f5b 11/07/2015 07:40 PM Xavier Thirioux

numerous bugs corrected:
- bug in expansion of array accesses with constant arrays
- bug in printing complex array indexes (not C compliant)
- bug wrt C99 typing policy for constant arrays
- bug in signaling wrong useless static input

git-svn-id: https://cavale.enseeiht.fr/svn/lustrec/lustre_compiler/trunk@482 041b043f-8d7c-46b2-b46e-ef0dd855326e

79614a15 11/07/2015 07:40 PM Xavier Thirioux

numerous bugs corrected:
- bug in expansion of array accesses with constant arrays
- bug in printing complex array indexes (not C compliant)
- bug wrt C99 typing policy for constant arrays
- bug in signaling wrong useless static input

843bc20f 06/05/2015 11:01 PM Pierre-Loïc Garoche

Merge of last trunk commits
Added fbyn(expr, n, init) to encode
init -> pre (init -> pre (init -> ... pre expr))
with n occurences of init

git-svn-id: https://cavale.enseeiht.fr/svn/lustrec/lustre_compiler/branches/fby_n@460 041b043f-8d7c-46b2-b46e-ef0dd855326e

ed736b69 06/05/2015 11:01 PM Pierre-Loïc Garoche

Merge of last trunk commits
Added fbyn(expr, n, init) to encode
init -> pre (init -> pre (init -> ... pre expr))
with n occurences of init

8deaa2dd 05/05/2015 01:17 AM Teme Kahsai

do not use lusi for horn, and some logging for horn

git-svn-id: https://cavale.enseeiht.fr/svn/lustrec/lustre_compiler/trunk@451 041b043f-8d7c-46b2-b46e-ef0dd855326e

9c4624e4 05/05/2015 01:17 AM Teme Kahsai

do not use lusi for horn, and some logging for horn

c287ba28 05/04/2015 08:13 AM Xavier Thirioux

corrected a small bug when -horn option was active

git-svn-id: https://cavale.enseeiht.fr/svn/lustrec/lustre_compiler/trunk@450 041b043f-8d7c-46b2-b46e-ef0dd855326e

b3b0dd56 05/04/2015 08:13 AM Xavier Thirioux

corrected a small bug when -horn option was active

e3a4e911 04/13/2015 10:08 AM Xavier Thirioux

some optimization in code optimization !!

git-svn-id: https://cavale.enseeiht.fr/svn/lustrec/lustre_compiler/trunk@449 041b043f-8d7c-46b2-b46e-ef0dd855326e

e24b2e9b 04/13/2015 10:08 AM Xavier Thirioux

some optimization in code optimization !!

a28d1ba7 04/08/2015 10:43 PM Xavier Thirioux

some cosmetic changes in error messages when loading libraries

git-svn-id: https://cavale.enseeiht.fr/svn/lustrec/lustre_compiler/trunk@444 041b043f-8d7c-46b2-b46e-ef0dd855326e

b3543e39 04/08/2015 10:43 PM Xavier Thirioux

some cosmetic changes in error messages when loading libraries

ec433d69 04/08/2015 10:03 PM Xavier Thirioux

Major revision due to severe limitations and bugs of inlining capabilities:
- destination dir should now work properly
- lusic files now have a version number, to avoid nasty segfaults
when loading lusic files created by an older compiler version
- inlining should now work with generic nodes and generic array library...

01d48bb0 04/08/2015 10:03 PM Xavier Thirioux

Major revision due to severe limitations and bugs of inlining capabilities:
- destination dir should now work properly
- lusic files now have a version number, to avoid nasty segfaults
when loading lusic files created by an older compiler version
- inlining should now work with generic nodes and generic array library...

fc886259 04/03/2015 06:22 PM Xavier Thirioux

LOTS of bug correction wrt inlining, still a work in progress...
- global constants were not accounted for
- no good avoidance of name capture when inlining
- static parameters (array sizes and clocks) not handled
- ill-typed generated expressions, when inlining array expressions...

b3f91fdb 04/03/2015 06:22 PM Xavier Thirioux

LOTS of bug correction wrt inlining, still a work in progress...
- global constants were not accounted for
- no good avoidance of name capture when inlining
- static parameters (array sizes and clocks) not handled
- ill-typed generated expressions, when inlining array expressions

77a61575 04/01/2015 06:41 PM Xavier Thirioux

added some test files

git-svn-id: https://cavale.enseeiht.fr/svn/lustrec/lustre_compiler/trunk@432 041b043f-8d7c-46b2-b46e-ef0dd855326e

7dd90f72 04/01/2015 06:41 PM Xavier Thirioux

added some test files

6efbcb73 04/01/2015 04:10 PM Xavier Thirioux

correction of bugs:
- a small problem in the parser
- regarding the handling of destination directory, source directory, current directory, etc.
It seems to be working now. A nice chasing after weird behaviors...

git-svn-id: https://cavale.enseeiht.fr/svn/lustrec/lustre_compiler/trunk@430 041b043f-8d7c-46b2-b46e-ef0dd855326e

f4acee4c 04/01/2015 04:10 PM Xavier Thirioux

correction of bugs:
- a small problem in the parser
- regarding the handling of destination directory, source directory, current directory, etc.
It seems to be working now. A nice chasing after weird behaviors...

c89faaa4 03/24/2015 09:54 PM Teme Kahsai

synch with svn

git-svn-id: https://cavale.enseeiht.fr/svn/lustrec/lustre_compiler/trunk@429 041b043f-8d7c-46b2-b46e-ef0dd855326e

933ee7a3 03/24/2015 09:54 PM Teme Kahsai

synch with svn

d41b874a 03/24/2015 09:54 PM Teme Kahsai

Fixed conflict with the svn trunk version

git-svn-id: https://cavale.enseeiht.fr/svn/lustrec/lustre_compiler/trunk@427 041b043f-8d7c-46b2-b46e-ef0dd855326e

a5193ff5 03/24/2015 09:54 PM Teme Kahsai

Fixed conflict with the svn trunk version

566dbf49 03/24/2015 07:26 PM Pierre-Loïc Garoche

Added local inlining using the keyword (*! /inlining/:true *)

git-svn-id: https://cavale.enseeiht.fr/svn/lustrec/lustre_compiler/trunk@426 041b043f-8d7c-46b2-b46e-ef0dd855326e

6394042a 03/24/2015 07:26 PM Pierre-Loïc Garoche

Added local inlining using the keyword (*! /inlining/:true *)

b9c40119 03/17/2015 08:24 AM Pierre-Loïc Garoche

revert back to previous expression for path

git-svn-id: https://cavale.enseeiht.fr/svn/lustrec/lustre_compiler/trunk@424 041b043f-8d7c-46b2-b46e-ef0dd855326e

c9570528 03/17/2015 08:24 AM Pierre-Loïc Garoche

revert back to previous expression for path

922ed789 03/16/2015 08:31 PM Teme Kahsai

mapping horn values to lustre values in xml format

git-svn-id: https://cavale.enseeiht.fr/svn/lustrec/lustre_compiler/trunk@423 041b043f-8d7c-46b2-b46e-ef0dd855326e

720f159a 03/16/2015 08:31 PM Teme Kahsai

mapping horn values to lustre values in xml format

c7c6ef4c 03/16/2015 08:30 PM Teme Kahsai

Fixed conflict with the svn trunk version

git-svn-id: https://cavale.enseeiht.fr/svn/lustrec/lustre_compiler/trunk@417 041b043f-8d7c-46b2-b46e-ef0dd855326e

62f65f02 03/16/2015 08:30 PM Teme Kahsai

Fixed conflict with the svn trunk version

ea1c2906 03/06/2015 11:09 AM Pierre-Loïc Garoche

Changed the option horntraces to a general traces option
This annotation phases would have to be moved in optimization of normalized code

git-svn-id: https://cavale.enseeiht.fr/svn/lustrec/lustre_compiler/trunk@415 041b043f-8d7c-46b2-b46e-ef0dd855326e

c065827c 03/06/2015 11:09 AM Pierre-Loïc Garoche

Changed the option horntraces to a general traces option
This annotation phases would have to be moved in optimization of normalized code

f2b1c245 02/16/2015 11:52 PM Pierre-Loïc Garoche

Solved bug found by Teme about asserts.

Previously assert expression containing -> would lead to unnormalized ite. Now each expression within the assert is normalized and may bind new node equations.
This could be later optimized but is working now.

git-svn-id: https://cavale.enseeiht.fr/svn/lustrec/lustre_compiler/trunk@406 041b043f-8d7c-46b2-b46e-ef0dd855326e

e42fb618 02/16/2015 11:52 PM Pierre-Loïc Garoche

Solved bug found by Teme about asserts.

Previously assert expression containing -> would lead to unnormalized ite. Now each expression within the assert is normalized and may bind new node equations.
This could be later optimized but is working now.

e3373485 12/10/2014 11:15 AM Pierre-Loïc Garoche

Revert the commit 384 by Xavier: adding dirname to the source_name introduced a bug: the .h file is empty!!! Strange behavior.

git-svn-id: https://cavale.enseeiht.fr/svn/lustrec/lustre_compiler/trunk@387 041b043f-8d7c-46b2-b46e-ef0dd855326e

13fa31c2 12/10/2014 11:15 AM Pierre-Loïc Garoche

Revert the commit 384 by Xavier: adding dirname to the source_name introduced a bug: the .h file is empty!!! Strange behavior.

862ccfb1 12/09/2014 04:30 PM Xavier Thirioux

supports again relative path for lustre source file (regression bug)

git-svn-id: https://cavale.enseeiht.fr/svn/lustrec/lustre_compiler/trunk@384 041b043f-8d7c-46b2-b46e-ef0dd855326e

fb8b1da7 12/09/2014 04:30 PM Xavier Thirioux

supports again relative path for lustre source file (regression bug)

1e48ef45 12/01/2014 11:32 PM Pierre-Loïc Garoche

- Dealt with compiling lusic from distant lusi files.
- Header now do not allow the generation of function previously declared as C prototype

git-svn-id: https://cavale.enseeiht.fr/svn/lustrec/lustre_compiler/trunk@375 041b043f-8d7c-46b2-b46e-ef0dd855326e

5ae8db15 12/01/2014 11:32 PM Pierre-Loïc Garoche

- Dealt with compiling lusic from distant lusi files.
- Header now do not allow the generation of function previously declared as C prototype

d0b1ec56 09/26/2014 05:52 PM Xavier Thirioux

- changed the basic optimization scheme (option -O 2), which unfolds
local variables and global variables that are either cheap to evaluate
or used no more than once.

git-svn-id: https://cavale.enseeiht.fr/svn/lustrec/lustre_compiler/trunk@339 041b043f-8d7c-46b2-b46e-ef0dd855326e

307aba8d 09/26/2014 05:52 PM Xavier Thirioux

- changed the basic optimization scheme (option -O 2), which unfolds
local variables and global variables that are either cheap to evaluate
or used no more than once.

df39e35a 09/24/2014 12:13 PM Xavier Thirioux

- corrected a bug in optimizating mode (option -O 3)
- changed the printing of unused variables

git-svn-id: https://cavale.enseeiht.fr/svn/lustrec/lustre_compiler/trunk@338 041b043f-8d7c-46b2-b46e-ef0dd855326e

67896f6d 09/24/2014 12:13 PM Xavier Thirioux

- corrected a bug in optimizating mode (option -O 3)
- changed the printing of unused variables

54d032f5 09/14/2014 08:08 PM Xavier Thirioux

- Added major feature: Lustre V6 automata !!!
- one automata example added
- changed the reset condition in node calls (now a simple bool expr)
- bug corrected in clock calculus
- bug corrected in traceability info
- added field in variables to test whether they are original...

6a1a01d2 09/14/2014 08:08 PM Xavier Thirioux

- Added major feature: Lustre V6 automata !!!
- one automata example added
- changed the reset condition in node calls (now a simple bool expr)
- bug corrected in clock calculus
- bug corrected in traceability info
- added field in variables to test whether they are original...

d5767b5a 09/10/2014 06:01 PM Xavier Thirioux

- code complete for automata
- debugging in progress, not usable yet

git-svn-id: https://cavale.enseeiht.fr/svn/lustrec/lustre_compiler/trunk@334 041b043f-8d7c-46b2-b46e-ef0dd855326e

bc7b6c62 09/10/2014 06:01 PM Xavier Thirioux

- code complete for automata
- debugging in progress, not usable yet

9603460e 09/02/2014 05:46 PM Xavier Thirioux

- corrected bug with destination directory (-d option)
- corrected several bugs in inlining
- STILL, BUGS REMAINING in inlined code !!??!!

git-svn-id: https://cavale.enseeiht.fr/svn/lustrec/lustre_compiler/trunk@328 041b043f-8d7c-46b2-b46e-ef0dd855326e

3f823d04 09/02/2014 05:46 PM Xavier Thirioux

- corrected bug with destination directory (-d option)
- corrected several bugs in inlining
- STILL, BUGS REMAINING in inlined code !!??!!

ef34b4ae 09/02/2014 02:43 PM Xavier Thirioux

This is a major revision:
- added interface files (.lusi) in the language, that can be compiled on their own, giving an object file (.lusic) and a header file (.h)
- modular code generation, from Lustre to C level included.
- nice amount of code refactoring...

70e1006b 09/02/2014 02:43 PM Xavier Thirioux

This is a major revision:
- added interface files (.lusi) in the language, that can be compiled on their own, giving an object file (.lusic) and a header file (.h)
- modular code generation, from Lustre to C level included.
- nice amount of code refactoring

0172f92d 07/15/2014 03:01 PM Xavier Thirioux

ooops, things got a bit scrambled with svn, restoring...

git-svn-id: https://cavale.enseeiht.fr/svn/lustrec/lustre_compiler/trunk@323 041b043f-8d7c-46b2-b46e-ef0dd855326e

ed431cc2 07/15/2014 03:01 PM Xavier Thirioux

ooops, things got a bit scrambled with svn, restoring...

ed81df06 07/15/2014 02:15 PM Xavier Thirioux

added some functions, prior to code refactoring

git-svn-id: https://cavale.enseeiht.fr/svn/lustrec/lustre_compiler/trunk@322 041b043f-8d7c-46b2-b46e-ef0dd855326e

7dedc5f0 07/15/2014 02:15 PM Xavier Thirioux

added some functions, prior to code refactoring

b1655a21 07/15/2014 09:27 AM Xavier Thirioux

- started refactoring type definitions in .lus/.lusi,
in order to ease the way .lusi interface files are handled.

git-svn-id: https://cavale.enseeiht.fr/svn/lustrec/lustre_compiler/trunk@321 041b043f-8d7c-46b2-b46e-ef0dd855326e

6aeb3388 07/15/2014 09:27 AM Xavier Thirioux

- started refactoring type definitions in .lus/.lusi,
in order to ease the way .lusi interface files are handled.

6fdfb60b 07/10/2014 05:19 PM Xavier Thirioux

- several bugs corrected when mixing tuples with clocks

git-svn-id: https://cavale.enseeiht.fr/svn/lustrec/lustre_compiler/trunk@316 041b043f-8d7c-46b2-b46e-ef0dd855326e

d52e7821 07/10/2014 05:19 PM Xavier Thirioux

- several bugs corrected when mixing tuples with clocks

45c13277 07/10/2014 12:49 PM Xavier Thirioux

- added missing constraint check when sub-clocking
tuple expressions
- added an algorithm that reuses dead or clock-disjoint
variables instead of declaring/using new ones.
- NOT carefully tested. Use option -O 3 if you want
to give it a try...

01f1a1f4 07/10/2014 12:49 PM Xavier Thirioux

- added missing constraint check when sub-clocking
tuple expressions
- added an algorithm that reuses dead or clock-disjoint
variables instead of declaring/using new ones.
- NOT carefully tested. Use option -O 3 if you want
to give it a try...

a2d97a3e 07/09/2014 09:57 AM Pierre-Loïc Garoche

Updated the licence info and header for each file.
Moved backends in separate folders

git-svn-id: https://cavale.enseeiht.fr/svn/lustrec/lustre_compiler/trunk@313 041b043f-8d7c-46b2-b46e-ef0dd855326e

b38ffff3 07/09/2014 09:57 AM Pierre-Loïc Garoche

Updated the licence info and header for each file.
Moved backends in separate folders