TODO:
- Verificacao do tipo de recursao e fatoracao da gramatica, tem que mostrar o tipo pro usuaro, provavelmente fazer uma exception que devolve uma string com o erro
- Validar o construtor, tentar colocar gramaticas incorretas, ver se a sintaxe esta correta, se a gramatica estiver incorreta, dar uma exception.
- Criar o parser descendente recursivo. Ideia: Gerar codigo java, compilar e executar, passando como parametro a sentenca a ser reconhecida.