unix: Add option to only compile, and not execute code.
This commit is contained in:
parent
87bb093eb6
commit
f22626ee4f
10
unix/main.c
10
unix/main.c
@ -29,7 +29,8 @@
|
|||||||
#include <readline/history.h>
|
#include <readline/history.h>
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
// Default emit options
|
// Command line options, with their defaults
|
||||||
|
bool compile_only = false;
|
||||||
uint emit_opt = MP_EMIT_OPT_NONE;
|
uint emit_opt = MP_EMIT_OPT_NONE;
|
||||||
|
|
||||||
#if MICROPY_ENABLE_GC
|
#if MICROPY_ENABLE_GC
|
||||||
@ -87,6 +88,10 @@ STATIC void execute_from_lexer(mp_lexer_t *lex, mp_parse_input_kind_t input_kind
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (compile_only) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
// execute it
|
// execute it
|
||||||
nlr_buf_t nlr;
|
nlr_buf_t nlr;
|
||||||
if (nlr_push(&nlr) == 0) {
|
if (nlr_push(&nlr) == 0) {
|
||||||
@ -226,6 +231,7 @@ int usage(char **argv) {
|
|||||||
);
|
);
|
||||||
int impl_opts_cnt = 0;
|
int impl_opts_cnt = 0;
|
||||||
printf(
|
printf(
|
||||||
|
" compile-only -- parse and compile only\n"
|
||||||
" emit={bytecode,native,viper} -- set the default code emitter\n"
|
" emit={bytecode,native,viper} -- set the default code emitter\n"
|
||||||
);
|
);
|
||||||
impl_opts_cnt++;
|
impl_opts_cnt++;
|
||||||
@ -273,6 +279,8 @@ void pre_process_options(int argc, char **argv) {
|
|||||||
exit(usage(argv));
|
exit(usage(argv));
|
||||||
}
|
}
|
||||||
if (0) {
|
if (0) {
|
||||||
|
} else if (strcmp(argv[a + 1], "compile-only") == 0) {
|
||||||
|
compile_only = true;
|
||||||
} else if (strcmp(argv[a + 1], "emit=bytecode") == 0) {
|
} else if (strcmp(argv[a + 1], "emit=bytecode") == 0) {
|
||||||
emit_opt = MP_EMIT_OPT_BYTE_CODE;
|
emit_opt = MP_EMIT_OPT_BYTE_CODE;
|
||||||
} else if (strcmp(argv[a + 1], "emit=native") == 0) {
|
} else if (strcmp(argv[a + 1], "emit=native") == 0) {
|
||||||
|
Loading…
Reference in New Issue
Block a user