Commit Graph

1207 Commits

Author SHA1 Message Date
jeltz 8d77b7434b
Add a typedef for char* as string 2020-12-28 04:39:16 +01:00
jeltz bbe74e7ffe
Add a pass to check for invalid async nesting 2020-12-28 04:38:40 +01:00
jeltz e536ec17d6
Use external linkage for global async variables 2020-12-26 04:28:39 +01:00
jeltz 74f5e9a2e8
Generate run_timers with correct timing 2020-12-25 23:06:30 +01:00
jeltz 5346c720d2
WIP: Generate the body of run_timers 2020-12-25 22:24:45 +01:00
jeltz 58e6a951e4
Declaration of static variables in Cfundef 2020-12-25 21:54:58 +01:00
jeltz 1ba3284031
Extract timers from obj_dec.o_ack 2020-12-25 19:44:01 +01:00
jeltz 9b44a7a7ab
Create run_timers function for async calls 2020-12-25 15:36:05 +01:00
jeltz 5b1a286999
Fix bug of async calls of stateless functions 2020-12-25 13:17:31 +01:00
jeltz eca2974bba
Define global variables for async state 2020-12-24 06:41:47 +01:00
jeltz 2bd04ed02d
Generate calls to async stub (with a dummy _async) 2020-12-24 06:01:48 +01:00
jeltz 9687050f25
Remove MstepAsync and add stub function for calls 2020-12-24 05:28:47 +01:00
jeltz 73db32c6be
Fix bug and generate MstepAsync call in MiniLS
Easync applications were not flowing throw some Heptagon passes.
2020-12-23 13:08:10 +01:00
jeltz e9a718a868
Fix formatting issue for Easync in hept_printer.ml 2020-12-23 06:08:30 +01:00
jeltz fbad83a61d
Add and use atomic_memcpy for the AVR backend 2020-12-22 21:33:04 +01:00
jeltz f72a092af3
Add support for _local_in in cexprs 2020-12-22 20:54:16 +01:00
jeltz f864d10095
Update async example
The new example is more useful because it involves a memory.
2020-12-22 17:46:50 +01:00
jeltz 622a55ed81
Use _local_out variable for _async_step method 2020-12-22 17:45:56 +01:00
jeltz e0fd48562b
Add argument for out variable name 2020-12-22 03:34:56 +01:00
jeltz c36ab43ab1
WIP: Add _async_step method
Copy functions are called, but the body doesn't use the good variable
names.
2020-12-22 01:54:19 +01:00
jeltz 34902b58f0
Add basic copy functions
Warning: These functions are not yet atomic.
2020-12-22 00:30:59 +01:00
jeltz 5376d9993e
Add _in struct for async 2020-12-21 11:27:30 +01:00
jeltz fdee5b68c0
WIP: Add MstepAsync method to ObC 2020-12-21 00:16:04 +01:00
jeltz 53cc7a739f
Add an example of the async keyword 2020-12-20 19:57:44 +01:00
jeltz efd6bebf91
Add basic Easync support to heptagon/*
Warning: While the project compiles, async code is not yet generated.
2020-12-20 19:35:22 +01:00
jeltz df3238cd52
Add Easync to MiniLustre (cont.) 2020-12-20 19:34:25 +01:00
jeltz 85d06d6d56
Add Easync to MiniLustre 2020-12-20 18:25:24 +01:00
jeltz a1390a5dae
Add an alias for ack_name type 2020-12-20 18:12:48 +01:00
jeltz 9447e3566f
Handle Easync in heptagon/*
Warning: The code still doesn't compile.
2020-12-20 18:03:37 +01:00
jeltz 830f8e4bfa
Add async call syntax to the parser
Warning: The code doesn't compile at this stage.
2020-12-20 15:02:12 +01:00
Gwenaël Delaval 67abb99502 Merge branch 'generate-types-file' into 'master'
C backend: generate A_types.{h,c} when compiling A.epi

See merge request synchrone/heptagon!4
2019-10-31 14:54:28 +01:00
Gwenaël Delaval 91dd7af1a0 Merge branch 'web-update' into 'master'
Point to gitlab repo

See merge request synchrone/heptagon!3
2019-10-31 14:52:59 +01:00
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 f05c20aba9 web: point to gitlab repo 2019-10-13 12:28:33 +02:00
Gwenaël Delaval 239e23211f Remove test t20.ept 2018-10-30 18:02:57 +01:00
Gwenaël Delaval a304a9003b Merge branch 'fix_boolop' into 'master'
Fix miscompilation of Pervasives.xor to C

See merge request gdelaval/heptagon!1
2018-10-30 17:49:53 +01:00
Gwenaël Delaval 89eddd77c4 Add test for xor operator 2018-10-30 17:15:35 +01:00
Gwenaël Delaval d2234e64d8 Merge branch 'fix_heptc_script' into 'master'
Remove broken Python bit from heptc script

See merge request gdelaval/heptagon!2
2018-10-30 10:13:53 +01:00
Adrien Guatto 0435a2420d Fix miscompilation of Pervasives.xor to C 2018-10-12 16:56:01 +02:00
Adrien Guatto 99460e24e5 Remove broken Python bit from heptc script 2018-10-12 16:05:09 +02:00
Gwenaël Delaval e0d1900f3a Version 1.05.00
- Option -simple-scheduler active for scheduling post-ctrln code generation
 - Handle implication operator in Sigali backend
 - Compatibility with reatk >= 0.14
2018-06-19 22:07:03 +02:00
Gwenaël Delaval b51c292231 Allow use of simple scheduler after control synthesis code generation
The -simple-scheduler option now imply the use of simple scheduler
both before and after control synthesis code generation.
2018-06-07 11:57:51 +02:00
Nicolas Berthier 7abe92dc0d Adapt to new interface of reatk.ctrlNbac (≥ 0.14) 2018-06-06 14:45:50 +01:00
Nicolas Berthier 8872bb3998 Do not remove sub-directories in `Compiler_utils.clean_dir' 2018-03-02 14:27:15 +00:00
Nicolas Berthier 95bb1a72ad Handle implication operator in Sigali backend 2018-03-02 14:26:10 +00:00
Gwenaël Delaval 95c9eb699b Version 1.04.00 2017-09-29 14:58:37 +02:00
Gwenaël Delaval 24469c9ae1 Update .gitignore 2017-09-29 00:08:42 +02:00
Timothy Bourke 63289fe9f6 Allow semicolons after tel's 2017-09-29 00:08:42 +02:00
Timothy Bourke fa4aaee865 Typedef for real in C target 2017-09-29 00:08:42 +02:00
Timothy Bourke 94badc5f01 Add an abbreviation for the 'real' type 2017-09-29 00:08:42 +02:00