diff options
author | Teddy <ted.sybil@gmail.com> | 2013-08-09 10:31:09 +0800 |
---|---|---|
committer | Teddy <ted.sybil@gmail.com> | 2013-08-09 10:31:09 +0800 |
commit | 0c606491335e99017897a7710461214412243dd7 (patch) | |
tree | bb14db40980d5029d9e582cb0b130e328657d401 /parser.cpp | |
parent | e782bbeb805fffaaa4a118fb88be96894ac68c28 (diff) |
...
Diffstat (limited to 'parser.cpp')
-rw-r--r-- | parser.cpp | 3 |
1 files changed, 3 insertions, 0 deletions
@@ -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))) |