Commit graph

826 commits

Author SHA1 Message Date
Cédric Pasteur
eec957cc6a Use underscores for generated variables 2011-09-06 14:42:34 +02:00
Cédric Pasteur
2147402a20 Const should be declared static
Otherwise the C compiler complains about multiple
definitions of the same symbol
2011-09-06 14:31:14 +02:00
Cédric Pasteur
f3e9d738a0 Made the Scade example compile in C 2011-09-06 14:30:30 +02:00
Cédric Pasteur
4cd506f3db Added c ast for constant
Also print only short names for struct fields
2011-09-06 14:20:57 +02:00
Cédric Pasteur
e7e81f2637 Added some missing operators 2011-09-06 14:19:45 +02:00
Cédric Pasteur
33bc0adff1 Type should be unaliased when expecting an array 2011-09-06 13:39:44 +02:00
Cédric Pasteur
8cc879be7a Generate code from interface (.epi) files
It includes the definition of types, constants
and prototypes defined in the interface.
2011-09-06 11:55:06 +02:00
Cédric Pasteur
ace0cec555 Made the Scade example compile 2011-09-05 16:03:39 +02:00
Cédric Pasteur
5843869adb Load module before trying to unalias 2011-09-05 16:00:57 +02:00
Cédric Pasteur
78fe2d2fce Open modules _before_ static scoping 2011-09-05 15:33:31 +02:00
Cédric Pasteur
379f509dfc Added typing of signatures
This fixes a bug where mapfold would insert 
untyped constants in the code.
2011-09-05 15:33:31 +02:00
Gwenaël Delaval
626b6cad3f New tests
- ckannot.ept : bug with clock annotations handling in Normalize (corrected)
- threestates.ept : handling of merges in Normalize (corrected)
2011-08-04 23:47:28 +02:00
Gwenaël Delaval
c57b71b6aa Merge branch 'bzr' into decade
- Added Boolean module (enum types to boolean vectors)
- Added Hept_clocking analysis, called before Boolean
- Added z3z target from minils (sigali format)
- Bug corrections in Normalize, Normalize_mem

Conflicts:
	compiler/heptagon/analysis/typing.ml
	compiler/heptagon/heptagon.ml
	compiler/heptagon/parsing/hept_parser.mly
	compiler/heptagon/parsing/hept_parsetree.ml
	compiler/heptagon/parsing/hept_scoping.ml
	compiler/main/hept2mls.ml
	compiler/main/heptc.ml
	compiler/main/mls2seq.ml
	compiler/minils/minils.ml
	compiler/minils/transformations/normalize_mem.ml
	test/check
2011-08-04 13:37:33 +02:00
Gwenal Delaval
2c4be9d42c Correct scoping and typing with contracts 2011-07-27 16:13:45 +02:00
Gwenal Delaval
c77386d517 Active Boolean pass and Sigali backend 2011-07-27 11:21:34 +02:00
Cédric Pasteur
134ab83b05 Fix the Makefile
It simply calls ocamlbuild.  We still need a way
to configure and install necessary files.
2011-07-27 09:12:09 +02:00
Cédric Pasteur
da8956e247 Revert changes
Bring back cvarlist_of_ovarlist with a more 
explicit name to show its specificity
2011-07-22 10:52:31 +02:00
Brice Gelineau
9fb42a5feb Removed unused functions in C generation 2011-07-21 18:01:32 +02:00
Cédric Pasteur
de71831b2c Idents and params should not have the same name
Raise an error if an ident has the same name as
a static parameter
2011-07-21 14:16:35 +02:00
Cédric Pasteur
a52e80bcad Fixed some TODOs 2011-07-21 11:54:52 +02:00
Cédric Pasteur
69a5ad8df8 Fixed code generation of n-dim static arrays
Also added some tests.
2011-07-21 11:19:07 +02:00
Cédric Pasteur
d20932e13c Better error message for argument errors
Print a message to show the problem is with the
arguments and not the expression itself, by 
catching  the exception earlier.
2011-07-21 10:50:51 +02:00
Cédric Pasteur
e11bf08dae Better error message for array type errors
If an array of the wrong size is given, give an 
error with the full types instead of the bare
constraint.
2011-07-21 10:26:34 +02:00
Cédric Pasteur
0a372672e0 Fixed bug with type alias
We should always unalias a type if we're expecting
an array type.
2011-07-21 09:13:49 +02:00
Cédric Pasteur
7d95b95ed7 Merge branch 'memalloc' into decade
Conflicts:
	compiler/global/signature.ml
	compiler/heptagon/analysis/typing.ml
	compiler/heptagon/hept_printer.ml
	compiler/heptagon/hept_utils.ml
	compiler/heptagon/heptagon.ml
	compiler/heptagon/parsing/hept_parser.mly
	compiler/heptagon/parsing/hept_parsetree.ml
	compiler/heptagon/parsing/hept_scoping.ml
	compiler/heptagon/transformations/switch.ml
	compiler/main/hept2mls.ml
	compiler/minils/minils.ml
	compiler/minils/mls_printer.ml
	compiler/obc/c/cgen.ml
	compiler/obc/control.ml
	compiler/utilities/misc.mli
