Commit graph

32 commits

Author SHA1 Message Date
Cédric Pasteur
b47dc918ec Fixed bug with loading modules
Do not forget to remember loaded modules
2011-05-02 14:27:42 +02:00
Cédric Pasteur
bed729b448 Fixed typing of const def
Like values, the typed version should be put in
the environment.
2011-04-28 09:28:07 +02:00
Cédric Pasteur
401aaeeb89 Type declarations should also be typed
This is necessary so that the static expressions
appearing in those types are correctly typed.
2011-04-21 16:29:24 +02:00
Léonard Gérard
5d2f7dfa85 jeudi soir. still on mls2obc. 2011-04-14 20:14:21 +02:00
Léonard Gérard
b8b16a7355 blop 2011-03-21 17:41:00 +01:00
Léonard Gérard
cab8bb706e backport from async. 2011-03-09 00:06:36 +01:00
Léonard Gérard
159bab2a55 async constants. 2011-03-08 13:41:28 +01:00
Léonard Gérard
8f4411e145 Recursives Qualnames.
In order to have a correct handling of inner classes in Java, and to prepare for modules inside modules.
2011-02-07 14:24:17 +01:00
Léonard Gérard
315527231c Async in Heptagon Minils Obc. 2011-01-24 16:09:27 +01:00
Léonard Gérard
d265d7a89b Minimize created exps with invalid_type. 2011-01-12 13:39:21 +01:00
Léonard Gérard
e174151d37 Unclutter ident printing. 2010-12-15 11:27:19 +01:00
Léonard Gérard
2ae809c971 Fresh vars, and ident refactoring.
Idents.enter_node should be called when entering a node, it is done automagically by the mapfold unless you call directly Hept_mapfold.node_dec.
2010-12-15 11:26:29 +01:00
Léonard Gérard
9998d7ea39 Added a unit type. Tunit. 2010-12-10 00:39:25 +01:00
Cédric Pasteur
df12e081ae Refactored Misc
Created two new files: 
 - utilities/global/compiler_options.ml: contains
 the options that can be set using the cli
 - utilities/global/errors.ml: contains global
 errors definition

Misc now only contains helper functions that have 
nothing to do with the ast or the compiler.
2010-09-15 09:38:52 +02:00
Léonard Gérard
e0e7bba733 Removed wrong sanity check in modules. 2010-09-13 11:06:42 +02:00
Léonard Gérard
d20a77e181 Removed one nasty bug in modules.ml 2010-09-13 01:14:03 +02:00
Léonard Gérard
a72ab6fa08 Removed debug g_env printing. 2010-09-12 23:55:54 +02:00
Léonard Gérard
9cc3176771 Modules fixed... Pay $$$ attention to partial application and mutable fields. 2010-09-10 17:11:34 +02:00
Léonard Gérard
1e5697b29a Removed Interface since it's job is now done during the scoping.
Moved printing stuff to Global_printer.
2010-09-10 14:06:33 +02:00
Cédric Pasteur
f6fb5861ce Make Typing compile 2010-09-10 13:59:38 +02:00
Cédric Pasteur
1d1f398e8a First try at updating Typing 2010-09-10 13:42:45 +02:00
Léonard Gérard
a54e570d0f Hept Scoping should be ok and documented,
Hept Parsing too,
all the reset to review carefully,
Typing to cut from all the scoping.
2010-09-09 19:48:20 +02:00
Léonard Gérard
5c09abeb18 Revet last commit a5f89876c2 and gives the right fix.
Plus remove all the forbidden '\n', replaced with '@.' or '@\n' depending on context.
2010-09-01 14:40:31 +02:00
Léonard Gérard
9df4f625a2 Fixed location to use formatter instead of out_channel. 2010-08-24 17:29:00 +02:00
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
Cédric Pasteur
0d9a35a8b6 Fixed Callgraph_mapfold 2010-07-13 15:37:29 +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
b0a5a7f13e Heptcheck compiles !! 2010-07-08 15:25:26 +02:00
Cédric Pasteur
68ecd0e781 Added consts in the signature of a module 2010-07-08 15:23:13 +02:00
Léonard Gérard
5baa30f7c1 Last refactor ? and hept_mapred shows in ! 2010-07-08 15:22:26 +02:00
Adrien Guatto
b4ddefa65c Tabs, trailing ws and long lines shall receive no mercy! 2010-06-26 17:17:28 +02:00
Léonard Gérard
60a3ad15f8 move to subfolder compiler. 2010-06-21 11:58:57 +02:00
Renamed from global/modules.ml (Browse further)