diff options
author | Jo-Philipp Wich <jo@mein.io> | 2022-07-17 23:21:03 +0200 |
---|---|---|
committer | Jo-Philipp Wich <jo@mein.io> | 2022-07-30 13:46:23 +0200 |
commit | 10e056d3744384a029f05de5903c489898722fc3 (patch) | |
tree | e6621194f1053fdc314dfee02358972028a6a5ff /include | |
parent | 862e49de33bd07daea129d553968579019c79b59 (diff) |
compiler: add support for import/export statements
This commit introduces syntax level support for ES6 style module import
and export statements. Imports are resolved at compile time and the
corresponding module code is compiled into the main program.
Also add testcases to cover import and export statement semantics.
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
Diffstat (limited to 'include')
-rw-r--r-- | include/ucode/program.h | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/include/ucode/program.h b/include/ucode/program.h index 4fb4a9b..c350fea 100644 --- a/include/ucode/program.h +++ b/include/ucode/program.h @@ -46,6 +46,8 @@ uc_program_put(uc_program_t *prog) { fn = fn##_tmp, \ fn##_tmp = (uc_function_t *)fn##_tmp->progref.prev) +#define uc_program_function_last(prog) (uc_function_t *)prog->functions.next + uc_function_t *uc_program_function_new(uc_program_t *, const char *, uc_source_t *, size_t); size_t uc_program_function_id(uc_program_t *, uc_function_t *); uc_function_t *uc_program_function_load(uc_program_t *, size_t); |