"Fossies" - the Fresh Open Source Software Archive  

Source code changes of the file "src/flatexp.h" between
ragel-7.0.0.10.tar.gz and ragel-7.0.0.11.tar.gz

About: Ragel compiles executable finite state machines from regular languages (C, C++, Obj-C, C#, D, Java, Go and Ruby). Development version.

flatexp.h  (ragel-7.0.0.10):flatexp.h  (ragel-7.0.0.11)
/* /*
* Copyright 2004-2014 Adrian Thurston <thurston@colm.net> * Copyright 2014-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.
* *
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
* 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 _FLATEXP_H #ifndef RAGEL_FLATVAR_H
#define _FLATEXP_H #define RAGEL_FLATVAR_H
#include <iostream>
#include "flat.h" #include "flat.h"
#include "actloop.h"
#include "actexp.h"
/* Forwards. */ struct FlatVar
struct CodeGenData; :
public Flat, public TabVar
/*
* FlatExpGoto
*/
class FlatExpGoto
: public Flat
{ {
public: FlatVar( const CodeGenArgs &args, Flat::Type type )
FlatExpGoto( const CodeGenArgs &args ) :
: Flat(args) {} Tables( args ),
Flat( args, type ),
TabVar( args )
{}
void tableDataPass(); void LOCATE_TRANS();
};
virtual void genAnalysis(); class FlatVarLoop
virtual void writeData(); : public FlatVar, public ActLoop
virtual void writeExec(); {
public:
protected: FlatVarLoop( const CodeGenArgs &args )
std::ostream &TO_STATE_ACTION_SWITCH(); :
std::ostream &FROM_STATE_ACTION_SWITCH(); Tables( args ),
std::ostream &EOF_ACTION_SWITCH(); FlatVar( args, Flat::Loop ),
std::ostream &ACTION_SWITCH(); ActLoop( args )
{}
virtual void TO_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 NFA_PUSH_ACTION( RedNfaTarg *targ );
virtual void NFA_POP_TEST( RedNfaTarg *targ );
virtual void NFA_FROM_STATE_ACTION_EXEC();
}; };
namespace C class FlatVarExp
:
public FlatVar, public ActExp
{ {
class FlatExpGoto public:
FlatVarExp( const CodeGenArgs &args )
: :
public ::FlatExpGoto Tables( args ),
{ FlatVar( args, Flat::Exp ),
public: ActExp( args )
FlatExpGoto( const CodeGenArgs &args ) {}
: ::FlatExpGoto( args ) };
{}
};
}
#endif #endif
 End of changes. 11 change blocks. 
44 lines changed or deleted 36 lines changed or added

Home  |  About  |  Features  |  All  |  Newest  |  Dox  |  Diffs  |  RSS Feeds  |  Screenshots  |  Comments  |  Imprint  |  Privacy  |  HTTP(S)