binloop.h (ragel-7.0.0.10) | : | binloop.h (ragel-7.0.0.11) | ||
---|---|---|---|---|
/* | /* | |||
* Copyright 2001-2014 Adrian Thurston <thurston@colm.net> | * Copyright 2018-2018 Adrian Thurston <thurston@colm.net> | |||
* | * | |||
* Permission is hereby granted, free of charge, to any person obtaining a copy | * Permission is hereby granted, free of charge, to any person obtaining a copy | |||
* of this software and associated documentation files (the "Software"), to | * of this software and associated documentation files (the "Software"), to | |||
* deal in the Software without restriction, including without limitation the | * deal in the Software without restriction, including without limitation the | |||
* rights to use, copy, modify, merge, publish, distribute, sublicense, and/or | * rights to use, copy, modify, merge, publish, distribute, sublicense, and/or | |||
* sell copies of the Software, and to permit persons to whom the Software is | * sell copies of the Software, and to permit persons to whom the Software is | |||
* furnished to do so, subject to the following conditions: | * furnished to do so, subject to the following conditions: | |||
* | * | |||
* The above copyright notice and this permission notice shall be included in al l | * The above copyright notice and this permission notice shall be included in al l | |||
* copies or substantial portions of the Software. | * copies or substantial portions of the Software. | |||
skipping to change at line 26 | skipping to change at line 26 | |||
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE | * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE | |||
* AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER | * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER | |||
* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, | * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, | |||
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE | * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE | |||
* SOFTWARE. | * SOFTWARE. | |||
*/ | */ | |||
#ifndef _BINLOOP_H | #ifndef _BINLOOP_H | |||
#define _BINLOOP_H | #define _BINLOOP_H | |||
#include <iostream> | ||||
#include "binary.h" | #include "binary.h" | |||
#include "vector.h" | #include "tables.h" | |||
/* Forwards. */ | ||||
struct CodeGenData; | ||||
struct NameInst; | ||||
struct RedTransAp; | ||||
struct RedStateAp; | struct RedStateAp; | |||
struct RedCondPair; | ||||
class BinaryLoopGoto | class ActLoop | |||
: public Binary | : public virtual Tables | |||
{ | { | |||
public: | public: | |||
BinaryLoopGoto( const CodeGenArgs &args ); | ActLoop( const CodeGenArgs &args ) | |||
: | ||||
void calcIndexSize(); | Tables( args ) | |||
void tableDataPass(); | {} | |||
virtual void genAnalysis(); | ||||
virtual void writeData(); | ||||
virtual void writeExec(); | ||||
virtual void TO_STATE_ACTION( RedStateAp *state ); | ||||
virtual void FROM_STATE_ACTION( RedStateAp *state ); | virtual void FROM_STATE_ACTION( RedStateAp *state ); | |||
virtual void EOF_ACTION( RedStateAp *state ); | ||||
virtual void COND_ACTION( RedCondPair *cond ); | virtual void COND_ACTION( RedCondPair *cond ); | |||
virtual void TO_STATE_ACTION( RedStateAp *state ); | ||||
std::ostream &TO_STATE_ACTION_SWITCH(); | virtual void EOF_ACTION( RedStateAp *state ); | |||
std::ostream &FROM_STATE_ACTION_SWITCH(); | ||||
std::ostream &EOF_ACTION_SWITCH(); | ||||
std::ostream &ACTION_SWITCH(); | ||||
virtual void NFA_PUSH_ACTION( RedNfaTarg *targ ); | virtual void NFA_PUSH_ACTION( RedNfaTarg *targ ); | |||
virtual void NFA_POP_TEST( RedNfaTarg *targ ); | virtual void NFA_POP_TEST( RedNfaTarg *targ ); | |||
virtual std::ostream &FROM_STATE_ACTION_SWITCH(); | ||||
virtual std::ostream &ACTION_SWITCH(); | ||||
virtual std::ostream &TO_STATE_ACTION_SWITCH(); | ||||
virtual std::ostream &EOF_ACTION_SWITCH(); | ||||
virtual void FROM_STATE_ACTIONS(); | ||||
virtual void REG_ACTIONS( std::string cond ); | ||||
virtual void TO_STATE_ACTIONS(); | ||||
virtual void EOF_ACTIONS(); | ||||
virtual void NFA_FROM_STATE_ACTION_EXEC(); | virtual void NFA_FROM_STATE_ACTION_EXEC(); | |||
}; | }; | |||
namespace C | ||||
{ | ||||
class BinaryLoopGoto | ||||
: | ||||
public ::BinaryLoopGoto | ||||
{ | ||||
public: | ||||
BinaryLoopGoto( const CodeGenArgs &args ) | ||||
: ::BinaryLoopGoto( args ) | ||||
{} | ||||
}; | ||||
} | ||||
#endif | #endif | |||
End of changes. 12 change blocks. | ||||
37 lines changed or deleted | 22 lines changed or added |