46 Commits (0d1aef8c782702d752457a3508f8058706dd66ef)

Author SHA1 Message Date
Gwenaël Delaval 0d1aef8c78 Bug correction: support of enumerated types as input for simulation
- use of a buffer to translate enumerated types from string to enum value
- hepts : correct interface with main
9 years ago
Nicolas Berthier d4fe017864 Bug correction in names of C functions for converting constructors to string. 10 years ago
Nicolas Berthier 99ab12aa13 Fixed warnings. 10 years ago
Nicolas Berthier 216550c0d1 Fixed warnings & documentation comments.
- gitignore: ignore files generated by `configure' script.
11 years ago
Gwenal Delaval 41fccc66fb Bugs corrections
- callgraph: add idents used for instantiated nodes
- cgen : added Idents.enter_node
- cmain : removed error when simulated node does not exist (existence
of simulated node was tested for every program, comprising loaded ones)
12 years ago
Gwenal Delaval b858f0e987 Reads and writes of records in main simulation 12 years ago
Gwenaël Delaval a15e17c02d Cleared simulation output 12 years ago
Gwenaël Delaval bf03077cd9 Correct output toward hepts 12 years ago
Gwenaël Delaval ef00823cf7 Added Marc as co-author 12 years ago
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
Adrien Guatto fa09d86dc1 Unrolling in C backend. 13 years ago
Adrien Guatto 5097c62449 C backend: put memory of the main node in a global variable. 13 years ago
Cédric Pasteur eec957cc6a Use underscores for generated variables 13 years ago
Cédric Pasteur 8cc879be7a Generate code from interface (.epi) files
It includes the definition of types, constants
and prototypes defined in the interface.
13 years ago
Cédric Pasteur da8956e247 Revert changes
Bring back cvarlist_of_ovarlist with a more 
explicit name to show its specificity
13 years ago
Brice Gelineau 9fb42a5feb Removed unused functions in C generation 13 years ago
Léonard Gérard 83b0182874 Merge branch 'clocked_inputs' into decade
Conflicts:
	compiler/heptagon/analysis/typing.ml
	compiler/heptagon/parsing/hept_scoping.ml
	compiler/heptagon/parsing/hept_static_scoping.ml
	compiler/main/mls2obc.ml
	compiler/obc/c/cmain.ml
13 years ago
Adrien Guatto 4794045208 Reworked Obc AST: from right patterns to extvalues.
I introduced a notion of extended values in Obc expressions,
replacing the Epattern constructor. Patterns may now only
occur at their rightful place, on the left of an assignment.

This change allows to index global constant arrays.
13 years ago
Léonard Gérard 87dc76f113 Code formating fixes (typos, tabs, spaces at endofline,...) 13 years ago
Gwenal Delaval acad16b98a Graphical simulator hepts
Added graphical simulator hepts

Added option -hepts to the compiler: this option formats the output of the simulation loop
to fit with hepts (currently working only on C target code). Typically, suppresses all
"decoration" output, like input or output names, and prints output on single lines.

Currently not implemented in hepts: array types.

Usage: to simulate the node Modulename.f:

heptc -target c -s f -hepts modulename.ept
gcc modulename_c/*.c -o ./f_sim
hepts -mod Modulename -node f -exec ./f_sim
13 years ago
Adrien Guatto aa1041319f C backend: do not use memory structs for combinatorial main() functions. 13 years ago
Cédric Pasteur a2303ec7e1 Other compile fixes
The java backend is disabled temporarily
13 years ago
Cédric Pasteur c6aa63b444 Heptc compiles again
AFor now expects expressions instead of static exps
13 years ago
Léonard Gérard 5d2f7dfa85 jeudi soir. still on mls2obc. 13 years ago
Léonard Gérard b8b16a7355 blop 13 years ago
Cédric Pasteur 35775c4131 C backend ported to recent API changes in Obc 13 years ago
Léonard Gérard cab8bb706e backport from async. 13 years ago
Léonard Gérard 315527231c Async in Heptagon Minils Obc. 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 9998d7ea39 Added a unit type. Tunit. 14 years ago
Adrien Guatto 6ff8ed993f Switched back to plain strings for some compiler options.
To be consistent or to be convenient, that is the question.
14 years ago
Adrien Guatto faf232ad64 Fixed silent error (missing @.) 14 years ago
Adrien Guatto a4c3d9e856 Relevant command-line options are now stored as qualnames. 14 years ago
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.
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
Cédric Pasteur 5aa83246ca Use qualnames for types and fields in C
We need qualnames because we try to find types and
fields in the environment during the generation of
the code.
14 years ago
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.
14 years ago
Cédric Pasteur 36addab3cc Use qualnames in Obc too 14 years ago
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.
14 years ago
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.
14 years ago
Léonard Gérard 9df4f625a2 Fixed location to use formatter instead of out_channel. 14 years ago
Adrien Guatto f7d08ca221 C backend: put the C code for node_decs into the same file. 14 years ago
Léonard Gérard f124bb4fd7 Refactoring Ident -> Idents ( uniform with Names etc ) 14 years ago
Cédric Pasteur b6583f22b6 Complete fix for the identifiers problem 14 years ago
Cédric Pasteur ee767064b1 Instantiation of parametrized nodes (v2)
- Many changes to make Hept2mls, mls2obc, etc
compile with the api changes
- Added Callgraph_mapfold: starting from a main
program, generates the list of instances of each
node necessary and creates them.
- Mls2seq deals with giving to the code generators
the correct source (mls or obc, wit or without
static parameters)

It is now possible to use parametrized nodes that 
are defined in other files. For that to work, the 
first file has to be compiled to an object file:
	heptc -c mylib.ept
which creates a mylib.epo file. Compiling the main
file will then generate all the instances of 
parametrized nodes from the lib (only the called 
nodes will be compiled, but all the nodes in the 
main file are compiled).
14 years ago
Cédric Pasteur 4598b29ad2 Forgot to move this file too 14 years ago