Léonard Gérard
3cc1652425
Minils and signature tweaked further.
2010-07-08 15:12:02 +02:00
Adrien Guatto
ed280669ec
Efields and Etuple are op
2010-07-08 15:04:57 +02:00
Léonard Gérard
d58e83a985
Proposition 1.
2010-07-08 15:04:57 +02:00
Adrien Guatto
7918332353
Temporary fix for array literals.
2010-07-08 12:44:34 +02:00
Cédric Pasteur
d594ace895
This case is unused
2010-07-07 17:03:36 +02:00
Adrien Guatto
0712378133
Fixed output structure allocation in C backend
2010-07-07 14:44:43 +02:00
Cédric Pasteur
c123000eef
Always generate a f_out struct
...
Generate it even if the node has no output. It
should be noted that it is impossible to call
a node without an output in an Heptagon program.
This is only useful to provide a simple interface
eg for the generation of main().
2010-07-07 09:58:23 +02:00
Adrien Guatto
0fbaa0217b
Fixed missing include dir in minils/_tags
2010-07-06 13:35:11 +02:00
Léonard Gérard
65c12884bd
SConst -> Sconst
2010-07-06 11:12:14 +02:00
Adrien Guatto
1113fd7ec1
Yet another refactoring fix
2010-07-02 15:45:50 +02:00
Adrien Guatto
5a6a3c74ac
Fixed refactoring errors.
2010-07-02 15:38:11 +02:00
Adrien Guatto
eaafc5db05
C backend: better array printing
2010-07-02 15:30:46 +02:00
Léonard Gérard
0ae39e8698
Good static Constructors names.
...
Conflicts:
compiler/global/static.ml
compiler/heptagon/analysis/typing.ml
compiler/heptagon/heptagon.ml
compiler/heptagon/parsing/scoping.ml
compiler/minils/mls_utils.ml
2010-07-01 20:00:46 +02:00
Léonard Gérard
de16b4f178
typo Mls_{P->p}arser
2010-07-01 19:41:07 +02:00
Adrien Guatto
a7e34a0a17
C backend: added missing #include
2010-07-01 15:41:07 +02:00
Adrien Guatto
3714cd2a39
C back-end: main() generation updated to the lastest calling convention.
2010-07-01 15:21:11 +02:00
Adrien Guatto
83f02ad86f
C backend: moved main() to its own file.
2010-07-01 14:44:08 +02:00
Léonard Gérard
b93b176383
Mls parsing error handling adapted to menhir
2010-06-30 18:46:40 +02:00
Cédric Pasteur
79fb193206
New calling convention in generated code
...
Functions take as arg:
- the inputs
- a 'f_out' structure: if there is at least one
input (whatever their type are)
- a 'f_mem' structure: containing memories and
contexts for child nodes. This is created only for
node (not for fun). A node declared statefull
without any memory will have an empty structure.
2010-06-30 17:30:48 +02:00
Léonard Gérard
7e29ba4057
?? nothing
2010-06-30 17:25:00 +02:00
Léonard Gérard
562c0ab602
re re Parsing.
2010-06-30 15:45:40 +02:00
Léonard Gérard
6ab18a65ec
Parsing..... again.
2010-06-30 15:45:40 +02:00
Léonard Gérard
92afdbfb98
Mls parsing to ammend.
2010-06-30 15:45:40 +02:00
Cédric Pasteur
01d0cd02c3
Remove bounds hack in Eselect_dyn
...
We no longer need to store the bounds as the
bounds check expression is generated from MiniLS
code where the type is directly available.
2010-06-30 13:46:46 +02:00
Cédric Pasteur
b4419a6760
Better deal with memory less nodes
...
There are now 3 kinds of nodes: Eprim : primitive
nodes, Enode: nodes with memory, Efun: nodes
without memory.
Typing now sets correct eq_statefull and b_statefull
for equations and blocks. Resets are only added
when a node with memory is called.
The calling convention is the generated code needs
to be modified so that we can remove the context
for nodes without memory.
2010-06-30 13:37:54 +02:00
Léonard Gérard
2af3686af2
Mls printer fix.
2010-06-30 03:25:08 +02:00
Léonard Gérard
2127a1c2d4
Mls printing fix.
2010-06-29 19:21:07 +02:00
Léonard Gérard
88732ef2a9
parsing warning removed.
2010-06-29 19:21:07 +02:00
Léonard Gérard
eca36de94b
Moved mlsparsing stuff to minils/parsing.
2010-06-29 19:18:50 +02:00
Adrien Guatto
f35bf95458
Indentation fixes!
2010-06-29 11:18:50 +02:00
Adrien Guatto
ef55c8f9fd
Fixed forgotten AST change in MiniLS.
2010-06-29 11:12:04 +02:00
Léonard Gérard
0f2d046d59
Gros blop pour que Mlsc compile.
...
-* Séparation du fichier minils avec création de mls_utils
-* Lexer et Parser qui fonctionnent (pas complets encore)
-* Use of menhir with --explain pour debug du parser
-* Quelques refactoring (ident/name...)
2010-06-28 18:06:39 +02:00
Adrien Guatto
ff07d77667
Assertion generation for C back-end.
2010-06-27 23:28:38 +02:00
Adrien Guatto
5db45bd497
Generated C programs now accept a max step command-line argument.
2010-06-27 23:28:38 +02:00
Adrien Guatto
b4ddefa65c
Tabs, trailing ws and long lines shall receive no mercy!
2010-06-26 17:17:28 +02:00
Cédric Pasteur
dece22d0b6
Fix iterators with constant arrays
2010-06-25 13:48:57 +02:00
Cédric Pasteur
9b18eb71a4
Operators can appear in the exp normal form
2010-06-25 13:48:46 +02:00
Léonard Gérard
1a829ea4e0
Mls parser tweak, todos and co added
2010-06-24 05:05:58 +02:00
Cédric Pasteur
744f166e12
Add a missing case in Minils Init
...
The encoding of a reset for e1 -> e2 (in heptagon) is:
if true fby false then e1 else e2
which is well initiliazed even in e2 = pre x.
2010-06-24 05:01:10 +02:00
Cédric Pasteur
8515c533d2
Updated Heptagon printer
...
The indentation is not perfect but this will do.
2010-06-24 04:59:35 +02:00
Cédric Pasteur
db6344921a
Updated Obc printer
2010-06-24 04:56:53 +02:00
Adrien Guatto
206605a707
Added missing boolean case in MiniLS' print_type.
2010-06-24 04:56:53 +02:00
Cédric Pasteur
0a65964ee6
Put back error in Clocking
2010-06-24 04:56:53 +02:00
Cédric Pasteur
5c318ace90
Uniformize labels
2010-06-24 04:54:46 +02:00
Léonard Gérard
15529eed90
Small todo fix, (reactivate error printing in clocking since now the printer works).
2010-06-24 03:32:46 +02:00
Léonard Gérard
9fff8e4ad8
Refactoring and organisation.
...
Separate parser, lexer and printer of hpetagon (Hetp_*) from the minils ones (Mls_*)
ident_of_var -> ident_of_name
get_current_location -> current_loc
2010-06-24 03:30:14 +02:00
Léonard Gérard
60a3ad15f8
move to subfolder compiler.
2010-06-21 11:58:57 +02:00