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
Cédric Pasteur
a3b271c948
Allow to write x.f.g
2010-07-27 15:32:39 +02:00
Cédric Pasteur
5b628d3c16
No need to call message directly
2010-07-27 14:14:24 +02:00
Cédric Pasteur
69270e9eb1
Open modules before typing anything
2010-07-27 14:12:27 +02:00
Cédric Pasteur
eb0db1dafc
Call Modules.find_const
...
The exception is intercepted at the level of the
find_const that was redefined in Typing otherwise
2010-07-27 14:12:11 +02:00
Cédric Pasteur
2e44402b03
Two fixes in heptc
...
- Add the directory of the file as an include
- write interfaces with uncapitalized filenames,
as expected by modules.
2010-07-27 14:00:15 +02:00
Cédric Pasteur
5939673999
Catch errors raised during typing of static exp
2010-07-27 13:28:33 +02:00
Cédric Pasteur
56570f904d
Fixed bug with static exp and array_fill
...
The power is now in the static args
2010-07-27 13:22:46 +02:00
Cédric Pasteur
650bbb1c93
A const can be a const from another module
2010-07-27 12:24:51 +02:00
Cédric Pasteur
0e7d9ead1f
Use mapfold for typing consts and signatures
...
Fixes a problem with typing a signature with
consts that depends on previous consts.
2010-07-27 12:09:19 +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
947435f024
Do not forget to put qualified names for node calls
2010-07-26 16:23:21 +02:00