summaryrefslogtreecommitdiff
path: root/src/pdacodegen.cc
diff options
context:
space:
mode:
authorAdrian Thurston <thurston@colm.net>2018-07-04 13:23:21 +0700
committerAdrian Thurston <thurston@colm.net>2018-07-04 13:23:21 +0700
commit00b1dd7777079036321afb8b3dcff0a229815517 (patch)
tree74f4d3acf8c043b03b1182e0453659cd8dca4f8a /src/pdacodegen.cc
parente87efd2f55958dc4f915890091ecf436d33d8c4f (diff)
downloadcolm-00b1dd7777079036321afb8b3dcff0a229815517.tar.gz
reusing stream impls when parsing from 'input'
To detect parsing from a top level input and to avoid appending it to a parser's top level (thus creating a tree), added a new type for input so we can replace the parser's top level. This change forces us to a two level structure where stream seq is at the top and stream data underneath. Requires us to hack the destructor so that we don't multiple delete the stream impl.
Diffstat (limited to 'src/pdacodegen.cc')
-rw-r--r--src/pdacodegen.cc1
1 files changed, 1 insertions, 0 deletions
diff --git a/src/pdacodegen.cc b/src/pdacodegen.cc
index fdb68852..e5c07cf1 100644
--- a/src/pdacodegen.cc
+++ b/src/pdacodegen.cc
@@ -514,6 +514,7 @@ void PdaCodeGen::writeRuntimeData( colm_sections *runtimeData, struct pda_tables
" " << runtimeData->argv_el_id << ",\n"
" " << runtimeData->stds_el_id << ",\n"
" " << runtimeData->struct_inbuilt_id << ",\n"
+ " " << runtimeData->struct_inbuilt_id << ",\n"
" " << runtimeData->struct_stream_id << ",\n"
" &fsm_execute,\n"
" &sendNamedLangEl,\n"