summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAdrian Thurston <thurston@complang.org>2013-02-09 21:34:41 -0500
committerAdrian Thurston <thurston@complang.org>2013-02-09 21:34:41 -0500
commit6e9be06ee366728bb85fe3bc2b977597b655d09c (patch)
treeb96f3946929ae1d805a3d926ee4534b0f05dbfc8
parentf5fc6b33201cf16c47f713f5b5572e787e556e94 (diff)
downloadcolm-6e9be06ee366728bb85fe3bc2b977597b655d09c.tar.gz
completed removed FsmRun from InputStream interface
-rw-r--r--colm/ctinput.cc4
-rw-r--r--colm/input.c10
-rw-r--r--colm/input.h2
-rw-r--r--colm/pdarun.c2
4 files changed, 7 insertions, 11 deletions
diff --git a/colm/ctinput.cc b/colm/ctinput.cc
index 1bf6097f..285e1faf 100644
--- a/colm/ctinput.cc
+++ b/colm/ctinput.cc
@@ -212,7 +212,7 @@ int inputStreamPatternConsumeData( StreamImpl *ss, int length )
return consumed;
}
-int inputStreamPatternUndoConsumeData( FsmRun *fsmRun, StreamImpl *ss, const char *data, int length )
+int inputStreamPatternUndoConsumeData( StreamImpl *ss, const char *data, int length )
{
ss->offset -= length;
return length;
@@ -428,7 +428,7 @@ int inputStreamConsConsumeData( StreamImpl *ss, int length )
return consumed;
}
-int inputStreamConsUndoConsumeData( FsmRun *fsmRun, StreamImpl *ss, const char *data, int length )
+int inputStreamConsUndoConsumeData( StreamImpl *ss, const char *data, int length )
{
ss->offset -= length;
return length;
diff --git a/colm/input.c b/colm/input.c
index 959940c6..b73eacbd 100644
--- a/colm/input.c
+++ b/colm/input.c
@@ -289,7 +289,7 @@ int fdConsumeData( StreamImpl *ss, int length )
return consumed;
}
-int fdUndoConsumeData( FsmRun *fsmRun, StreamImpl *ss, const char *data, int length )
+int fdUndoConsumeData( StreamImpl *ss, const char *data, int length )
{
debug( REALM_INPUT, "undoing consume of %ld bytes\n", length );
@@ -664,15 +664,13 @@ static int _consumeData( StreamImpl *is, int length )
return consumed;
}
-static int _undoConsumeData( FsmRun *fsmRun, StreamImpl *is, const char *data, int length )
+static int _undoConsumeData( StreamImpl *is, const char *data, int length )
{
debug( REALM_INPUT, "undoing consume of %ld bytes\n", length );
if ( isSourceStream( is ) ) {
Stream *stream = (Stream*)is->queue->tree;
- int len = stream->in->funcs->undoConsumeData( fsmRun, stream->in, data, length );
-
- clearBuffered( fsmRun );
+ int len = stream->in->funcs->undoConsumeData( stream->in, data, length );
return len;
}
@@ -682,8 +680,6 @@ static int _undoConsumeData( FsmRun *fsmRun, StreamImpl *is, const char *data, i
memcpy( newBuf->data, data, length );
inputStreamPrepend( is, newBuf );
- clearBuffered( fsmRun );
-
return length;
}
}
diff --git a/colm/input.h b/colm/input.h
index 3b426a50..14cdd465 100644
--- a/colm/input.h
+++ b/colm/input.h
@@ -93,7 +93,7 @@ struct StreamFuncs
int (*getData)( StreamImpl *ss, char *dest, int length );
int (*consumeData)( StreamImpl *ss, int length );
- int (*undoConsumeData)( struct _FsmRun *fsmRun, StreamImpl *ss, const char *data, int length );
+ int (*undoConsumeData)( StreamImpl *ss, const char *data, int length );
struct ColmTree *(*consumeTree)( StreamImpl *ss );
void (*undoConsumeTree)( StreamImpl *ss, struct ColmTree *tree, int ignore );
diff --git a/colm/pdarun.c b/colm/pdarun.c
index 8362e14d..d116a70d 100644
--- a/colm/pdarun.c
+++ b/colm/pdarun.c
@@ -274,7 +274,7 @@ static void sendBackText( FsmRun *fsmRun, StreamImpl *is, const char *data, long
debug( REALM_PARSE, "sending back text: %.*s\n",
(int)length, data );
- is->funcs->undoConsumeData( fsmRun, is, data, length );
+ is->funcs->undoConsumeData( is, data, length );
undoPosition( is, data, length );
}