/*
- * Copyright 2001-2007 Adrian Thurston <thurston@cs.queensu.ca>
+ * Copyright 2001-2007 Adrian Thurston <thurston@complang.org>
*/
/* This file is part of Ragel.
//#define LOG_CONDS
/* Flags that control merging. */
-#define SB_GRAPH1 0x01
-#define SB_GRAPH2 0x02
-#define SB_BOTH 0x03
-#define SB_ISFINAL 0x04
-#define SB_ISMARKED 0x08
-#define SB_ONLIST 0x10
+#define STB_GRAPH1 0x01
+#define STB_GRAPH2 0x02
+#define STB_BOTH 0x03
+#define STB_ISFINAL 0x04
+#define STB_ISMARKED 0x08
+#define STB_ONLIST 0x10
using std::ostream;
{
public:
- Action( const InputLoc &loc, char *name, InlineList *inlineList, int condId )
+ Action( const InputLoc &loc, const char *name, InlineList *inlineList, int condId )
:
loc(loc),
name(name),
}
/* Key for action dictionary. */
- char *getKey() const { return name; }
+ const char *getKey() const { return name; }
/* Data collected during parse. */
InputLoc loc;
- char *name;
+ const char *name;
InlineList *inlineList;
int actionId;
highKey(other.highKey),
fromState(0), toState(0),
actionTable(other.actionTable),
- priorTable(other.priorTable)
- {
- assert( lmActionTable.length() == 0 && other.lmActionTable.length() == 0 );
- }
+ priorTable(other.priorTable),
+ lmActionTable(other.lmActionTable) {}
Key lowKey, highKey;
StateAp *fromState;
~StateAp();
/* Is the state final? */
- bool isFinState() { return stateBits & SB_ISFINAL; }
+ bool isFinState() { return stateBits & STB_ISFINAL; }
/* Out transition list and the pointer for the default out trans. */
TransList outList;
/* Action setting support. */
void transferOutActions( StateAp *state );
void transferErrorActions( StateAp *state, int transferPoint );
+ void setErrorActions( StateAp *state, const ActionTable &other );
void setErrorAction( StateAp *state, int ordering, Action *action );
/* Fill all spaces in a transition list with an error transition. */