diff options
author | Adrian Thurston <thurston@complang.org> | 2010-03-18 17:58:11 +0000 |
---|---|---|
committer | Adrian Thurston <thurston@complang.org> | 2010-03-18 17:58:11 +0000 |
commit | 4a7022a4d92cb13824aaf677240d4035e864aee3 (patch) | |
tree | 9f820240e5f643f53f79a0cedb611e97b6903863 /colm/ctinput.cpp | |
parent | 4bfc24ac112197ab34ab16309b23055fbed678db (diff) | |
download | colm-4a7022a4d92cb13824aaf677240d4035e864aee3.tar.gz |
Some cleanup of the static input streams.
Diffstat (limited to 'colm/ctinput.cpp')
-rw-r--r-- | colm/ctinput.cpp | 120 |
1 files changed, 16 insertions, 104 deletions
diff --git a/colm/ctinput.cpp b/colm/ctinput.cpp index 6d5110d7..69c1ed94 100644 --- a/colm/ctinput.cpp +++ b/colm/ctinput.cpp @@ -24,82 +24,13 @@ #include "input.h" #include "fsmrun.h" -/* - * Base compile-time input streams. - */ - -int InputStreamStatic::getData( char *dest, int length ) -{ - /* No stored data, call the impl version. */ - return getDataImpl( dest, length ); -} - -int InputStreamStatic::isEof() -{ - return isEofImpl(); -} - -int InputStreamStatic::needFlush() -{ - return needFlushImpl(); -} - -void InputStreamStatic::pushBackBuf( RunBuf *runBuf ) -{ - pushBackBufImpl( runBuf ); -} - -void InputStreamStatic::append( const char *data, long len ) -{ - return appendImpl( data, len ); -} - -void InputStreamStatic::append( Tree *tree ) -{ - return appendImpl( tree ); -} - -bool InputStreamStatic::tryAgainLater() -{ - return tryAgainLaterImpl(); -} - -bool InputStreamStatic::isTree() -{ - return isTreeImpl(); -} - -Tree *InputStreamStatic::getTree() -{ - return getTreeImpl(); -} - -bool InputStreamStatic::isIgnore() -{ - return isIgnoreImpl(); -} - -bool InputStreamStatic::isLangEl() -{ - return isLangElImpl(); -} - -KlangEl *InputStreamStatic::getLangEl( long &bindId, char *&data, long &length ) -{ - return getLangElImpl( bindId, data, length ); -} - -void InputStreamStatic::pushBackNamed() -{ - return pushBackNamedImpl(); -} /* * Implementation */ -bool InputStreamStatic::tryAgainLaterImpl() +bool InputStreamStatic::tryAgainLater() { if ( later ) return true; @@ -107,25 +38,6 @@ bool InputStreamStatic::tryAgainLaterImpl() return false; } -bool InputStreamStatic::isTreeImpl() -{ - if ( head() != 0 && head()->type == RunBuf::TokenType ) - return true; - return false; -} - -bool InputStreamStatic::isIgnoreImpl() -{ - if ( head() != 0 && head()->type == RunBuf::IgnoreType ) - return true; - return false; -} - -Tree *InputStreamStatic::getTreeImpl() -{ - return 0; -} - /* * Pattern @@ -139,7 +51,7 @@ InputStreamPattern::InputStreamPattern( Pattern *pattern ) offset(0) {} -bool InputStreamPattern::isLangElImpl() +bool InputStreamPattern::isLangEl() { return patItem != 0 && patItem->type == PatternItem::FactorType; } @@ -149,7 +61,7 @@ int InputStreamPattern::shouldFlush() return patItem == 0 || patItem->type == PatternItem::FactorType; } -KlangEl *InputStreamPattern::getLangElImpl( long &bindId, char *&data, long &length ) +KlangEl *InputStreamPattern::getLangEl( long &bindId, char *&data, long &length ) { KlangEl *klangEl = patItem->factor->langEl; bindId = patItem->bindId; @@ -164,7 +76,7 @@ KlangEl *InputStreamPattern::getLangElImpl( long &bindId, char *&data, long &len } -int InputStreamPattern::getDataImpl( char *dest, int length ) +int InputStreamPattern::getData( char *dest, int length ) { if ( offset == 0 ) line = patItem->loc.line; @@ -192,12 +104,12 @@ int InputStreamPattern::getDataImpl( char *dest, int length ) return length; } -int InputStreamPattern::isEofImpl() +int InputStreamPattern::isEof() { return patItem == 0; } -int InputStreamPattern::needFlushImpl() +int InputStreamPattern::needFlush() { return flush; } @@ -210,7 +122,7 @@ void InputStreamPattern::backup() patItem = patItem->prev; } -void InputStreamPattern::pushBackBufImpl( RunBuf *runBuf ) +void InputStreamPattern::pushBackBuf( RunBuf *runBuf ) { char *data = runBuf->data + runBuf->offset; long length = runBuf->length; @@ -231,7 +143,7 @@ void InputStreamPattern::pushBackBufImpl( RunBuf *runBuf ) assert( memcmp( &patItem->data[offset], data, length ) == 0 ); } -void InputStreamPattern::pushBackNamedImpl() +void InputStreamPattern::pushBackNamed() { backup(); offset = patItem->data.length(); @@ -250,7 +162,7 @@ InputStreamRepl::InputStreamRepl( Replacement *replacement ) offset(0) {} -bool InputStreamRepl::isLangElImpl() +bool InputStreamRepl::isLangEl() { return replItem != 0 && ( replItem->type == ReplItem::ExprType || replItem->type == ReplItem::FactorType ); @@ -262,7 +174,7 @@ int InputStreamRepl::shouldFlush() replItem->type == ReplItem::FactorType ); } -KlangEl *InputStreamRepl::getLangElImpl( long &bindId, char *&data, long &length ) +KlangEl *InputStreamRepl::getLangEl( long &bindId, char *&data, long &length ) { KlangEl *klangEl = replItem->type == ReplItem::ExprType ? replItem->langEl : replItem->factor->langEl; @@ -290,7 +202,7 @@ KlangEl *InputStreamRepl::getLangElImpl( long &bindId, char *&data, long &length return klangEl; } -int InputStreamRepl::getDataImpl( char *dest, int length ) +int InputStreamRepl::getData( char *dest, int length ) { if ( offset == 0 ) line = replItem->loc.line; @@ -318,12 +230,12 @@ int InputStreamRepl::getDataImpl( char *dest, int length ) return length; } -int InputStreamRepl::isEofImpl() +int InputStreamRepl::isEof() { return replItem == 0; } -int InputStreamRepl::needFlushImpl() +int InputStreamRepl::needFlush() { return flush; } @@ -336,7 +248,7 @@ void InputStreamRepl::backup() replItem = replItem->prev; } -void InputStreamRepl::pushBackBufImpl( RunBuf *runBuf ) +void InputStreamRepl::pushBackBuf( RunBuf *runBuf ) { char *data = runBuf->data + runBuf->offset; long length = runBuf->length; @@ -363,7 +275,7 @@ void InputStreamRepl::pushBackBufImpl( RunBuf *runBuf ) assert( memcmp( &replItem->data[offset], data, length ) == 0 ); } -void InputStreamRepl::pushBackNamedImpl() +void InputStreamRepl::pushBackNamed() { backup(); offset = replItem->data.length(); @@ -371,7 +283,7 @@ void InputStreamRepl::pushBackNamedImpl() void send_named_lang_el( Tree **sp, PdaRun *pdaRun, FsmRun *fsmRun, InputStream *inputStream ) { - /* All three set by getLangElImpl. */ + /* All three set by getLangEl. */ long bindId; char *data; long length; |