Commit graph

239 commits

Author SHA1 Message Date
Cédric Pasteur
72ee834641 Proposition for improved Obc AST 2010-07-08 15:20:55 +02:00
Cédric Pasteur
3690585710 Added static records in static_exp 2010-07-08 15:20:55 +02:00
Cédric Pasteur
0b253d22db typing_static_exp should return the static exp
We need to return the static exp because we have 
to replace constructor with their longname.
2010-07-08 15:20:54 +02:00
Cédric Pasteur
cee9eed24a Moved sequential/ to obc/ 2010-07-08 15:20:25 +02:00
Cédric Pasteur
662e81d810 Add location and type to static exps 2010-07-08 15:20:25 +02:00
Cédric Pasteur
2fd0860ba8 Renamed Scoping and Parsetree 2010-07-08 15:19:04 +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
Cédric Pasteur
24cea56666 Add support for any type of constants 2010-07-08 15:18:08 +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
Cédric Pasteur
c46896ca55 Same api change in Heptagon as in Minils 2010-07-08 15:12:34 +02:00
Léonard Gérard
3cc1652425 Minils and signature tweaked further. 2010-07-08 15:12:02 +02:00
Léonard Gérard
50bd90183d Good static Constructors names. 2010-07-08 15:10:59 +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
Léonard Gérard
075cab202a _tags fix. 2010-07-05 16:10:00 +02:00
Adrien Guatto
3dfdf680ee myocamlbuild.ml fix for bytecode 2010-07-05 15:15:24 +02:00
Adrien Guatto
2d8e02d844 Fix: typo size_constr -> size_constrs 2010-07-05 12:09:35 +02:00
Adrien Guatto
6b4881ccd0 Revamped testing framework 2010-07-02 16:03:04 +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
d44cd3571b enforce_style fix. 2010-07-01 20:01:23 +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
9448ed23a1 Formatting fixes 2010-06-30 17:30:48 +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
Adrien Guatto
d0b222b003 Working Menhir parser with --table 2010-06-30 17:00:07 +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
Adrien Guatto
7ab2efea40 Cleaning tool 2010-06-30 15:36:07 +02:00
Adrien Guatto
6e9cd7f490 Fixed missing error reporting. 2010-06-30 14:11:13 +02:00
Adrien Guatto
7d6ed5d30f Fixed parse error reporting 2010-06-30 14:04:17 +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