Em muitos trabalhos que envolvem gramáticas livres de contexto (CFGs), os exemplos de tais gramáticas apresentadas frequentemente admitem caracterizações fáceis da linguagem que geram. Por exemplo:
gera ,
gera e
gera ou equivalentemente (onde se refere à parte capturada por ).{ ( ( uma | b ) * ) 1 ( ( uma | b ) * ) 2 | p 1 = p R 2 } p 1 ( . . . ) 1
Os exemplos acima podem ser gerados adicionando índices ( ), restrições simples sobre esses índices ( ) e correspondência de padrões com expressões regulares. Isso me faz pensar se todas as linguagens sem contexto podem ser geradas por alguma extensão das expressões regulares. i > j
Existe uma extensão de expressões regulares que podem gerar todo ou algum subconjunto significativo das linguagens livres de contexto?
fonte
Respostas:
Sim existe. Defina uma expressão sem contexto para ser um termo gerado pela seguinte gramática:
Esses são todos os construtores de linguagens regulares, exceto Kleene star, que é substituída por um operador de ponto fixo geral e um mecanismo de referência variável. (A estrela Kleene não é necessária, pois pode ser definida como .)g ∗ ≜ μ α .μ α .g g* ≜ u ct .£ ∨ g⋅ α
A interpretação de uma expressão livre de contexto requer a contabilização da interpretação de variáveis livres. Portanto, defina um ambiente para ser um mapa de variáveis para idiomas (ou seja, subconjuntos de ) e deixe ser a função que se comporta como em todas as entradas, exceto e que retorna o idioma para .Σ ∗ [ ρ | α : L ] ρ α L αρ Σ∗ [ ρ | α : L ] ρ α eu α
Agora, defina a interpretação de uma expressão livre de contexto da seguinte maneira:
Usando o teorema de Knaster-Tarski, é fácil ver que a interpretação de é a menos fixa da expressão.μ α . g
É simples (embora não totalmente trivial) mostrar que você pode dar uma expressão livre de contexto derivando o mesmo idioma que qualquer gramática livre de contexto e vice-versa. A não trivialidade surge do fato de que expressões sem contexto têm pontos fixos aninhados, e gramáticas sem contexto fornecem um único ponto fixo sobre uma tupla. Isso requer o uso do lema de Bekic, que diz precisamente que um ponto fixo aninhado pode ser convertido em um único ponto fixo sobre um produto (e vice-versa). Mas essa é a única sutileza.
Edição: Não, eu não sei uma referência padrão para isso: eu trabalhei para o meu próprio interesse. No entanto, é uma construção bastante óbvia que estou confiante de que foi inventada antes. Algum Googling casual revela Joost Winter, Marcello Bonsangue e o artigo recente de Jan Rutten, Linguagens sem Contexto, Coalgebraically , onde eles fornecem uma variante dessa definição (exigindo que todos os pontos fixos sejam protegidos) que eles também chamam de expressões sem contexto.
fonte
Havia uma pergunta intimamente relacionada (e várias respostas) no MathOverflow sobre os idiomas cujas funções geradoras são holonômicas .
Curiosamente, a definição de Neel da semântica de acima corresponde exatamente à prova (construtiva) da existência de soluções de espécies para equações de espécies recursivas por meio do teorema implícito de espécies. Infelizmente, seu esboço de prova também deve conter um erro sutil, pois há casos em que as coisas ficam "infinitas". Em outras palavras, existe uma condição no jacobiano da transformação definida pela gramática como não singular, necessária. É provavelmente por isso que Bonsangue-Rutten exige que os pontos fixos sejam guardados, como uma maneira de garantir essa condição no jacobiano.μ
fonte
Publicamos recentemente os contornos de uma estrutura que fará exatamente isso. Procure em comp.compilers , onde enviei uma notificação junto com alguns links.
Os novos desenvolvimentos funcionam com o Teorema de Chomsky-Schuetzenberger e podem ser considerados como uma conclusão desse resultado. O próprio Chomsky foi informado dos desenvolvimentos e indica um desejo de "recuperar o atraso".
Junto com esse desenvolvimento, também estabelecemos a equivalência de duas formulações separadas para expressões livres de contexto - uma que é uma extensão / conclusão da forma mu-calculus de "ponto menos fixo" (originalmente por Gruska, Yntema e McWhirter) - que recebeu uma espécie de formulação final em 2014 - e a outra publicada em 2008.
fonte