2011-07-21 08:50:45 +02:00
Léonard Gérard
250ccb8e23 Fix iterators obc pattern types 2011-07-08 17:22:58 +02:00
Léonard Gérard
57155b45e2 remove the ; _ } from ocaml 3.12 ... 2011-07-08 15:31:17 +02:00
Adrien Guatto
1e95cc4098 patch tomato wrong merge. 2011-07-08 15:27:17 +02:00
Léonard Gérard
13955147ca patch java wrong merge. 2011-07-08 15:25:00 +02:00
Adrien Guatto
40e64b305d Tomato: disable debug messages by default 2011-07-08 11:56:38 +02:00
Adrien Guatto
7d9e31a83b Tomato checking in check.sh 2011-07-08 11:56:38 +02:00
Adrien Guatto
d1c2789574 Tomato: properly handle n-ary functions. 2011-07-08 11:56:38 +02:00
Adrien Guatto
8f0ef3a256 Properly use clocking information in corner cases. 2011-07-08 11:56:38 +02:00
Adrien Guatto
2283fcdfaa Properly handle fused outputs. 2011-07-08 11:56:38 +02:00
Adrien Guatto
3657018861 Tomato: finer equivalence classes for Eapp and
Eiterator when a reset variable is present.
2011-07-08 11:56:38 +02:00
Adrien Guatto
3c5bb4e8b7 Tomato working with clocks and when. 2011-07-08 11:56:37 +02:00
Adrien Guatto
891174d73c All-new and fresh tomato!
Not working ATM:
  * tuples
  * when
2011-07-08 11:56:37 +02:00
Léonard Gérard
0518ecafe6 Merge branch 'multidimensional' into decade
Conflicts:
	compiler/obc/c/cgen.ml
	compiler/obc/java/java_main.ml
2011-07-08 11:36:46 +02:00
Léonard Gérard
ab3823874c Feature: Java main will give bin args as static params to the main.
consider having a main node like this one:

node main<<i : int; b : bool>> () returns...

Then if to call the generated program, you'll need ot give an int and a bool.
Furthermore, if you give an additional arg, it'll be used as the wanted
iteration number.
Conflicts:

	compiler/obc/java/java_main.ml
2011-07-08 11:26:05 +02:00
Léonard Gérard
4ac4347dc8 Add an error (in java main) when the specified main node is incorrect.
Conflicts:

	compiler/obc/java/java_main.ml
2011-07-08 11:18:39 +02:00
Léonard Gérard
1c428e7fe1 Forgot to remove the comments around static scoping for interfaces. 2011-07-08 11:18:39 +02:00
Brice Gelineau
10115684d9 bugfix for reset calls in C 2011-07-08 10:51:10 +02:00
Léonard Gérard
f40dc66e57 Patch typing.ml from brice email 27/06/11. 2011-07-07 16:21:48 +02:00
Brice Gelineau
b6aecf9869 Bugfix for reset calls in C 2011-07-07 16:18:25 +02:00
Brice Gelineau
42c2936040 Bugfix for the clocking analysis of iterators 2011-07-06 15:56:56 +02:00
Adrien Guatto
cedcabfbc4 Fix memory normalization: the correct clock was
missing.
2011-07-06 11:50:02 +02:00
Cédric Pasteur
34b65c1234 Do not generate for loops
These loops are already present in the Obc code.
2011-07-05 18:08:21 +02:00
Cédric Pasteur
bb6b9868b0 Use the variable type to add or not an indirection 2011-07-05 17:46:43 +02:00
Léonard Gérard
5837f3906f Multidimensional iterators in java. 2011-06-28 17:50:42 +02:00
Léonard Gérard
f2ca353cac Pour que ca marche sur clocked_inputs (cela vient de memalloc) 2011-06-28 17:50:42 +02:00