summaryrefslogtreecommitdiff
path: root/colm/bytecode.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'colm/bytecode.cpp')
-rw-r--r--colm/bytecode.cpp8
1 files changed, 4 insertions, 4 deletions
diff --git a/colm/bytecode.cpp b/colm/bytecode.cpp
index 03474e73..b40326f3 100644
--- a/colm/bytecode.cpp
+++ b/colm/bytecode.cpp
@@ -133,7 +133,7 @@ Tree *call_parser( Tree **&sp, Program *prg, Stream *stream,
{
PdaTables *tables = prg->rtd->pdaTables;
PdaRun parser( sp, prg, tables, parserId, stream->fsmRun, stopId, revertOn );
- stream->fsmRun->run( &parser );
+ parse( stream->fsmRun, &parser );
commit_full( &parser, 0 );
Tree *tree = parser.getParsedRoot( stopId > 0 );
tree_upref( tree );
@@ -161,10 +161,10 @@ void undo_parse( Tree **&sp, Program *prg, Stream *stream,
parser.undoParse( tree, rev );
}
-Tree *stream_pull( Program *prg, Stream *stream, Tree *length )
+Tree *stream_pull( Program *prg, PdaRun *parser, Stream *stream, Tree *length )
{
long len = ((Int*)length)->value;
- Head *tokdata = stream->fsmRun->extractToken( len );
+ Head *tokdata = stream->fsmRun->extractToken( parser, len );
return construct_string( prg, tokdata );
}
@@ -1989,7 +1989,7 @@ again:
#endif
Tree *len = pop();
Tree *stream = pop();
- Tree *string = stream_pull( prg, (Stream*)stream, len );
+ Tree *string = stream_pull( prg, parser, (Stream*)stream, len );
tree_upref( string );
push( string );