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
9448ed23a1
Formatting fixes
2010-06-30 17:30:48 +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
Adrien Guatto
d0b222b003
Working Menhir parser with --table
2010-06-30 17:00:07 +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
Adrien Guatto
6e9cd7f490
Fixed missing error reporting.
2010-06-30 14:11:13 +02:00
Adrien Guatto
7d6ed5d30f
Fixed parse error reporting
2010-06-30 14:04:17 +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
0c5a8d8ffe
compilers refactoring. and bug fix of heptc vs heptcheck.
2010-06-29 19:21:07 +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
7c0c2e0415
v_name -> v_ident for idents....
2010-06-29 19:21:01 +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
Cédric Pasteur
3a80061392
Fix compilation
2010-06-28 16:15:44 +02:00
Cédric Pasteur
9105b54c1f
Fix for causality
...
Tuples should behave like ands for nodes that
are not reads or writes of a single variable
2010-06-28 16:12:14 +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
21891b8746
Fixed bug in causal
2010-06-24 05:01:11 +02:00
Cédric Pasteur
b360e56893
Unbreak Graph
2010-06-24 05:01:10 +02:00
Cédric Pasteur
4525f5cfd0
More compile fix
2010-06-24 05:01:10 +02:00
Cédric Pasteur
c57ae52862
Do not forget to write the interface file
2010-06-24 05:01:10 +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
7984917b0e
Make the file more readable
...
Use let in and meaningfull names
to show the structure of the functions
(which shows that it is more simple that it
appeared before)
2010-06-24 05:01:10 +02:00
Adrien Guatto
30338a3f38
Removed outdated command-line options.
2010-06-24 04:59:35 +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
Cédric Pasteur
6f2d5175e5
Do not add reset for op
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
ac87128e54
Put a special case for operators
...
Without this, pre x + 1 cannot be written.
2010-06-24 04:55:15 +02:00
Cédric Pasteur
ccfd3f368a
Disable this for now
2010-06-24 04:55:15 +02:00
Cédric Pasteur
5f1b63b33a
Fix bug with locations
2010-06-24 04:55:15 +02:00
Cédric Pasteur
3b6ca84d8d
Remove code that should only be in memalloc branch
2010-06-24 04:54:46 +02:00
Cédric Pasteur
12224395ae
Fix printing
2010-06-24 04:54:46 +02:00
Cédric Pasteur
5c318ace90
Uniformize labels
2010-06-24 04:54:46 +02:00