Pela minha leitura, parece que a maioria das gramáticas está preocupada em gerar um número infinito de strings. E se você trabalhasse o contrário?
Se forem dadas n strings de m length, deve ser possível fazer uma gramática que gere essas strings, e apenas essas strings.
Existe um método conhecido para fazer isso? Idealmente, um nome de técnica que eu possa pesquisar. Como alternativa, como eu faria uma pesquisa na literatura para encontrar esse método?