Adrien Guatto
54cbec9190
C backend: generate A_types.{h,c} when compiling A.epi
...
Before this commit, the C backend would put the translated definitions
of an interface file A.epi into A.{h,c}. This is inconsistent with the
C code generated for source files, which expects to find A_types.{h,c}.
5 years ago
Adrien Guatto
0435a2420d
Fix miscompilation of Pervasives.xor to C
6 years ago
Gwenaël Delaval
e4f51fea68
Switch to non-deprecated String functions
...
Use of String.*_ascii non-deprecated versions.
NB: Heptagon becomes available only for Ocaml versions >= 4.03.0.
7 years ago
Gwenaël Delaval
2f18926bf4
Clean up documentation comments
7 years ago
Gwenaël Delaval
69b8cc5a18
Added operator (=>) in Pervasives module
...
Operator (=>) for implication added in Pervasives module.
"a => b" is translated into "not a or b" at code generation.
8 years ago
Gwenaël Delaval
d8d24ffd95
Handle modularity/several controllers by module
...
* Several controllers by module : added option "-m <Module>" in ctrl2ept
Generate controllers for each node of one module in <module>_controller.ept
* Types of <Module> no longer moved to <Module>_controller
* Added "_types" suffix for type dependencies for C target
8 years ago
Nicolas Berthier
cbcf8b9ac0
Using unqualified names for string representation of constructors in C backend.
...
+ minor modifications in various places.
10 years ago
Nicolas Berthier
5506690de5
Merge branch 'decade' into ctrl-n
10 years ago
Valentin Perrelle
1f2e084e6e
Fixed a bug where loops were not generated for copying arrays.
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
Nicolas Berthier
899d33afb6
Corrected a bug in generation of C records.
...
Corrected a somewhat unnoticeable but ugly bug in the generation of C
records, that could mess up the field names when they were not
assigned in the same order as in the declaration of the type.
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
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
f43fcb78f6
Only inline integer extvalues when unrolling
12 years ago
Adrien Guatto
ec0274cc82
C backend: do not inline consts by default.
12 years ago
Adrien Guatto
fa09d86dc1
Unrolling in C backend.
12 years ago
Cédric Pasteur
54cde301f6
C code generation for printf
13 years ago
Adrien Guatto
0f71dbe145
Bitwise or.
13 years ago
Adrien Guatto
8d772e20e2
Bitwise and.
13 years ago
Adrien Guatto
1ec15b9409
Bitwise operators on integers.
13 years ago
Cédric Pasteur
c550b09805
Fixed code generated for alias types to arrays
13 years ago
Cédric Pasteur
53043b403c
Small fixes in the C backend
13 years ago
Cédric Pasteur
eec957cc6a
Use underscores for generated variables
13 years ago
Cédric Pasteur
4cd506f3db
Added c ast for constant
...
Also print only short names for struct fields
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
Cédric Pasteur
a52e80bcad
Fixed some TODOs
13 years ago
Cédric Pasteur
7d95b95ed7
Merge branch 'memalloc' into decade
...
Conflicts:
compiler/global/signature.ml
compiler/heptagon/analysis/typing.ml
compiler/heptagon/hept_printer.ml
compiler/heptagon/hept_utils.ml
compiler/heptagon/heptagon.ml
compiler/heptagon/parsing/hept_parser.mly
compiler/heptagon/parsing/hept_parsetree.ml
compiler/heptagon/parsing/hept_scoping.ml
compiler/heptagon/transformations/switch.ml
compiler/main/hept2mls.ml
compiler/minils/minils.ml
compiler/minils/mls_printer.ml
compiler/obc/c/cgen.ml
compiler/obc/control.ml
compiler/utilities/misc.mli
13 years ago
Brice Gelineau
10115684d9
bugfix for reset calls in C
13 years ago
Cédric Pasteur
bb6b9868b0
Use the variable type to add or not an indirection
13 years ago
Léonard Gérard
5837f3906f
Multidimensional iterators in java.
13 years ago
Léonard Gérard
c5fbcbe765
removing white spaces
13 years ago
Brice Gelineau
c70d34ec06
Preliminary version of multidimensional iterators.
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
Brice Gelineau
938e8897b2
n-ary Sarray_power Earray_fill
13 years ago
Cédric Pasteur
d39e883e08
Filter outputs removed by memalloc
13 years ago
Cédric Pasteur
822e87605b
One step closer to code generation with memalloc
13 years ago
Adrien Guatto
36d93a411d
Fix generated C code calling between().
13 years ago
Gwenal Delaval
da648254d8
Added type string to pervasives, with string constants in AST
13 years ago
Cédric Pasteur
568dfc59fd
Fixed generation of includes in C
...
The module names must be uncapitalized in includes
13 years ago
Cédric Pasteur
c8055cd1ff
Fixed bugs with static records in C generation
13 years ago
Adrien Guatto
10418197c8
Initial support for return-less external functions.
...
The compiler still does not support unsafe functions that well. For example, putting an assert()/exit() in an automaton's state does not work correctly.
13 years ago
Adrien Guatto
00cb203dd9
Revert "C generation: fixed struct field name in step() call."
...
This reverts commit fc920d88ea
.
13 years ago
Adrien Guatto
fc920d88ea
C generation: fixed struct field name in step() call.
13 years ago
Cédric Pasteur
3c8fc39745
Fix C backend with new obc ast
13 years ago
Cédric Pasteur
c6aa63b444
Heptc compiles again
...
AFor now expects expressions instead of static exps
13 years ago