Commit graph

170 commits

Author SHA1 Message Date
Cédric Pasteur c12f1add0c Keep params in Obc
Remember the parameters of the called node in the 
parametrized version of Obc.
2010-07-22 09:44:57 +02:00
Cédric Pasteur 1be9f1c789 Fixed code generation for Elambda
- Added block notion in Obc
- Correct translation to C
2010-07-22 09:36:22 +02:00
Cédric Pasteur b6459cdace Obc_mapfold
Because I needed to iterate over Obc and it was 
almost as easy to write the generic iterator.
2010-07-21 15:54:41 +02:00
Adrien Guatto 9301ed0b09 Fixes for correct array literal C generation. 2010-07-19 15:16:14 +02:00
Cédric Pasteur b6583f22b6 Complete fix for the identifiers problem 2010-07-16 14:09:37 +02:00
Cédric Pasteur d42e56203b Fix for identifiers in C
Instead of calling cname_of_name before creating 
the C ast, keep original names and convert them
when pretty printing the code.
2010-07-16 13:48:37 +02:00
Cédric Pasteur cdc9b14a44 Fixed problem with multidimensional arrays in args 2010-07-16 12:38:45 +02:00
Cédric Pasteur 778dfdb3f9 Do not loop forever during code generation
- Detect when the computation of the static exp
using simplif failed and abort.
- Added a better way to compute operators in
Static
2010-07-16 12:04:51 +02:00
Cédric Pasteur 3f7564aaa6 Fix for code generation
A node declared with node is statefull (so has a
context struct) even though it is empty. Use
the global_name ref to get the name of the current 
module.
2010-07-16 11:28:01 +02:00
Cédric Pasteur 93fef027f0 Keep the list of static parameters in Obc 2010-07-15 11:31:32 +02:00
Cédric Pasteur 5440a073d6 Fixed generation of C code 2010-07-13 16:23:26 +02:00
Cédric Pasteur ee767064b1 Instantiation of parametrized nodes (v2)
- Many changes to make Hept2mls, mls2obc, etc
compile with the api changes
- Added Callgraph_mapfold: starting from a main
program, generates the list of instances of each
node necessary and creates them.
- Mls2seq deals with giving to the code generators
the correct source (mls or obc, wit or without
static parameters)

It is now possible to use parametrized nodes that 
are defined in other files. For that to work, the 
first file has to be compiled to an object file:
	heptc -c mylib.ept
which creates a mylib.epo file. Compiling the main
file will then generate all the instances of 
parametrized nodes from the lib (only the called 
nodes will be compiled, but all the nodes in the 
main file are compiled).
2010-07-13 14:03:39 +02:00
Cédric Pasteur 4598b29ad2 Forgot to move this file too 2010-07-13 08:47:02 +02:00
Cédric Pasteur e2af987967 Compile fix 2010-07-13 08:38:51 +02:00
Cédric Pasteur ad2594ebfa Cgen compiles 2010-07-09 09:31:12 +02:00
Cédric Pasteur 226ddd5c28 Updates for Obc 2010-07-08 17:22:13 +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 587ed634ea Updated Obc Ast 2010-07-08 15:21:30 +02:00
Cédric Pasteur 72ee834641 Proposition for improved Obc AST 2010-07-08 15:20:55 +02:00
Cédric Pasteur cee9eed24a Moved sequential/ to obc/ 2010-07-08 15:20:25 +02:00