Commit graph

258 commits

Author SHA1 Message Date
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
15448fdff9 mlsc and mls_parsetree etc. 2010-09-07 16:32:08 +02:00
Léonard Gérard
52f351b0d3 ast pretty finished 2010-09-07 16:28:01 +02:00
Léonard Gérard
f9b88a27b8 Small fixes to the compilation processes.
*Locations should be pretty damn good now.
*Mlsc is close to be up-to-date, still need a scoping pass etc (to be posted soon)
2010-09-07 16:28:01 +02:00
Cédric Pasteur
bbf5e85999 Mapfold for Hept_parsetree 2010-09-06 14:45:39 +02:00
Cédric Pasteur
88691354de Remove useless code 2010-09-06 14:45:24 +02:00
Cédric Pasteur
ffff23b675 Remove Elambda
Replace Elambda with a central repository of 
anonymous nodes. It made the AST unnecessarily 
complex.
2010-09-06 14:03:47 +02:00
Cédric Pasteur
2956e6feb4 Fix printing of arrays in C code
It should be 
  f(int a[5])
instead of 
  f(int *a)
because the second one does not scale for 
multidimensional arrays, eg
  g(int b[10][5]) is ok
but
  g(int **b) is not.
2010-09-03 15:27:58 +02:00
Adrien Guatto
1d8f2f2a85 Removed useless code for old module handling in cgen. 2010-09-03 11:50:52 +02:00
Léonard Gérard
1cf00d305e verbose printing on std_err... 2010-09-02 17:52:42 +02:00
Léonard Gérard
aad7b29c30 small print debugging tweaks. 2010-09-01 14:42:44 +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
Adrien Guatto
a5f89876c2 Fixed missing new-line in scoping/typing error reporting. 2010-08-31 18:15:51 +02:00
Léonard Gérard
30c786c06e Some more clean up with formatter and so on. 2010-08-29 22:30:51 +02:00
Léonard Gérard
9eaafe9736 replaced mapfold with callgraph_mapfold. And the fixes to compile. 2010-08-26 13:55:29 +02:00
Léonard Gérard
aef39b8036 Callgraph_mapfold polished. 2010-08-24 17:30:19 +02:00
Léonard Gérard
9df4f625a2 Fixed location to use formatter instead of out_channel. 2010-08-24 17:29:00 +02:00
Léonard Gérard
64c44efad5 Cosmetic mls_printer changes. 2010-08-24 17:13:28 +02:00
Léonard Gérard
c4a926f489 Correct Mapfold !! Or at least much more than before.
Still not sure whether the notion of main_nodes is correct.
A parametrized node not used right in the module gets removed.
Is that the wanted behaviour ?
2010-08-24 11:07:05 +02:00
Adrien Guatto
4c909ee39d Fixed erroneous doc for Eupdate 2010-08-19 12:39:32 +02:00
Adrien Guatto
288b0049e4 Improved Obc pretty-printer, still far from perfect. 2010-08-19 12:38:22 +02:00
Léonard Gérard
8bda39eae9 Correct error message with assert false for int_of_static_exp. And some indentation. 2010-08-19 11:28:47 +02:00
Léonard Gérard
d5e9358315 Small mls_printer fixes : empty args should print "()". 2010-08-19 11:28:46 +02:00
Léonard Gérard
8570fe9407 Callgraph_mapfold fix.... not totally fixed... and it's still a big mess. 2010-08-17 23:30:27 +02:00
Léonard Gérard
74faffa423 Mls printing order fix ( const at top of program ) 2010-08-17 23:30:26 +02:00
Léonard Gérard
64251c6298 Mls_mapfold fixes to iterate well on types. 2010-08-17 23:30:26 +02:00
Léonard Gérard
a3ac71174c Static exp instantiation fix. 2010-08-17 23:30:26 +02:00
Adrien Guatto
9df3f8ec54 Print unfolded programs when in verbose mode. 2010-08-17 17:51:11 +02:00
Adrien Guatto
d2979fd4dd Fixed bug in Sarray_power typing. 2010-08-17 15:26:19 +02:00
Adrien Guatto
fe1475a03e Typing fix: type static exp initializing a last. 2010-08-17 15:06:08 +02:00
Adrien Guatto
744565250e Missing new-line for const pretty-printing in Mls_printer 2010-08-17 15:06:08 +02:00
Léonard Gérard
205fa71046 Automata file cleaned a bit, still needs documentation and good comments. 2010-08-15 20:22:18 +02:00
Adrien Guatto
6b87bb5ac0 Fixed confusion in mls2obc: concatenation should be handled at the
action level.
2010-08-04 15:36:20 +02:00
Léonard Gérard
4b3c3ba8b5 Revert "Fixed problem in clocking" e3676d1e3c
Fixing the actual bug :
* static_exp should not be created without type
after or during the typing pass.
2010-08-03 22:38:42 +02:00
Léonard Gérard
79c4e2a581 Print causality constraints in a human readable shape. 2010-08-02 16:32:40 +02:00
Léonard Gérard
418b961293 Small fixes to the compilation processes.
*Locations should be pretty damn good now.
*Mlsc is up to date, still need a scoping pass (to be posted soon)
2010-08-02 16:31:57 +02:00
Adrien Guatto
e3a03806e4 Added missing boolean operator: XOR. 2010-08-02 16:14:35 +02:00
Adrien Guatto
41bad3d8c4 C backend: "bool" type mandates the inclusion of stdbool.h 2010-07-30 12:44:12 +02:00
Cédric Pasteur
8f4220e08d Made Eupdate dynamic
Modifying an array with
 [ a with [i] = v ]
should expected a dynamic (not static) value
for i (nothing happens if i is in the wrong range).
This is the same behaviour as in Scade and it is 
useful eg to modify an array in a foldi.
2010-07-28 12:34:07 +02:00
Cédric Pasteur
3f0005dba1 Open modules during scoping
We need to open Modules during scoping so that 
we can resolve consts given without a module name.
2010-07-28 10:44:32 +02:00
Cédric Pasteur
c99e29ef74 Make sure to unalias type when checking for arrays 2010-07-28 09:53:16 +02:00
Cédric Pasteur
c2ebaec784 Correct normalization of Ctuple
It was not that hard, just had to stop and really
take the time to understand the problem...
2010-07-28 09:39:47 +02:00
Cédric Pasteur
ebc1f326b4 Fixed initialization of (=) operator 2010-07-28 09:39:47 +02:00
Cédric Pasteur
7945ef9eb8 Fixed a problem with simple_exp
This enables the parser to accept both
	m.x.y
and (m.x).y
2010-07-28 09:39:47 +02:00
Adrien Guatto
d4f441ae19 Fixed missing control in node apps with resets. 2010-07-27 17:56:15 +02:00
Cédric Pasteur
627979534a Generate correct call for operators 2010-07-27 17:48:21 +02:00
Cédric Pasteur
221eea1644 Added polymorphic (=) and (<>) operators
These two operators really need to be polymorphic, 
so they cannot be in Pervasives. a <> b is translated
to not (a = b>) at parsing.
2010-07-27 17:16:49 +02:00
Cédric Pasteur
6d8556c63e Added missing cases for causality 2010-07-27 17:16:49 +02:00
Adrien Guatto
f7d08ca221 C backend: put the C code for node_decs into the same file. 2010-07-27 16:28:23 +02:00
Adrien Guatto
c328ecb9bd Obc_utils can now compute dependencies of an Obc program. 2010-07-27 16:28:23 +02:00