diff options
| author | Ryan Scott <[email protected]> | 2013-05-18 11:05:09 +1000 |
|---|---|---|
| committer | Ryan Scott <[email protected]> | 2013-05-18 11:05:09 +1000 |
| commit | 8161f0f6d7f89ad723163943d2d3abc38cd02df5 (patch) | |
| tree | e6ce15a81d79744aa9b7ec30bd32b994586a60db /include | |
| parent | 008aec2bbcd38fa13c27b6df2b2463b6a88cefff (diff) | |
| parent | c8c4dfe426da121549f73fd776d0696a701db6b6 (diff) | |
| download | mruby-8161f0f6d7f89ad723163943d2d3abc38cd02df5.tar.gz mruby-8161f0f6d7f89ad723163943d2d3abc38cd02df5.zip | |
Merge remote-tracking branch 'origin/master'
Diffstat (limited to 'include')
| -rw-r--r-- | include/mruby.h | 1 | ||||
| -rw-r--r-- | include/mruby/compile.h | 5 |
2 files changed, 6 insertions, 0 deletions
diff --git a/include/mruby.h b/include/mruby.h index 272a0d420..9fe70e5b8 100644 --- a/include/mruby.h +++ b/include/mruby.h @@ -301,6 +301,7 @@ void mrb_raisef(mrb_state *mrb, struct RClass *c, const char *fmt, ...); void mrb_name_error(mrb_state *mrb, mrb_sym id, const char *fmt, ...); void mrb_warn(mrb_state *mrb, const char *fmt, ...); void mrb_bug(mrb_state *mrb, const char *fmt, ...); +void mrb_print_backtrace(mrb_state *mrb); /* macros to get typical exception objects note: diff --git a/include/mruby/compile.h b/include/mruby/compile.h index 51615fe9f..c1c646508 100644 --- a/include/mruby/compile.h +++ b/include/mruby/compile.h @@ -14,12 +14,15 @@ extern "C" { #include "mruby.h" #include <setjmp.h> +struct mrb_parser_state; /* load context */ typedef struct mrbc_context { mrb_sym *syms; int slen; char *filename; short lineno; + int (*partial_hook)(struct mrb_parser_state*); + void *partial_data; mrb_bool capture_errors:1; mrb_bool dump_result:1; mrb_bool no_exec:1; @@ -28,6 +31,7 @@ typedef struct mrbc_context { mrbc_context* mrbc_context_new(mrb_state *mrb); void mrbc_context_free(mrb_state *mrb, mrbc_context *cxt); const char *mrbc_filename(mrb_state *mrb, mrbc_context *c, const char *s); +void mrbc_partial_hook(mrb_state *mrb, mrbc_context *c, int (*partial_hook)(struct mrb_parser_state*), void*data); /* AST node structure */ typedef struct mrb_ast_node { @@ -104,6 +108,7 @@ struct mrb_parser_state { #ifdef ENABLE_STDIO FILE *f; #endif + mrbc_context *cxt; char *filename; int lineno; int column; |
