summaryrefslogtreecommitdiff
path: root/ragel/cdcodegen.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'ragel/cdcodegen.cpp')
-rw-r--r--ragel/cdcodegen.cpp10
1 files changed, 9 insertions, 1 deletions
diff --git a/ragel/cdcodegen.cpp b/ragel/cdcodegen.cpp
index 3d7cafc..96d8501 100644
--- a/ragel/cdcodegen.cpp
+++ b/ragel/cdcodegen.cpp
@@ -361,6 +361,14 @@ string FsmCodeGen::WIDE_KEY( RedStateAp *state, Key key )
}
}
+void FsmCodeGen::EOF_CHECK( ostream &ret )
+{
+ ret <<
+ " if ( " << P() << " == " << PE() << " )\n"
+ " goto _test_eof;\n";
+
+ testEofUsed = true;
+}
void FsmCodeGen::EXEC( ostream &ret, GenInlineItem *item, int targState, int inFinish )
@@ -656,7 +664,7 @@ void FsmCodeGen::STATE_IDS()
out << "\n";
- if ( entryPointNames.length() > 0 ) {
+ if ( !noEntry && entryPointNames.length() > 0 ) {
for ( EntryNameVect::Iter en = entryPointNames; en.lte(); en++ ) {
STATIC_VAR( "int", DATA_PREFIX() + "en_" + *en ) <<
" = " << entryPointIds[en.pos()] << ";\n";