]> granicus.if.org Git - re2c/commitdiff
Pass only that part of output needed by 're2c::State::emit'.
authorUlya Trofimovich <skvadrik@gmail.com>
Tue, 19 May 2015 17:53:35 +0000 (18:53 +0100)
committerUlya Trofimovich <skvadrik@gmail.com>
Tue, 19 May 2015 17:53:35 +0000 (18:53 +0100)
re2c/src/codegen/emit_dfa.cc
re2c/src/dfa/state.h

index f711b618fa045cd7bc4622d2a2749097d6f3bcaf..faec05e828cb16066a222b8f8226530c8a20fdd8 100644 (file)
@@ -45,10 +45,8 @@ void genGoTo(OutputFile & o, uint32_t ind, const State *from, const State *to, b
        o << indent(ind) << "goto " << labelPrefix << to->label << ";\n";
 }
 
-void State::emit(Output & output, uint32_t ind, bool &readCh, const std::string& condName) const
+void State::emit(OutputFile & o, uint32_t ind, bool &readCh, const std::string& condName) const
 {
-       OutputFile & o = output.source;
-
        if (!DFlag)
        {
                if (vUsedLabels.count(label))
@@ -121,7 +119,7 @@ void DFA::emit(Output & output, uint32_t& ind, const RegExpMap* specMap, const s
        for (s = head; s; s = s->next)
        {
                bool readCh = false;
-               s->emit(null_dev, ind, readCh, condName);
+               s->emit(null_dev.source, ind, readCh, condName);
                s->go.emit(null_dev.source, ind, readCh);
        }
        if (last_fill_index < next_fill_index)
@@ -224,7 +222,7 @@ void DFA::emit(Output & output, uint32_t& ind, const RegExpMap* specMap, const s
        for (s = head; s; s = s->next)
        {
                bool readCh = false;
-               s->emit(output, ind, readCh, condName);
+               s->emit(o, ind, readCh, condName);
                s->go.emit(o, ind, readCh);
        }
 
index b9d06a3845bf7946866e462da403116f3e9d700b..884ecd87db1e91ac3de84b43d996899c669af9e4 100644 (file)
@@ -27,7 +27,7 @@ public:
 
        State ();
        ~State ();
-       void emit (Output &, uint32_t, bool &, const std::string &) const;
+       void emit (OutputFile &, uint32_t, bool &, const std::string &) const;
        friend std::ostream& operator << (std::ostream &, const State &);
 
        FORBID_COPY (State);