schnorr / comp

Disciplina de Compiladores (INF01147) - INF/UFRGS

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Como realizar testes mais exaustivos?

schnorr opened this issue · comments

Na Etapa 1, a forma mais simples de realizar testes é simplesmente executando o analisador léxico:

./etapa1

e depois digitando possíveis tokens e observendo se eles foram reconhecidos.

Uma forma que possibilita testes mais exaustivos é criar um arquivo (com o nome teste, por exemplo) com o seguinte conteúdo:

int var; float xis; while ( 2 == var) { xis = xis + var; }

e executar o programa com o seguinte comando:

cat teste | ./etapa1

Assim, o programa cat coloca o conteúdo do arquivo teste na saída padrão, que é redirecionada para a entrada padrão do programa ./etapa1. Como o flex por default lê da entrada padrão (pois yyin está definido para stdin), isso funciona sem maiores alterações.