A análise de gramáticas de expressão (PEGs) é inequívoca e possui uma sintaxe superficialmente semelhante ao BNF , mas inclui três diferenças importantes:
- O operador de escolha ordenada
e1 / e2 / e3
. - O e predicado
&
. - O operador não
!
.
Eu tenho algumas perguntas:
- Os idiomas reconhecidos pelos PEGs são todos livres de contexto?
- Se a resposta a (1) for negativa, existem formalismos gramaticais expressivos garantidos para produzir apenas gramáticas inequívocas? Em particular, cair
&
e!
produzir apenas gramáticas sem contexto? - Se todos os PEGs forem livres de contexto, eles podem ser convertidos em um BNF equivalente por meio de um algoritmo?
O contexto é que eu gostaria de calcular funções geradoras para uma biblioteca PEG usando o teorema de enumeração de Chomsky-Schützenberger . Isso parece exigir uma especificação da gramática em um formato padrão semelhante ao BNF.
fonte