Adjust maxIndexOffset to include eofTrans. Use maxIndexOffset when picking the
authorthurston <thurston@052ea7fc-9027-0410-9066-f65837a77df0>
Sun, 20 Apr 2008 23:39:18 +0000 (23:39 +0000)
committerthurston <thurston@052ea7fc-9027-0410-9066-f65837a77df0>
Sun, 20 Apr 2008 23:39:18 +0000 (23:39 +0000)
type for eofTrans.

git-svn-id: http://svn.complang.org/ragel/trunk@438 052ea7fc-9027-0410-9066-f65837a77df0

14 files changed:
redfsm/gendata.cpp
rlgen-cd/fflatcodegen.cpp
rlgen-cd/flatcodegen.cpp
rlgen-cd/ftabcodegen.cpp
rlgen-cd/tabcodegen.cpp
rlgen-csharp/fflatcodegen.cpp
rlgen-csharp/flatcodegen.cpp
rlgen-csharp/ftabcodegen.cpp
rlgen-csharp/tabcodegen.cpp
rlgen-java/javacodegen.cpp
rlgen-ruby/ruby-fflatcodegen.cpp
rlgen-ruby/ruby-flatcodegen.cpp
rlgen-ruby/ruby-ftabcodegen.cpp
rlgen-ruby/ruby-tabcodegen.cpp

index 5d5bcd3..49d8fe4 100644 (file)
@@ -554,7 +554,7 @@ void CodeGenData::setValueLimits()
                if ( ! st.last() ) {
                        redFsm->maxCondOffset += st->stateCondList.length();
                        redFsm->maxKeyOffset += st->outSingle.length() + st->outRange.length()*2;
-                       redFsm->maxIndexOffset += st->outSingle.length() + st->outRange.length() + 1;
+                       redFsm->maxIndexOffset += st->outSingle.length() + st->outRange.length() + 2;
                }
 
                /* Max cond span. */
