summaryrefslogtreecommitdiffhomepage
path: root/src/compile.h
diff options
context:
space:
mode:
authorYukihiro "Matz" Matsumoto <[email protected]>2012-04-22 16:58:19 -0700
committerYukihiro "Matz" Matsumoto <[email protected]>2012-04-22 16:58:19 -0700
commitcf6e7966d3de0de1cf03e8c72dbde474d61d9f7d (patch)
tree4b7522da07ecf6e20b15642e8805281445bda638 /src/compile.h
parent7feb68eb9030dc15f216479b45533428534b050e (diff)
parent844d7d49b3803f35ee102179e35de283df8e96c2 (diff)
downloadmruby-cf6e7966d3de0de1cf03e8c72dbde474d61d9f7d.tar.gz
mruby-cf6e7966d3de0de1cf03e8c72dbde474d61d9f7d.zip
Merge pull request #35 from fceller/master
simple fix for underflow / capture errors and warnings
Diffstat (limited to 'src/compile.h')
-rw-r--r--src/compile.h12
1 files changed, 12 insertions, 0 deletions
diff --git a/src/compile.h b/src/compile.h
index f0e6b1874..212628deb 100644
--- a/src/compile.h
+++ b/src/compile.h
@@ -25,6 +25,12 @@ enum mrb_lex_state_enum {
EXPR_MAX_STATE
};
+struct mrb_parser_message {
+ int lineno;
+ int column;
+ char* message;
+};
+
struct mrb_parser_state {
mrb_state *mrb;
struct mrb_pool *pool;
@@ -55,14 +61,20 @@ struct mrb_parser_state {
void *ylval;
int nerr;
+ int nwarn;
mrb_ast_node *tree, *begin_tree;
+ int capture_errors;
+ struct mrb_parser_message error_buffer[10];
+ struct mrb_parser_message warn_buffer[10];
+
jmp_buf jmp;
};
struct mrb_parser_state* mrb_parse_file(mrb_state*,FILE*);
struct mrb_parser_state* mrb_parse_string(mrb_state*,char*);
struct mrb_parser_state* mrb_parse_nstring(mrb_state*,char*,size_t);
+struct mrb_parser_state* mrb_parse_nstring_ext(mrb_state*,char*,size_t);
int mrb_generate_code(mrb_state*, mrb_ast_node*);
int mrb_compile_file(mrb_state*,FILE*);