Toutes les grammaires non ambiguës peuvent-elles être analysées en temps linéaire?


22

En bricolant avec l'analyse LR non canonique, j'ai pensé à une méthode d'analyse (avec des tables de taille infinie, ce qui la rend peu pratique ) capable d'analyser exactement les grammaires sans ambiguïté en temps , et je me suis demandé s'il était possible de faire mieux :O(n2)

Toutes les grammaires non ambiguës peuvent-elles être analysées en temps linéaire?

Je suis sûr d'avoir lu quelque part que c'est le cas, mais cela n'apparaît pas lors d'une recherche sur Internet. La même question a été posée ici , mais aucune réponse n'a été donnée à ma connaissance.

Réponses:


23

L'analyse sans contexte sans ambiguïté est dans utilisant l'algorithme d'Earley. L'existence d'un algorithme d'analyse syntaxique fonctionnant en temps linéaire sur toutes les grammaires sans contexte sans ambiguïté est un problème ouvert. L'une des affirmations les plus avancées de ce type est due à Leo [1991], qui a montré qu'une variante de l'analyse syntaxique d'Earley fonctionne en temps linéaire pour toutes les grammaires LRR.O(n2)

[Leo 1991] Joop MIM Leo. Un algorithme d'analyse générale sans contexte s'exécutant en temps linéaire sur chaque grammaire LR ( ) sans utiliser d'anticipation, Theoretical Computer Science 82 (1): 165--176. doi: 10.1016 / 0304-3975 (91) 90180-Ak

En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.