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