aboutsummaryrefslogtreecommitdiffhomepage
path: root/parser.cpp
diff options
context:
space:
mode:
authorGravatar ridiculousfish <corydoras@ridiculousfish.com>2013-12-26 12:24:00 -0800
committerGravatar ridiculousfish <corydoras@ridiculousfish.com>2013-12-26 12:24:00 -0800
commit924b8cbe24023985d7bafcec7b79303e2e7cc2e4 (patch)
treea347fbe0c992ffb403d1ecbc20390e4db18a22a4 /parser.cpp
parent5b1a53265233f837e272aa0936267e04c8848856 (diff)
New ideas about how to use new parser for execution. Beginnings of
implementation.
Diffstat (limited to 'parser.cpp')
-rw-r--r--parser.cpp8
1 files changed, 8 insertions, 0 deletions
diff --git a/parser.cpp b/parser.cpp
index 821d86c2..ad31cce0 100644
--- a/parser.cpp
+++ b/parser.cpp
@@ -427,6 +427,12 @@ void parser_t::pop_block()
delete old;
}
+void parser_t::pop_block(const block_t *expected)
+{
+ assert(expected == this->current_block());
+ this->pop_block();
+}
+
const wchar_t *parser_t::get_block_desc(int block) const
{
for (size_t i=0; block_lookup[i].desc; i++)
@@ -2908,7 +2914,9 @@ void parser_t::eval_job(tokenizer_t *tok)
{
int was_builtin = 0;
if (j->first_process->type==INTERNAL_BUILTIN && !j->first_process->next)
+ {
was_builtin = 1;
+ }
scoped_push<int> tokenizer_pos_push(&current_tokenizer_pos, job_begin_pos);
exec_job(*this, j);