From 0c606491335e99017897a7710461214412243dd7 Mon Sep 17 00:00:00 2001 From: Teddy Date: Fri, 9 Aug 2013 10:31:09 +0800 Subject: ... --- parser.cpp | 3 +++ 1 file changed, 3 insertions(+) (limited to 'parser.cpp') diff --git a/parser.cpp b/parser.cpp index ff21b7b..97482d4 100644 --- a/parser.cpp +++ b/parser.cpp @@ -149,6 +149,9 @@ Pair *ASTGenerator::absorb(Tokenizor *tk) { FrameObj **top_ptr = parse_stack; for (;;) { + if (top_ptr == parse_stack + PARSE_STACK_SIZE) + throw TokenError("Parser", RUN_ERR_STACK_OVERFLOW); + if (top_ptr - parse_stack > 1 && !IS_BRAKET(*(top_ptr - 1)) && IS_BRAKET(*(top_ptr - 2))) -- cgit v1.2.3