29 Commits (58086190eb03163873ce007fdce0441f6af0acb7)

Author SHA1 Message Date
Gwenaël Delaval 58086190eb Headers and license file for GPL
Headers for every source file (excluding examples), mentioning
authors, copyright and license (GPL)

COPYING file with GPLv3 content.
12 years ago
Léonard Gérard 0222d11b2d Do not introduce useless variable in [reset every] 13 years ago
Cédric Pasteur 81947eca40 Made linearity field not optional
This helped solve a few bugs with linear types,
for instance when using automata.
The intermediate code is not well-typed (wrt to
linear types only), after the encoding of automata.
13 years ago
Léonard Gérard 46ed39b7b3 Remove some warnings. 13 years ago
Léonard Gérard b73e6502a6 resets are now without constraint. 13 years ago
Léonard Gérard fd00f099f5 correct reset and level clock 13 years ago
Leonard Gerard a9aa794b18 Reset optim 13 years ago
Leonard Gerard 1d390848fe real good switch fix.
The order switch then reset was wrong, since some reset reset slower inner blocks and equations, to have reset correct after switch it would have been necessary to sample the reset condition correctly (use r when c) using the level_ck... anyway the order seems now irrelevant considering code size.
13 years ago
Léonard Gérard d2eeeee73f fix reset. 13 years ago
Léonard Gérard 9fa8e7e6ff mk_equation in hept computes the stateful field. 13 years ago
Léonard Gérard b8b16a7355 blop 13 years ago
Cédric Pasteur b1b8e103f2 Added partial application for iterators
For instance:
  ... = map<<n>> (f<<se>>)((t1, t1'))(t2, t3)

is translated to:
  for(int i =...)
    ... = f(t1, t1', t2[i], t3[i])
13 years ago
Léonard Gérard df469db394 New Java backend closing 14 years ago
Léonard Gérard f238f39f4d New reset pass, without switch ! 14 years ago
Léonard Gérard 2ae809c971 Fresh vars, and ident refactoring.
Idents.enter_node should be called when entering a node, it is done automagically by the mapfold unless you call directly Hept_mapfold.node_dec.
14 years ago
Léonard Gérard b85691be35 Bug fix in reset, loosing equations. 14 years ago
Léonard Gérard a22f7216f2 Added when and merge to heptagon. Need tests !
Clocking is still done in minils since it is way simpler.
14 years ago
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.
14 years ago
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.
14 years ago
Cédric Pasteur 515f9489c4 Rename *_mapfold to regular names 14 years ago
Cédric Pasteur a81dd0b2b4 Remove old version of files 14 years ago
Léonard Gérard f124bb4fd7 Refactoring Ident -> Idents ( uniform with Names etc ) 14 years ago
Cédric Pasteur 46a09cf369 Make Efield an op (as in Minils)
The fact that this commit mostly removes code proves
that this was a good choice.
14 years ago
Cédric Pasteur b0a5a7f13e Heptcheck compiles !! 14 years ago
Léonard Gérard d58e83a985 Proposition 1. 14 years ago
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.
14 years ago
Adrien Guatto b4ddefa65c Tabs, trailing ws and long lines shall receive no mercy! 14 years ago
Cédric Pasteur 6f2d5175e5 Do not add reset for op 14 years ago
Léonard Gérard 60a3ad15f8 move to subfolder compiler. 14 years ago