Commit graph

54 commits

Author SHA1 Message Date
Cédric Pasteur
b0a5a7f13e Heptcheck compiles !! 2010-07-08 15:25:26 +02:00
Léonard Gérard
5baa30f7c1 Last refactor ? and hept_mapred shows in ! 2010-07-08 15:22:26 +02:00
Cédric Pasteur
7ed81a8950 Moved Obc_printer to a separate file 2010-07-08 15:19:04 +02:00
Cédric Pasteur
978313de1e Moved sequential to compiler/ dir 2010-07-08 15:19:04 +02:00
Léonard Gérard
5cc57cd3b0 Static_exps should be in types. field name of ops is a param. 2010-07-08 15:17:08 +02:00
Cédric Pasteur
037f9be664 Remove unused code 2010-07-08 15:16:27 +02:00
Cédric Pasteur
769cb1d881 Updated ast for Static
- Static are used for consts in Heptagon and Minils.
For now, node static parameters remain int only
(ie they are type parameters). Do we need more ?
- Also updated Parsetree AST to the recent changes
in API
2010-07-08 15:16:27 +02:00
Léonard Gérard
3cc1652425 Minils and signature tweaked further. 2010-07-08 15:12:02 +02:00
Adrien Guatto
ed280669ec Efields and Etuple are op 2010-07-08 15:04:57 +02:00
Léonard Gérard
d58e83a985 Proposition 1. 2010-07-08 15:04:57 +02:00
Adrien Guatto
7918332353 Temporary fix for array literals. 2010-07-08 12:44:34 +02:00
Cédric Pasteur
d594ace895 This case is unused 2010-07-07 17:03:36 +02:00
Adrien Guatto
0712378133 Fixed output structure allocation in C backend 2010-07-07 14:44:43 +02:00
Cédric Pasteur
c123000eef Always generate a f_out struct
Generate it even if the node has no output. It 
should be noted that it is impossible to call
a node without an output in an Heptagon program. 
This is only useful to provide a simple interface
eg for the generation of main().
2010-07-07 09:58:23 +02:00
Adrien Guatto
0fbaa0217b Fixed missing include dir in minils/_tags 2010-07-06 13:35:11 +02:00
Léonard Gérard
65c12884bd SConst -> Sconst 2010-07-06 11:12:14 +02:00
Adrien Guatto
1113fd7ec1 Yet another refactoring fix 2010-07-02 15:45:50 +02:00
Adrien Guatto
5a6a3c74ac Fixed refactoring errors. 2010-07-02 15:38:11 +02:00
Adrien Guatto
eaafc5db05 C backend: better array printing 2010-07-02 15:30:46 +02:00
Léonard Gérard
0ae39e8698 Good static Constructors names.
Conflicts:

	compiler/global/static.ml
	compiler/heptagon/analysis/typing.ml
	compiler/heptagon/heptagon.ml
	compiler/heptagon/parsing/scoping.ml
	compiler/minils/mls_utils.ml
2010-07-01 20:00:46 +02:00
Léonard Gérard
de16b4f178 typo Mls_{P->p}arser 2010-07-01 19:41:07 +02:00
Adrien Guatto
a7e34a0a17 C backend: added missing #include 2010-07-01 15:41:07 +02:00
Adrien Guatto
3714cd2a39 C back-end: main() generation updated to the lastest calling convention. 2010-07-01 15:21:11 +02:00
Adrien Guatto
83f02ad86f C backend: moved main() to its own file. 2010-07-01 14:44:08 +02:00
Léonard Gérard
b93b176383 Mls parsing error handling adapted to menhir 2010-06-30 18:46:40 +02:00
Cédric Pasteur
79fb193206 New calling convention in generated code
Functions take as arg:
	- the inputs
	- a 'f_out' structure: if there is at least one
input (whatever their type are)
	- a 'f_mem' structure: containing memories and
