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}.
2019-10-13 13:27:52 +02:00
Adrien Guatto
0435a2420d
Fix miscompilation of Pervasives.xor to C
2018-10-12 16:56:01 +02:00
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.
2017-03-14 12:24:29 +01:00
Gwenaël Delaval
2f18926bf4
Clean up documentation comments
2017-03-03 11:41:57 +01:00
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.
2016-06-25 08:37:47 +02:00
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
2016-06-02 01:33:02 +02:00
Gwenaël Delaval
e8ec3e012c
Merge branch 'ctrl-n' into decade
2015-12-15 09:33:25 +01:00
Adrien Guatto
dc47767ba4
Print an empty default statement at the end of all C switches
...
This prevents modern compilers from emitting warnings when the generated C code
contains switch statements with (intentionally) missing cases.
2015-06-12 17:49:59 +02:00
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
2015-02-27 15:39:39 +01:00
Nicolas Berthier
cbcf8b9ac0
Using unqualified names for string representation of constructors in C backend.
...
+ minor modifications in various places.
2014-11-13 09:45:15 +01:00
Nicolas Berthier
d4fe017864
Bug correction in names of C functions for converting constructors to string.
2014-10-31 15:40:05 +01:00
Nicolas Berthier
5506690de5
Merge branch 'decade' into ctrl-n
2014-10-03 10:58:41 +02:00
Valentin Perrelle
1f2e084e6e
Fixed a bug where loops were not generated for copying arrays.
2014-06-25 18:53:34 +02:00
Nicolas Berthier
99ab12aa13
Fixed warnings.
2014-03-18 11:01:56 +01:00
Nicolas Berthier
216550c0d1
Fixed warnings & documentation comments.
...
- gitignore: ignore files generated by `configure' script.
2013-11-08 18:51:06 +01:00
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.
2013-03-15 09:31:19 +01:00
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)
2012-08-01 17:08:58 +02:00
Gwenal Delaval
b858f0e987
Reads and writes of records in main simulation
2012-07-31 16:58:22 +02:00
Gwenal Delaval
70cb94d0bd
Unroll correction
...
Order of statement was incorrect
2012-07-23 17:35:20 +02:00
Gwenaël Delaval
a15e17c02d
Cleared simulation output
2012-07-16 00:58:40 +02:00
Gwenaël Delaval
bf03077cd9
Correct output toward hepts
2012-06-29 02:01:49 +02:00
Gwenaël Delaval
ef00823cf7
Added Marc as co-author
2012-06-29 01:43:15 +02:00
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.
2012-06-27 18:14:29 +02:00
Adrien Guatto
f43fcb78f6
Only inline integer extvalues when unrolling
2012-02-08 18:31:51 +01:00
Adrien Guatto
ec0274cc82
C backend: do not inline consts by default.
2012-02-08 17:49:21 +01:00
Adrien Guatto
fa09d86dc1
Unrolling in C backend.
2012-02-08 17:47:28 +01:00
Adrien Guatto
998b3b0b89
Generate C89
2012-01-25 12:42:14 +01:00
Cédric Pasteur
54cde301f6
C code generation for printf
2011-12-12 10:36:24 +01:00
Adrien Guatto
0f71dbe145
Bitwise or.
2011-12-06 17:46:35 +01:00
Adrien Guatto
8d772e20e2
Bitwise and.
2011-12-06 15:44:21 +01:00
Adrien Guatto
1ec15b9409
Bitwise operators on integers.
2011-12-06 15:44:21 +01:00
Adrien Guatto
5097c62449
C backend: put memory of the main node in a global variable.
2011-12-05 10:18:50 +01:00
Cédric Pasteur
1c43a8b1ac
Fixed code generation for constant arrays
2011-09-14 09:08:28 +02:00
Cédric Pasteur
c550b09805
Fixed code generated for alias types to arrays
2011-09-09 13:54:29 +02:00
Cédric Pasteur
53043b403c
Small fixes in the C backend
2011-09-07 13:24:33 +02:00
Cédric Pasteur
eec957cc6a
Use underscores for generated variables
2011-09-06 14:42:34 +02:00
Cédric Pasteur
2147402a20
Const should be declared static
...
Otherwise the C compiler complains about multiple
definitions of the same symbol
2011-09-06 14:31:14 +02:00
Cédric Pasteur
4cd506f3db
Added c ast for constant
...
Also print only short names for struct fields
2011-09-06 14:20:57 +02:00
Cédric Pasteur
8cc879be7a
Generate code from interface (.epi) files
...
It includes the definition of types, constants
and prototypes defined in the interface.
2011-09-06 11:55:06 +02:00
Cédric Pasteur
da8956e247
Revert changes
...
Bring back cvarlist_of_ovarlist with a more
explicit name to show its specificity
2011-07-22 10:52:31 +02:00
Brice Gelineau
9fb42a5feb
Removed unused functions in C generation
2011-07-21 18:01:32 +02:00
Cédric Pasteur
a52e80bcad
Fixed some TODOs
2011-07-21 11:54:52 +02:00
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
2011-07-21 08:50:45 +02:00
Brice Gelineau
10115684d9
bugfix for reset calls in C
2011-07-08 10:51:10 +02:00
Cédric Pasteur
bb6b9868b0
Use the variable type to add or not an indirection
2011-07-05 17:46:43 +02:00
Léonard Gérard
5837f3906f
Multidimensional iterators in java.
2011-06-28 17:50:42 +02:00
Léonard Gérard
c5fbcbe765
removing white spaces
2011-06-28 17:50:42 +02:00
Brice Gelineau
c70d34ec06
Preliminary version of multidimensional iterators.
2011-06-28 17:50:42 +02:00
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
2011-06-28 14:46:43 +02:00
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.
2011-05-30 16:25:00 +02:00