The code generated by tt(flexc++) must read input, match the input with some
regular expressin and return the associated token. A catch-all escape is
provided by the implicitly provided rule echoing all non-matched input to the
standard output stream.

The class tt(Generator) handles code generation for the class tt(Scanner) (or
whatever other name is defined). The tt(Generator)'s constructor currently
defines a fixed output file name (tt(STATICS)) to which all static data are
written. This output stream is accessed throught the tt(Generator::d_out) data
member. This setup must eventually be modified.

The generated code consists of four parts:
    itemization(
    it() The character-table (actually: range-table). See section
        ref(RANGETAB). 

    it() The DFAs are generated by tt(Generator::dfas). 


    For each of the DFAs the function tt(Generator::dfa) is called. Next the
information about the Final and Accept counts is written by
tt(Generator::outFinAcs) and finally the DFA entry points are generated by
tt(Generator::dfaEntryPoints). 

        itemization(
        it() The function tt(Generator::dfa) receives as its first argument a
tt(DFAs::Pair) (see figure ref(DFASFIG)), containing the name of the mini
scanner associated with the DFA and the DFA itself. The member function first
checks whether the DFA has already been processed. This only happens for
tt(INITIAL), and the current test is rather blunt by the function tt(dfa)
calling tt(std::find).

    If this DFA has not yet entered the tt(s_dfa[]) array then
        itemization(
        it() The name of the current mini scanner is stored in tt(startStates)
(to allow checking for repetitive handling);
        it() The row number of the first row of the current DFA in tt(s_dfa)
is saved in the vector tt(dfaOffsets);
        it() tt(Generator::dfaRow) is called for each row of the DFA (see
figure ref(DFAROWFIG)). This latter function writes the vector of DFA rows to
transit to (i.e., rows relative to the current DFA's start row, so not the
actual rows in tt(s_dfa)) for each of the character ranges (calling
tt(Generator::dfaTransitions)), followed by the row's tt(FinAc) data: a
value != -1 indicates the rule for which this row is a FINAL state.

The row's final two values are begin and end indices in s_accept, holding
information about a row's accept state. -1 indicates `not an accept state'
        )
        it() The function tt(Generator::outFinAcs)
            quote(TO DO)
        it() The function tt(Generator::dfaEntryPoints)
            quote(TO DO)
        )
    it() The function tt(Generator::declarations)
            quote(TO DO)
    it() The function tt(Generator::actions)
            quote(TO DO)
    )









