}
}
-void Enter::emit(Output & output, uint ind, bool &readCh, const std::string&) const
-{
- OutputFile & o = output.source;
-
- if (state->link)
- {
- o << input_api.stmt_skip (ind);
- if (vUsedLabels.count(label))
- {
- o << labelPrefix << label << ":\n";
- }
- need(o, ind, state->depth, readCh, false);
- }
- else
- {
- /* we shouldn't need 'rule-following' protection here */
- o << input_api.stmt_skip_peek (ind);
- if (vUsedLabels.count(label))
- {
- o << labelPrefix << label << ":\n";
- }
- readCh = false;
- }
-}
-
void Initial::emit(Output & output, uint ind, bool &readCh, const std::string&) const
{
OutputFile & o = output.source;
}
break;
case Action::MATCH:
- case Action::ENTER:
case Action::INITIAL:
case Action::SAVE:
case Action::MOVE:
{
NONE,
MATCH,
- ENTER,
INITIAL,
SAVE,
MOVE,
void emit(Output &, uint, bool&, const std::string&) const;
};
-class Enter: public Action
+class Initial: public Action
{
public:
uint label;
-
-public:
- Enter(State*, uint);
- void emit(Output &, uint, bool&, const std::string&) const;
-};
-
-class Initial: public Enter
-{
-public:
bool setMarker;
public:
type = MATCH;
}
-inline Enter::Enter(State *s, uint l) : Action(s), label(l)
-{
- type = ENTER;
-}
-
-inline Initial::Initial(State *s, uint l, bool b) : Enter(s, l), setMarker(b)
+inline Initial::Initial(State *s, uint l, bool b) : Action(s), label(l), setMarker(b)
{
type = INITIAL;
}