summaryrefslogtreecommitdiff
path: root/src/compiler.cc
diff options
context:
space:
mode:
authorAdrian Thurston <thurston@complang.org>2015-10-05 11:15:52 -0400
committerAdrian Thurston <thurston@complang.org>2015-10-05 11:21:55 -0400
commit904ac5cc1675b19249750e3f5492cba720dda4c5 (patch)
tree097fa6eb549809d993ec3ba2e89fdc658becc598 /src/compiler.cc
parentf19e2b452e5dc2a14a48fe71fa26796b5678b147 (diff)
downloadcolm-904ac5cc1675b19249750e3f5492cba720dda4c5.tar.gz
added syntax dedicated to reductions
This avoids interferrence with existing parsing code. Calling the commit/reduce code only if the reduce construct is used.
Diffstat (limited to 'src/compiler.cc')
-rw-r--r--src/compiler.cc7
1 files changed, 4 insertions, 3 deletions
diff --git a/src/compiler.cc b/src/compiler.cc
index 7f242cc0..cd95caf7 100644
--- a/src/compiler.cc
+++ b/src/compiler.cc
@@ -1141,8 +1141,9 @@ void Compiler::writeHostCall()
void Compiler::writeCommit()
{
*outStream <<
- "void commit_clear_parse_tree( program_t *prg, tree_t **sp, parse_tree_t *pt );\n"
- "void commit_forward_recurse( program_t *prg, tree_t **root, parse_tree_t *pt )\n"
+ "\n"
+ "void commit_forward_recurse( program_t *prg, tree_t **root,\n"
+ " struct pda_run *pda_run, parse_tree_t *pt )\n"
"{\n"
" tree_t **sp = root;\n"
"\n"
@@ -1186,7 +1187,7 @@ void Compiler::writeCommit()
" }\n"
" }\n"
"\n"
- " commit_clear_parse_tree( prg, sp, lel->child );\n"
+ " commit_clear_parse_tree( prg, sp, pda_run, lel->child );\n"
" lel->child = 0;\n"
" pt->flags |= PF_COMMITTED;\n"
"\n"