index 806d732..56e6685 100644 (file)
@@ -227,7 +227,7 @@ void FFlatCodeGen::writeData()
        }
 
        if ( redFsm->anyEofTrans() ) {
-               OPEN_ARRAY( ARRAY_TYPE(redFsm->maxIndex+1), ET() );
+               OPEN_ARRAY( ARRAY_TYPE(redFsm->maxIndexOffset+1), ET() );
                EOF_TRANS();
                CLOSE_ARRAY() <<
                "\n";
index 7195bc8..55a6642 100644 (file)
@@ -624,7 +624,7 @@ void FlatCodeGen::writeData()
        }
 
        if ( redFsm->anyEofTrans() ) {
-               OPEN_ARRAY( ARRAY_TYPE(redFsm->maxIndex+1), ET() );
+               OPEN_ARRAY( ARRAY_TYPE(redFsm->maxIndexOffset+1), ET() );
                EOF_TRANS();
                CLOSE_ARRAY() <<
                "\n";
index 32c8635..3aac8af 100644 (file)
@@ -281,7 +281,7 @@ void FTabCodeGen::writeData()
        }
 
        if ( redFsm->anyEofTrans() ) {
-               OPEN_ARRAY( ARRAY_TYPE(redFsm->maxIndex+1), ET() );
+               OPEN_ARRAY( ARRAY_TYPE(redFsm->maxIndexOffset+1), ET() );
                EOF_TRANS();
                CLOSE_ARRAY() <<
                "\n";
index 977ec63..cc6d670 100644 (file)
@@ -860,7 +860,7 @@ void TabCodeGen::writeData()
        }
 
        if ( redFsm->anyEofTrans() ) {
-               OPEN_ARRAY( ARRAY_TYPE(redFsm->maxIndex+1), ET() );
+               OPEN_ARRAY( ARRAY_TYPE(redFsm->maxIndexOffset+1), ET() );
                EOF_TRANS();
                CLOSE_ARRAY() <<
                "\n";
index f96975d..cbce95f 100644 (file)
@@ -227,7 +227,7 @@ void CSharpFFlatCodeGen::writeData()
        }
 
        if ( redFsm->anyEofTrans() ) {
-               OPEN_ARRAY( ARRAY_TYPE(redFsm->maxIndex+1), ET() );
+               OPEN_ARRAY( ARRAY_TYPE(redFsm->maxIndexOffset+1), ET() );
                EOF_TRANS();
                CLOSE_ARRAY() <<
                "\n";
index bf3ba24..ca3ce89 100644 (file)
@@ -625,7 +625,7 @@ void CSharpFlatCodeGen::writeData()
        }
 
        if ( redFsm->anyEofTrans() ) {
-               OPEN_ARRAY( ARRAY_TYPE(redFsm->maxIndex+1), ET() );
+               OPEN_ARRAY( ARRAY_TYPE(redFsm->maxIndexOffset+1), ET() );
                EOF_TRANS();
                CLOSE_ARRAY() <<
                "\n";
index 7f36716..421ee9b 100644 (file)
@@ -281,7 +281,7 @@ void CSharpFTabCodeGen::writeData()
        }
 
        if ( redFsm->anyEofTrans() ) {
-               OPEN_ARRAY( ARRAY_TYPE(redFsm->maxIndex+1), ET() );
+               OPEN_ARRAY( ARRAY_TYPE(redFsm->maxIndexOffset+1), ET() );
                EOF_TRANS();
                CLOSE_ARRAY() <<
                "\n";
index 9233246..8c8e113 100644 (file)
@@ -804,7 +804,7 @@ void CSharpTabCodeGen::writeData()
        }
 
        if ( redFsm->anyEofTrans() ) {
-               OPEN_ARRAY( ARRAY_TYPE(redFsm->maxIndex+1), ET() );
+               OPEN_ARRAY( ARRAY_TYPE(redFsm->maxIndexOffset+1), ET() );
                EOF_TRANS();
                CLOSE_ARRAY() <<
                "\n";
index fdce2b3..0859e0c 100644 (file)
@@ -942,7 +942,7 @@ void JavaTabCodeGen::writeData()
        }
 
        if ( redFsm->anyEofTrans() ) {
-               OPEN_ARRAY( ARRAY_TYPE(redFsm->maxIndex+1), ET() );
+               OPEN_ARRAY( ARRAY_TYPE(redFsm->maxIndexOffset+1), ET() );
                EOF_TRANS();
                CLOSE_ARRAY() <<
                "\n";
index a7f1c55..89cab90 100644 (file)
@@ -310,7 +310,7 @@ void RubyFFlatCodeGen::writeData()
        }
 
        if ( redFsm->anyEofTrans() ) {
-               OPEN_ARRAY( ARRAY_TYPE(redFsm->maxIndex+1), ET() );
+               OPEN_ARRAY( ARRAY_TYPE(redFsm->maxIndexOffset+1), ET() );
                EOF_TRANS();
                CLOSE_ARRAY() <<
                "\n";
index a8e7469..a9346a9 100644 (file)
@@ -647,7 +647,7 @@ void RubyFlatCodeGen::writeData()
        }
 
        if ( redFsm->anyEofTrans() ) {
-               OPEN_ARRAY( ARRAY_TYPE(redFsm->maxIndex+1), ET() );
+               OPEN_ARRAY( ARRAY_TYPE(redFsm->maxIndexOffset+1), ET() );
                EOF_TRANS();
                CLOSE_ARRAY() <<
                "\n";
index 0b4487f..ae4701f 100644 (file)
@@ -350,7 +350,7 @@ void RubyFTabCodeGen::writeData()
        }
 
        if ( redFsm->anyEofTrans() ) {
-               OPEN_ARRAY( ARRAY_TYPE(redFsm->maxIndex+1), ET() );
+               OPEN_ARRAY( ARRAY_TYPE(redFsm->maxIndexOffset+1), ET() );
                EOF_TRANS();
                CLOSE_ARRAY() <<
                "\n";
index 8b97697..105c44d 100644 (file)
@@ -1015,7 +1015,7 @@ void RubyTabCodeGen::writeData()
        }
 
        if ( redFsm->anyEofTrans() ) {
-               OPEN_ARRAY( ARRAY_TYPE(redFsm->maxIndex+1), ET() );
+               OPEN_ARRAY( ARRAY_TYPE(redFsm->maxIndexOffset+1), ET() );
                EOF_TRANS();
                CLOSE_ARRAY() <<
                "\n";