Commit graph

16 commits

Author SHA1 Message Date
Cédric Pasteur
02dd7fa124 Added alias for types (aka typedef)
For instance:
type metres = int
type metres = MyLib.longueur
type matrice = metres^10^100

Code generation in C (with typedef) included. The 
code uses the aliases for traceability.
2010-07-27 09:23:16 +02:00
Léonard Gérard
f124bb4fd7 Refactoring Ident -> Idents ( uniform with Names etc ) 2010-07-23 19:45:19 +02:00
Adrien Guatto
689a10a328 Cgen: $NODE_mem.h should not include itself. 2010-07-23 12:18:27 +02:00
Cédric Pasteur
89ceb8df76 Fixed duplicate declaration of local vars 2010-07-22 17:38:28 +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
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
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
ad2594ebfa Cgen compiles 2010-07-09 09:31:12 +02:00
Cédric Pasteur
cee9eed24a Moved sequential/ to obc/ 2010-07-08 15:20:25 +02:00