ipgoto.h (ragel-7.0.0.10) | : | ipgoto.h (ragel-7.0.0.11) | ||
---|---|---|---|---|
/* | /* | |||
* Copyright 2001-2014 Adrian Thurston <thurston@colm.net> | * Copyright 2001-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 40 | skipping to change at line 40 | |||
struct CodeGenData; | struct CodeGenData; | |||
/* | /* | |||
* class FGotoCodeGen | * class FGotoCodeGen | |||
*/ | */ | |||
class IpGoto | class IpGoto | |||
: public Goto | : public Goto | |||
{ | { | |||
public: | public: | |||
IpGoto( const CodeGenArgs &args ) | IpGoto( const CodeGenArgs &args ) | |||
: Goto(args) {} | : Goto( args, Ip ) {} | |||
std::ostream &EXIT_STATES(); | std::ostream &EXIT_STATES(); | |||
std::ostream &TRANS_GOTO( RedTransAp *trans, int level ); | std::ostream &TRANS_GOTO( RedTransAp *trans, int level ); | |||
std::ostream &COND_GOTO( RedCondPair *trans, int level ); | std::ostream &COND_GOTO( RedCondPair *trans, int level ); | |||
std::ostream &FINISH_CASES(); | std::ostream &FINISH_CASES(); | |||
std::ostream &AGAIN_CASES(); | std::ostream &AGAIN_CASES(); | |||
std::ostream &STATE_GOTOS(); | std::ostream &STATE_GOTOS(); | |||
std::ostream &STATE_GOTO_CASES(); | std::ostream &STATE_GOTO_CASES(); | |||
/* unused. */ | ||||
virtual std::ostream &ACTION_SWITCH() { return out; } | ||||
virtual std::ostream &EXEC_FUNCS() { return out; } | ||||
virtual std::ostream &TO_STATE_ACTION_SWITCH() { return out; } | ||||
virtual std::ostream &FROM_STATE_ACTION_SWITCH() { return out; } | ||||
virtual std::ostream &EOF_ACTION_SWITCH() { return out; } | ||||
/* Unused */ | ||||
virtual void FROM_STATE_ACTIONS() {} | ||||
virtual void TO_STATE_ACTIONS() {} | ||||
virtual void REG_ACTIONS() {} | ||||
virtual void EOF_ACTIONS() {} | ||||
void GOTO( ostream &ret, int gotoDest, bool inFinish ); | void GOTO( ostream &ret, int gotoDest, bool inFinish ); | |||
void CALL( ostream &ret, int callDest, int targState, bool inFinish ); | void CALL( ostream &ret, int callDest, int targState, bool inFinish ); | |||
void NCALL( ostream &ret, int callDest, int targState, bool inFinish ); | void NCALL( ostream &ret, int callDest, int targState, bool inFinish ); | |||
void NEXT( ostream &ret, int nextDest, bool inFinish ); | void NEXT( ostream &ret, int nextDest, bool inFinish ); | |||
void GOTO_EXPR( ostream &ret, GenInlineItem *ilItem, bool inFinish ); | void GOTO_EXPR( ostream &ret, GenInlineItem *ilItem, bool inFinish ); | |||
void NEXT_EXPR( ostream &ret, GenInlineItem *ilItem, bool inFinish ); | void NEXT_EXPR( ostream &ret, GenInlineItem *ilItem, bool inFinish ); | |||
void CALL_EXPR( ostream &ret, GenInlineItem *ilItem, int targState, bool inFinish ); | void CALL_EXPR( ostream &ret, GenInlineItem *ilItem, int targState, bool inFinish ); | |||
void NCALL_EXPR( ostream &ret, GenInlineItem *ilItem, int targState, bool inFinish ); | void NCALL_EXPR( ostream &ret, GenInlineItem *ilItem, int targState, bool inFinish ); | |||
void RET( ostream &ret, bool inFinish ); | void RET( ostream &ret, bool inFinish ); | |||
void NRET( ostream &ret, bool inFinish ); | void NRET( ostream &ret, bool inFinish ); | |||
End of changes. 3 change blocks. | ||||
2 lines changed or deleted | 15 lines changed or added |