src/Scanner/lex.cc
// Update the rules associated with the current state, do this separately
// for BOL and std rules.
// If a rule was set, update the rule index and the current d_matched
// length. 
Update the rules associated with the current state, do this separately
for BOL and std rules.
If a rule was set, update the rule index and the current d_matched
length.
Update the rules associated with the current state do this separately for BOL and std rules . If a rule was set update the rule index and the current d_matched length .
void ScannerBase::updateFinals_()
{
    size_t len = d_matched.size();
    int const *rf = d_dfaBase_[d_state] + s_finIdx_;
    if (rf[0] != -1)        
    {
        d_final.std = FinalData { as<size_t>(rf[0]), len };
    }
    if (rf[1] != -1)        
    {
        d_final.bol = FinalData { as<size_t>(rf[1]), len };
    }
}
void ScannerBase :: updateFinals_ ( ) { size_t len = d_matched . size ( ) ; int const * rf = d_dfaBase_ [ d_state ] + s_finIdx_ ; if ( rf [ 0 ] != -1 ) { d_final . std = FinalData { as < size_t > ( rf [ 0 ] ) , len } ; } if ( rf [ 1 ] != -1 ) { d_final . bol = FinalData { as < size_t > ( rf [ 1 ] ) , len } ; } }
Update the rules associated with the current state, do this separately
for BOL and std rules.
Update the rules associated with the current state do this separately for BOL and std rules .
// update to the latest std rule // update to the latest bol rule