diff options
| author | take_cheeze <[email protected]> | 2013-09-02 00:11:17 +0900 |
|---|---|---|
| committer | take_cheeze <[email protected]> | 2013-09-02 00:48:07 +0900 |
| commit | 0b806ca17ba1a9dc6b5863050090a74e51236745 (patch) | |
| tree | 1560617d507113a71c3f632acb126b1eae01d7d0 /include | |
| parent | 8082a37748215462562977dab9b78ae92eca0ad6 (diff) | |
| download | mruby-0b806ca17ba1a9dc6b5863050090a74e51236745.tar.gz mruby-0b806ca17ba1a9dc6b5863050090a74e51236745.zip | |
reduce node size
Diffstat (limited to 'include')
| -rw-r--r-- | include/mruby/compile.h | 8 |
1 files changed, 6 insertions, 2 deletions
diff --git a/include/mruby/compile.h b/include/mruby/compile.h index 0f7cffd08..ed4e9612c 100644 --- a/include/mruby/compile.h +++ b/include/mruby/compile.h @@ -37,8 +37,7 @@ void mrbc_partial_hook(mrb_state *mrb, mrbc_context *c, int (*partial_hook)(stru /* AST node structure */ typedef struct mrb_ast_node { struct mrb_ast_node *car, *cdr; - uint16_t lineno; - char const* filename; + uint16_t lineno, filename; } mrb_ast_node; /* lexer states */ @@ -144,6 +143,10 @@ struct mrb_parser_state { struct mrb_parser_message error_buffer[10]; struct mrb_parser_message warn_buffer[10]; + mrb_sym* filename_table; + size_t filename_table_length; + int current_filename_index; + jmp_buf jmp; }; @@ -152,6 +155,7 @@ void mrb_parser_free(struct mrb_parser_state*); void mrb_parser_parse(struct mrb_parser_state*,mrbc_context*); void mrb_parser_set_filename(struct mrb_parser_state*, char const*); +char const* mrb_parser_get_filename(struct mrb_parser_state*, uint16_t idx); /* utility functions */ #ifdef ENABLE_STDIO |
