public RecategorizadorLexico()
        {
            AutomatoFinito  = InstanciaAutomato();
            Acumulador      = new List <TokenLexico>();
            Cabecote        = new Cabecote(AutomatoFinito.EstadoInicial);
            Cabecote.Aceito = AutomatoFinito.ConfereEstadoFinal(Cabecote.EstadoAtual);

            Rotinas.Add(TipoEvento.TOKEN_LEXICO, new Func <Evento, SaidaRotina>(ReceberToken));
            Rotinas.Add(TipoEvento.RESET, new Func <Evento, SaidaRotina>(Reset));
            Rotinas.Add(TipoEvento.EOL, new Func <Evento, SaidaRotina>(Eol));
            Rotinas.Add(TipoEvento.EOF, new Func <Evento, SaidaRotina>(Eof));
        }
示例#2
0
 public LeitorDeArquivo()
 {
     Rotinas.Add(TipoEvento.ARQUIVO, new Func <Evento, SaidaRotina>(AbrirArquivo));
     Rotinas.Add(TipoEvento.LER_ARQUIVO, new Func <Evento, SaidaRotina>(LerArquivo));
 }
示例#3
0
 public FiltroAscii()
 {
     Rotinas.Add(TipoEvento.ASCII, new Func <Evento, SaidaRotina>(LerLinha));
     Rotinas.Add(TipoEvento.EOL, new Func <Evento, SaidaRotina>(Eol));
     Rotinas.Add(TipoEvento.EOF, new Func <Evento, SaidaRotina>(Eof));
 }