Commit graph

111 commits

Author SHA1 Message Date
Nicolas Berthier
899d33afb6 Corrected a bug in generation of C records.
Corrected a somewhat unnoticeable but ugly bug in the generation of C
records, that could mess up the field names when they were not
assigned in the same order as in the declaration of the type.
2013-03-15 09:31:19 +01:00
Gwenal Delaval
41fccc66fb Bugs corrections
- callgraph: add idents used for instantiated nodes
- cgen : added Idents.enter_node
- cmain : removed error when simulated node does not exist (existence
of simulated node was tested for every program, comprising loaded ones)
2012-08-01 17:08:58 +02:00
Gwenal Delaval
b858f0e987 Reads and writes of records in main simulation 2012-07-31 16:58:22 +02:00
Gwenal Delaval
70cb94d0bd Unroll correction
Order of statement was incorrect
2012-07-23 17:35:20 +02:00
Gwenaël Delaval
a15e17c02d Cleared simulation output 2012-07-16 00:58:40 +02:00
Gwenaël Delaval
bf03077cd9 Correct output toward hepts 2012-06-29 02:01:49 +02:00
Gwenaël Delaval
ef00823cf7 Added Marc as co-author 2012-06-29 01:43:15 +02:00
Gwenaël Delaval
58086190eb Headers and license file for GPL
Headers for every source file (excluding examples), mentioning
authors, copyright and license (GPL)

COPYING file with GPLv3 content.
2012-06-27 18:14:29 +02:00
Adrien Guatto
f43fcb78f6 Only inline integer extvalues when unrolling 2012-02-08 18:31:51 +01:00
Adrien Guatto
ec0274cc82 C backend: do not inline consts by default. 2012-02-08 17:49:21 +01:00
Adrien Guatto
fa09d86dc1 Unrolling in C backend. 2012-02-08 17:47:28 +01:00
Adrien Guatto
998b3b0b89 Generate C89 2012-01-25 12:42:14 +01:00
Cédric Pasteur
54cde301f6 C code generation for printf 2011-12-12 10:36:24 +01:00
Adrien Guatto
0f71dbe145 Bitwise or. 2011-12-06 17:46:35 +01:00
Adrien Guatto
8d772e20e2 Bitwise and. 2011-12-06 15:44:21 +01:00
Adrien Guatto
1ec15b9409 Bitwise operators on integers. 2011-12-06 15:44:21 +01:00
Adrien Guatto
5097c62449 C backend: put memory of the main node in a global variable. 2011-12-05 10:18:50 +01:00
Cédric Pasteur
1c43a8b1ac Fixed code generation for constant arrays 2011-09-14 09:08:28 +02:00
Cédric Pasteur
c550b09805 Fixed code generated for alias types to arrays 2011-09-09 13:54:29 +02:00
Cédric Pasteur
53043b403c Small fixes in the C backend 2011-09-07 13:24:33 +02:00
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
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
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
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
a52e80bcad Fixed some TODOs 2011-07-21 11:54:52 +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
Brice Gelineau
10115684d9 bugfix for reset calls in C 2011-07-08 10:51:10 +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
c5fbcbe765 removing white spaces 2011-06-28 17:50:42 +02:00
Brice Gelineau
c70d34ec06 Preliminary version of multidimensional iterators. 2011-06-28 17:50:42 +02:00
Léonard Gérard
83b0182874 Merge branch 'clocked_inputs' into decade
Conflicts:
	compiler/heptagon/analysis/typing.ml
	compiler/heptagon/parsing/hept_scoping.ml
	compiler/heptagon/parsing/hept_static_scoping.ml
	compiler/main/mls2obc.ml
	compiler/obc/c/cmain.ml
2011-06-28 14:46:43 +02:00
Adrien Guatto
4794045208 Reworked Obc AST: from right patterns to extvalues.
I introduced a notion of extended values in Obc expressions,
replacing the Epattern constructor. Patterns may now only
occur at their rightful place, on the left of an assignment.

This change allows to index global constant arrays.
2011-05-30 16:25:00 +02:00
Brice Gelineau
938e8897b2 n-ary Sarray_power Earray_fill 2011-05-26 18:43:30 +02:00
Léonard Gérard
87dc76f113 Code formating fixes (typos, tabs, spaces at endofline,...) 2011-05-26 15:56:59 +02:00
Cédric Pasteur
d39e883e08 Filter outputs removed by memalloc 2011-05-25 09:12:16 +02:00
Cédric Pasteur
822e87605b One step closer to code generation with memalloc 2011-05-25 09:12:13 +02:00
Cédric Pasteur
96054a67b6 Correct order for indices in array declaration
In C, the order in the declaration of variables
is the same as for access
2011-05-24 11:16:27 +02:00
Adrien Guatto
36d93a411d Fix generated C code calling between(). 2011-05-12 16:32:52 +02:00
Gwenal Delaval
acad16b98a Graphical simulator hepts
Added graphical simulator hepts

Added option -hepts to the compiler: this option formats the output of the simulation loop
to fit with hepts (currently working only on C target code). Typically, suppresses all
"decoration" output, like input or output names, and prints output on single lines.

Currently not implemented in hepts: array types.

Usage: to simulate the node Modulename.f:

heptc -target c -s f -hepts modulename.ept
gcc modulename_c/*.c -o ./f_sim
hepts -mod Modulename -node f -exec ./f_sim
2011-05-12 10:08:13 +02:00
Gwenal Delaval
da648254d8 Added type string to pervasives, with string constants in AST 2011-05-10 17:07:17 +02:00
Cédric Pasteur
568dfc59fd Fixed generation of includes in C
The module names must be uncapitalized in includes
2011-05-09 09:50:18 +02:00
Cédric Pasteur
c8055cd1ff Fixed bugs with static records in C generation 2011-05-03 13:21:27 +02:00
Adrien Guatto
10418197c8 Initial support for return-less external functions.
The compiler still does not support unsafe functions that well. For example, putting an assert()/exit() in an automaton's state does not work correctly.
2011-04-28 15:24:35 +02:00
Adrien Guatto
aa1041319f C backend: do not use memory structs for combinatorial main() functions. 2011-04-27 15:29:33 +02:00
Adrien Guatto
00cb203dd9 Revert "C generation: fixed struct field name in step() call."
This reverts commit fc920d88ea.
2011-04-27 14:02:50 +02:00
Adrien Guatto
fc920d88ea C generation: fixed struct field name in step() call. 2011-04-27 11:53:44 +02:00
Cédric Pasteur
a2303ec7e1 Other compile fixes
The java backend is disabled temporarily
2011-04-19 09:49:00 +02:00