Léonard Gérard
6da5171e6a
Flatten arguments fix in cloking.
2010-09-27 18:16:00 +02:00
Léonard Gérard
acdd480e0c
Suit up Hept_parsetree.
...
small changes and comments.
2010-09-20 23:31:49 +02:00
Léonard Gérard
8f0f0598de
Small comments.
2010-09-18 22:30:43 +02:00
Cédric Pasteur
65f1a076d8
Re enable Initialization
...
That was easy to fix...
2010-09-15 09:58:35 +02: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
Cédric Pasteur
8dad10f39b
Port heptcheck to recent changes
2010-09-14 17:22:52 +02:00
Cédric Pasteur
5e73f46f7e
Remove some unused code in Typing
2010-09-14 13:29:27 +02:00
Léonard Gérard
02db2ad6b4
Changed compile flags, and cleaned a bit.
...
Warn as error for partial match.
Warn for unused variables : added some TODO to check.
PS : I'll deal with callgraph which is doing things that Modules does.
2010-09-14 09:39:02 +02:00
Cédric Pasteur
4a5c9130e7
Updated version of Hept_printer
...
The code is much clearer but it should print
mostly the same thing.
2010-09-13 17:04:13 +02:00
Cédric Pasteur
d8dffe15d8
Fixed remainings non exhaustive patterns
...
Now the only shown warnings are the X type that
we don't care about
2010-09-13 16:02:33 +02:00
Cédric Pasteur
1857cb7c47
Identifiers only need to be unique inside a node
2010-09-13 15:20:09 +02:00
Cédric Pasteur
3d02b85bd6
Fixed some non exhaustive pattern matchings
...
Added assert_n functions to decompose to get a
tuple from a list of known size, and assert_nmin
when the list has at least n elements.
2010-09-13 15:19:40 +02:00
Léonard Gérard
3a0429f93f
Merge branch 'qualified_ast'
...
Conflicts:
compiler/obc/c/cgen.ml
2010-09-13 12:50:10 +02:00
Léonard Gérard
412425301a
Added Sfield to differentiate from Sconstructor.
2010-09-13 12:05:10 +02:00
Léonard Gérard
d00ad67abb
unbound types and vars fixed.
2010-09-13 11:39:23 +02:00
Cédric Pasteur
0e6eb98bf7
Do not add consts to env again
2010-09-13 11:23:52 +02:00
Cédric Pasteur
4cc18831b4
Remove useless code
2010-09-13 11:04:17 +02:00
Cédric Pasteur
5da49aa30d
Re enable typing
2010-09-13 09:36:45 +02:00
Léonard Gérard
fd4d0942f4
Support tuples as args in Typing
...
Ported CP : 18e17a6fba37f9207937c9b60f0ad851c6e5b719
2010-09-13 01:21:35 +02:00
Cédric Pasteur
0fa3d1efb1
Fixed problem in Typing
2010-09-10 17:24:02 +02:00
Léonard Gérard
9ccb6db03f
Fix, see bugs. ( we probably want a pass to try to convert every exp to static_exp *)
2010-09-10 17:10:53 +02:00
Léonard Gérard
44e7a84c00
Automata fixed.
2010-09-10 17:09:50 +02:00
Cédric Pasteur
cc039ac42d
Make heptc compile
2010-09-10 14:29:13 +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
Cédric Pasteur
e4e429d3fc
Add the signature of a node during scoping
...
It was done for signature but not for node def
2010-09-10 13:41:23 +02:00
Léonard Gérard
9cf0130512
Better scoping messages.
2010-09-10 11:46:50 +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
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
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
9df4f625a2
Fixed location to use formatter instead of out_channel.
2010-08-24 17:29:00 +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
Léonard Gérard
205fa71046
Automata file cleaned a bit, still needs documentation and good comments.
2010-08-15 20:22:18 +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
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
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