Várias correções (pelo menos 4 problemas foram encontrados e corrigidos);
FIRST está funcionando em todos os casos testados;
Separando várias funcionalidades do FIRST pois serão utilizados também no FOLLOW;