Project

General

Profile

Statistics
| Branch: | Tag: | Revision:

lustrec / src / typing.ml @ f2b1c245

History | View | Annotate | Download (29.1 KB)

# Date Author Comment
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...

b08ffca7 09/09/2014 06:03 PM Xavier Thirioux

- work in progress for automata...

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

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...

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

28c58de1 07/11/2014 04:29 PM Xavier Thirioux

- still some improvements in optimizing in machine code ...

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

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

a38c681e 07/08/2014 04:53 PM Xavier Thirioux

- many bugs/limitations in lifting operators to tuples have been worked out:
- typing/clock calculus/normalization now work properly
- still, a bug in annot generation (this one is for Ploc !!)
in file normalization, line 396
- bug corrected in subtyping...

af5af1e8 07/03/2014 10:46 PM Pierre-Loïc Garoche

Merged horn_traces branch

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

01c7d5e1 07/02/2014 05:29 PM Pierre-Loïc Garoche

Prepared first stage of code reorg:
1. moved type def in lustrespec.ml
2. moved constructor and basic functions in corelang
3. Modified eexpr with prenext quantifiers

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

8a183477 06/27/2014 04:29 PM Xavier Thirioux

added construction of a fanin table for local variables of a node.
could be useful for a finer variable elimination scheme at the Lustre level.
to be continued...

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

6afa892a 06/20/2014 04:59 PM Xavier Thirioux

- refactorization of typing code (simpler subtyping rules)
- simplification of clock calculus (may be still buggy, work in progress)
no impact on unclocked programs.

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

719f9992 06/12/2014 05:53 PM Xavier Thirioux

clean handling of undefined node application

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

b616fe7a 05/22/2014 10:29 AM Xavier Thirioux

bug correction in homomorphic extension

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

54ae8ac7 05/16/2014 05:26 PM Pierre-Loïc Garoche

Changed the load of lusi files: imported nodes or function can specify the linking lib and/or use a classical C prototype (without pointers).
Parse updated as well as Makefile generation.

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

96f5fe18 03/24/2014 02:36 PM Xavier Thirioux

changed name generation to avoid conflict with C predefined symbols; added checking for declared but not defined node symbol

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

d4807c3d 03/24/2014 09:05 AM Xavier Thirioux

- corrected causality bug (cf. previous commit)

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

695d6f2f 03/19/2014 06:08 PM Xavier Thirioux

- reimplemented computation of dead variables
- added computation of a reuse policy (depending on types)
- not yet used though, would have to change code generation
in order to be useful...

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

52cfee34 03/14/2014 05:45 PM Xavier Thirioux

- work in progress for stateless/stateful status computation
(to turn conditionals into merges, which yield more efficient C code)

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

21485807 03/11/2014 03:41 PM Xavier Thirioux

- added struct types declaration
- added constant definition with a struct type
- added checking for multiple definitions of nodes (behavior was buggy)
- better and more uniform error messages
for undefined/already defined symbols

We still need struct expressions......
b174e673 03/10/2014 05:56 PM Xavier Thirioux

work in progress for struct types...

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

12af4908 03/10/2014 09:55 AM Xavier Thirioux

more steps towards struct types...
Cette ligne, et les suivantes ci-dessous, seront ignorées--

M trunk/src/corelang.mli
M trunk/src/type_predef.ml
M trunk/src/main_lustre_compiler.ml
M trunk/src/types.ml
M trunk/src/printers.ml
M trunk/src/typing.ml...

6a6abd76 03/06/2014 04:33 PM Xavier Thirioux

first steps towards struct types...

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

8f1c7e91 03/01/2014 03:37 PM Xavier Thirioux

- added generation of clock information in interface (.lusi) files
- added clock checking between interface and implementation files

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

7291cb80 02/28/2014 04:56 PM Xavier Thirioux

- merged test script
- added -d support
- corrected #open parser problem
- corrected interface/implementation (.lusi/.lus) checking
for types (not yet for clocks)

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

867595f2 02/28/2014 01:52 PM Pierre-Loïc Garoche

Merge inlining branch within trunk.
The test target requires branch lustrec/horn as binary lustreh.

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

e2380d4d 02/28/2014 10:33 AM Pierre-Loïc Garoche

Solved some bugs in the lustre printer
Generation of a witness with both the main node and hte inlined main node
Test script modified to check consistency of the inlining process

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

1577dc7e 02/26/2014 03:37 PM Xavier Thirioux

better error message for tuple type mismatch

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

11242500 02/26/2014 02:37 PM Xavier Thirioux

again, debugged tuple subtyping

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

17249d2e 02/26/2014 02:04 PM Xavier Thirioux

removed debug printing

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

9b5969d4 02/26/2014 02:02 PM Xavier Thirioux

corrected wrong subtyping rule for tuple assignment

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

4a840259 02/26/2014 01:42 PM Xavier Thirioux

added subtyping in equations (rhs may be a subtype of lhs)

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

7a47b44f 11/12/2013 11:20 PM Xavier Thirioux

- work in progress for interface typing

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

b3381ae8 11/07/2013 07:03 PM Xavier Thirioux

- small bug correction in dimension typing
- #open keyword instead of open
- dummy generic matrix/vector library interface added
- modified examples according to the new syntax

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

5c1184ad 10/22/2013 10:39 AM Pierre-Loïc Garoche

Merge (if it works) of the lustre interfaces branche providing lusi files into trunk

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

22fe1c93 10/02/2013 08:13 AM Pierre-Loïc Garoche

Moved files to trunk in lustre_compiler

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