contexts for child nodes. This is created only for
node (not for fun). A node declared statefull 
without any memory will have an empty structure.
2010-06-30 17:30:48 +02:00
Léonard Gérard
7e29ba4057 ?? nothing 2010-06-30 17:25:00 +02:00
Léonard Gérard
562c0ab602 re re Parsing. 2010-06-30 15:45:40 +02:00
Léonard Gérard
6ab18a65ec Parsing..... again. 2010-06-30 15:45:40 +02:00
Léonard Gérard
92afdbfb98 Mls parsing to ammend. 2010-06-30 15:45:40 +02:00
Cédric Pasteur
01d0cd02c3 Remove bounds hack in Eselect_dyn
We no longer need to store the bounds as the 
bounds check expression is generated from MiniLS
code where the type is directly available.
2010-06-30 13:46:46 +02:00
Cédric Pasteur
b4419a6760 Better deal with memory less nodes
There are now 3 kinds of nodes: Eprim : primitive 
nodes, Enode: nodes with memory, Efun: nodes 
without memory.

Typing now sets correct eq_statefull and b_statefull
for equations and blocks. Resets are only added 
when a node with memory is called.

The calling convention is the generated code needs
to be modified so that we can remove the context 
for nodes without memory.
2010-06-30 13:37:54 +02:00
Léonard Gérard
2af3686af2 Mls printer fix. 2010-06-30 03:25:08 +02:00
Léonard Gérard
2127a1c2d4 Mls printing fix. 2010-06-29 19:21:07 +02:00
Léonard Gérard
88732ef2a9 parsing warning removed. 2010-06-29 19:21:07 +02:00
Léonard Gérard
eca36de94b Moved mlsparsing stuff to minils/parsing. 2010-06-29 19:18:50 +02:00
Adrien Guatto
f35bf95458 Indentation fixes! 2010-06-29 11:18:50 +02:00
Adrien Guatto
ef55c8f9fd Fixed forgotten AST change in MiniLS. 2010-06-29 11:12:04 +02:00
Léonard Gérard
0f2d046d59 Gros blop pour que Mlsc compile.
-* Séparation du fichier minils avec création de mls_utils
-* Lexer et Parser qui fonctionnent (pas complets encore)
-* Use of menhir with --explain pour debug du parser
-* Quelques refactoring (ident/name...)
2010-06-28 18:06:39 +02:00
Adrien Guatto
ff07d77667 Assertion generation for C back-end. 2010-06-27 23:28:38 +02:00
Adrien Guatto
5db45bd497 Generated C programs now accept a max step command-line argument. 2010-06-27 23:28:38 +02:00
Adrien Guatto
b4ddefa65c Tabs, trailing ws and long lines shall receive no mercy! 2010-06-26 17:17:28 +02:00
Cédric Pasteur
dece22d0b6 Fix iterators with constant arrays 2010-06-25 13:48:57 +02:00
Cédric Pasteur
9b18eb71a4 Operators can appear in the exp normal form 2010-06-25 13:48:46 +02:00
Léonard Gérard
1a829ea4e0 Mls parser tweak, todos and co added 2010-06-24 05:05:58 +02:00
Cédric Pasteur
744f166e12 Add a missing case in Minils Init
The encoding of a reset for e1 -> e2 (in heptagon) is:
	if true fby false then e1 else e2

which is well initiliazed even in e2 = pre x.
2010-06-24 05:01:10 +02:00
Cédric Pasteur
8515c533d2 Updated Heptagon printer
The indentation is not perfect but this will do.
2010-06-24 04:59:35 +02:00
Cédric Pasteur
db6344921a Updated Obc printer 2010-06-24 04:56:53 +02:00
Adrien Guatto
206605a707 Added missing boolean case in MiniLS' print_type. 2010-06-24 04:56:53 +02:00
Cédric Pasteur
0a65964ee6 Put back error in Clocking 2010-06-24 04:56:53 +02:00