Sintaxe de um compilador sintático

0 respostas
E

Boa noite,
Bom, eu fiz um compilador lexico já e agora terminando o sintático, porém tem um trecho da minha gramática que tem a necessidade de prever o próximo token e os 2 próximos tokens… peguei esse trecho de um amigo, mas como preciso entregar na faculdade, não posso colocar igual…
Se alguém puder dar uma luz, pois só imagino essa forma de resolver o problema, embora sei que existe muitas maneiras.

Token t1 = tokens.get(i+1); 
Token t2 = tokens.get(i+2);

if(t1.getClasse().equals("IDENT") && t2.getNome().equals("="))  {
            if(!t.getNome().equals("const")){
                System.out.println("Erro Sintatico na linha :"+ t.getLinha());
                System.out.println("Encontrado :"+ t.getNome());
                System.out.println("Esperado : const");
                System.exit(0);

            }

ele preve o próximo token em t1 e preve os dois próximos em t2 para depois fazer uma comparação.

Criado 28 de maio de 2014
Respostas 0
Participantes 1