Estou estudando para o meu teste de linguagens de computação e há uma ideia que estou tendo problemas para entender.
Eu entendi que as gramáticas regulares são mais simples e não podem conter ambigüidade, mas não podem fazer muitas tarefas que são exigidas para linguagens de programação. Eu também entendi que gramáticas livres de contexto permitem ambigüidade, mas permitem algumas coisas necessárias para linguagens de programação (como palíndromos).
O que estou tendo problemas é entender como posso derivar todos os itens acima, sabendo que os não-terminais da gramática regular podem ser mapeados para um terminal ou um não-terminal seguido por um terminal ou que um não-terminal livre de contexto mapeia para qualquer combinação de terminais e não-terminais .
Alguém pode me ajudar a colocar tudo isso junto?