aboutsummaryrefslogtreecommitdiffstats
path: root/contrib/tools/ragel6/gendata.h
diff options
context:
space:
mode:
authorsmalov <smalov@yandex-team.ru>2022-02-10 16:47:36 +0300
committerDaniil Cherednik <dcherednik@yandex-team.ru>2022-02-10 16:47:36 +0300
commitcfadda92ca195da3ad68d721a58872a4f1ced696 (patch)
treec0748b5dcbade83af788c0abfa89c0383d6b779c /contrib/tools/ragel6/gendata.h
parentf70d9720e13aef3a935e3f405b0eac554529e76e (diff)
downloadydb-cfadda92ca195da3ad68d721a58872a4f1ced696.tar.gz
Restoring authorship annotation for <smalov@yandex-team.ru>. Commit 2 of 2.
Diffstat (limited to 'contrib/tools/ragel6/gendata.h')
-rw-r--r--contrib/tools/ragel6/gendata.h368
1 files changed, 184 insertions, 184 deletions
diff --git a/contrib/tools/ragel6/gendata.h b/contrib/tools/ragel6/gendata.h
index a6966be1ac..6c3d3852a1 100644
--- a/contrib/tools/ragel6/gendata.h
+++ b/contrib/tools/ragel6/gendata.h
@@ -1,189 +1,189 @@
-/*
- * Copyright 2005-2007 Adrian Thurston <thurston@complang.org>
- */
-
-/* This file is part of Ragel.
+/*
+ * Copyright 2005-2007 Adrian Thurston <thurston@complang.org>
+ */
+
+/* This file is part of Ragel.
+ *
+ * Ragel is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
*
- * Ragel is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- *
- * Ragel is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with Ragel; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
- */
-
-#ifndef _GENDATA_H
-#define _GENDATA_H
-
-#include <iostream>
-#include "config.h"
-#include "redfsm.h"
-#include "common.h"
-
-using std::ostream;
-
-extern bool generateDot;
-
-struct NameInst;
-typedef DList<GenAction> GenActionList;
-
-typedef unsigned long ulong;
-
-extern int gblErrorCount;
-
-struct CodeGenData;
-
-typedef AvlMap<char *, CodeGenData*, CmpStr> CodeGenMap;
-typedef AvlMapEl<char *, CodeGenData*> CodeGenMapEl;
-
-void cdLineDirective( ostream &out, const char *fileName, int line );
-void javaLineDirective( ostream &out, const char *fileName, int line );
+ * Ragel is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with Ragel; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+ */
+
+#ifndef _GENDATA_H
+#define _GENDATA_H
+
+#include <iostream>
+#include "config.h"
+#include "redfsm.h"
+#include "common.h"
+
+using std::ostream;
+
+extern bool generateDot;
+
+struct NameInst;
+typedef DList<GenAction> GenActionList;
+
+typedef unsigned long ulong;
+
+extern int gblErrorCount;
+
+struct CodeGenData;
+
+typedef AvlMap<char *, CodeGenData*, CmpStr> CodeGenMap;
+typedef AvlMapEl<char *, CodeGenData*> CodeGenMapEl;
+
+void cdLineDirective( ostream &out, const char *fileName, int line );
+void javaLineDirective( ostream &out, const char *fileName, int line );
void goLineDirective( ostream &out, const char *fileName, int line );
-void rubyLineDirective( ostream &out, const char *fileName, int line );
-void csharpLineDirective( ostream &out, const char *fileName, int line );
+void rubyLineDirective( ostream &out, const char *fileName, int line );
+void csharpLineDirective( ostream &out, const char *fileName, int line );
void ocamlLineDirective( ostream &out, const char *fileName, int line );
-void genLineDirective( ostream &out );
-void lineDirective( ostream &out, const char *fileName, int line );
-
-string itoa( int i );
-
-/*********************************/
-
-struct CodeGenData
-{
- /*
- * The interface to the code generator.
- */
- virtual void finishRagelDef() {}
-
- /* These are invoked by the corresponding write statements. */
- virtual void writeData() {};
- virtual void writeInit() {};
- virtual void writeExec() {};
- virtual void writeExports() {};
- virtual void writeStart() {};
- virtual void writeFirstFinal() {};
- virtual void writeError() {};
-
- /* This can also be overwridden to modify the processing of write
- * statements. */
+void genLineDirective( ostream &out );
+void lineDirective( ostream &out, const char *fileName, int line );
+
+string itoa( int i );
+
+/*********************************/
+
+struct CodeGenData
+{
+ /*
+ * The interface to the code generator.
+ */
+ virtual void finishRagelDef() {}
+
+ /* These are invoked by the corresponding write statements. */
+ virtual void writeData() {};
+ virtual void writeInit() {};
+ virtual void writeExec() {};
+ virtual void writeExports() {};
+ virtual void writeStart() {};
+ virtual void writeFirstFinal() {};
+ virtual void writeError() {};
+
+ /* This can also be overwridden to modify the processing of write
+ * statements. */
virtual bool writeStatement( InputLoc &loc, int nargs, char **args );
-
- /********************/
-
- CodeGenData( ostream &out );
- virtual ~CodeGenData() {}
-
- /*
- * Collecting the machine.
- */
-
- const char *sourceFileName;
- const char *fsmName;
- ostream &out;
- RedFsmAp *redFsm;
- GenAction *allActions;
- RedAction *allActionTables;
- Condition *allConditions;
- GenCondSpace *allCondSpaces;
- RedStateAp *allStates;
- NameInst **nameIndex;
- int startState;
- int errState;
- GenActionList actionList;
- ConditionList conditionList;
- CondSpaceList condSpaceList;
- GenInlineList *getKeyExpr;
- GenInlineList *accessExpr;
- GenInlineList *prePushExpr;
- GenInlineList *postPopExpr;
-
- /* Overriding variables. */
- GenInlineList *pExpr;
- GenInlineList *peExpr;
- GenInlineList *eofExpr;
- GenInlineList *csExpr;
- GenInlineList *topExpr;
- GenInlineList *stackExpr;
- GenInlineList *actExpr;
- GenInlineList *tokstartExpr;
- GenInlineList *tokendExpr;
- GenInlineList *dataExpr;
-
- KeyOps thisKeyOps;
- bool wantComplete;
- EntryIdVect entryPointIds;
- EntryNameVect entryPointNames;
- bool hasLongestMatch;
- ExportList exportList;
-
- /* Write options. */
- bool noEnd;
- bool noPrefix;
- bool noFinal;
- bool noError;
+
+ /********************/
+
+ CodeGenData( ostream &out );
+ virtual ~CodeGenData() {}
+
+ /*
+ * Collecting the machine.
+ */
+
+ const char *sourceFileName;
+ const char *fsmName;
+ ostream &out;
+ RedFsmAp *redFsm;
+ GenAction *allActions;
+ RedAction *allActionTables;
+ Condition *allConditions;
+ GenCondSpace *allCondSpaces;
+ RedStateAp *allStates;
+ NameInst **nameIndex;
+ int startState;
+ int errState;
+ GenActionList actionList;
+ ConditionList conditionList;
+ CondSpaceList condSpaceList;
+ GenInlineList *getKeyExpr;
+ GenInlineList *accessExpr;
+ GenInlineList *prePushExpr;
+ GenInlineList *postPopExpr;
+
+ /* Overriding variables. */
+ GenInlineList *pExpr;
+ GenInlineList *peExpr;
+ GenInlineList *eofExpr;
+ GenInlineList *csExpr;
+ GenInlineList *topExpr;
+ GenInlineList *stackExpr;
+ GenInlineList *actExpr;
+ GenInlineList *tokstartExpr;
+ GenInlineList *tokendExpr;
+ GenInlineList *dataExpr;
+
+ KeyOps thisKeyOps;
+ bool wantComplete;
+ EntryIdVect entryPointIds;
+ EntryNameVect entryPointNames;
+ bool hasLongestMatch;
+ ExportList exportList;
+
+ /* Write options. */
+ bool noEnd;
+ bool noPrefix;
+ bool noFinal;
+ bool noError;
bool noEntry;
- bool noCS;
-
- void createMachine();
- void initActionList( unsigned long length );
- void newAction( int anum, const char *name, const InputLoc &loc, GenInlineList *inlineList );
- void initActionTableList( unsigned long length );
- void initStateList( unsigned long length );
- void setStartState( unsigned long startState );
- void setErrorState( unsigned long errState );
- void addEntryPoint( char *name, unsigned long entryState );
- void setId( int snum, int id );
- void setFinal( int snum );
- void initTransList( int snum, unsigned long length );
- void newTrans( int snum, int tnum, Key lowKey, Key highKey,
- long targ, long act );
- void finishTransList( int snum );
- void setStateActions( int snum, long toStateAction,
- long fromStateAction, long eofAction );
- void setEofTrans( int snum, long targ, long eofAction );
- void setForcedErrorState()
- { redFsm->forcedErrorState = true; }
-
-
- void initCondSpaceList( ulong length );
- void condSpaceItem( int cnum, long condActionId );
- void newCondSpace( int cnum, int condSpaceId, Key baseKey );
-
- void initStateCondList( int snum, ulong length );
- void addStateCond( int snum, Key lowKey, Key highKey, long condNum );
-
- GenCondSpace *findCondSpace( Key lowKey, Key highKey );
- Condition *findCondition( Key key );
-
- bool setAlphType( const char *data );
-
- void resolveTargetStates( GenInlineList *inlineList );
- Key findMaxKey();
-
- /* Gather various info on the machine. */
- void analyzeActionList( RedAction *redAct, GenInlineList *inlineList );
- void analyzeAction( GenAction *act, GenInlineList *inlineList );
- void findFinalActionRefs();
- void analyzeMachine();
-
- void closeMachine();
- void setValueLimits();
- void assignActionIds();
-
- ostream &source_warning( const InputLoc &loc );
- ostream &source_error( const InputLoc &loc );
- void write_option_error( InputLoc &loc, char *arg );
-};
-
-CodeGenData *makeCodeGen( const char *sourceFileName,
- const char *fsmName, ostream &out );
-
-#endif
+ bool noCS;
+
+ void createMachine();
+ void initActionList( unsigned long length );
+ void newAction( int anum, const char *name, const InputLoc &loc, GenInlineList *inlineList );
+ void initActionTableList( unsigned long length );
+ void initStateList( unsigned long length );
+ void setStartState( unsigned long startState );
+ void setErrorState( unsigned long errState );
+ void addEntryPoint( char *name, unsigned long entryState );
+ void setId( int snum, int id );
+ void setFinal( int snum );
+ void initTransList( int snum, unsigned long length );
+ void newTrans( int snum, int tnum, Key lowKey, Key highKey,
+ long targ, long act );
+ void finishTransList( int snum );
+ void setStateActions( int snum, long toStateAction,
+ long fromStateAction, long eofAction );
+ void setEofTrans( int snum, long targ, long eofAction );
+ void setForcedErrorState()
+ { redFsm->forcedErrorState = true; }
+
+
+ void initCondSpaceList( ulong length );
+ void condSpaceItem( int cnum, long condActionId );
+ void newCondSpace( int cnum, int condSpaceId, Key baseKey );
+
+ void initStateCondList( int snum, ulong length );
+ void addStateCond( int snum, Key lowKey, Key highKey, long condNum );
+
+ GenCondSpace *findCondSpace( Key lowKey, Key highKey );
+ Condition *findCondition( Key key );
+
+ bool setAlphType( const char *data );
+
+ void resolveTargetStates( GenInlineList *inlineList );
+ Key findMaxKey();
+
+ /* Gather various info on the machine. */
+ void analyzeActionList( RedAction *redAct, GenInlineList *inlineList );
+ void analyzeAction( GenAction *act, GenInlineList *inlineList );
+ void findFinalActionRefs();
+ void analyzeMachine();
+
+ void closeMachine();
+ void setValueLimits();
+ void assignActionIds();
+
+ ostream &source_warning( const InputLoc &loc );
+ ostream &source_error( const InputLoc &loc );
+ void write_option_error( InputLoc &loc, char *arg );
+};
+
+CodeGenData *makeCodeGen( const char *sourceFileName,
+ const char *fsmName, ostream &out );
+
+#endif