Tutte le grammatiche non ambigue possono essere analizzate in tempo lineare?


22

Quando ho armeggiato con l'analisi LR non canonica, ho escogitato un metodo di analisi (con tabelle di dimensioni infinite, che lo rende in qualche modo poco pratico ) in grado di analizzare esattamente le grammatiche non ambigue nel tempo , e mi chiedevo se fosse possibile fare meglio :O(n2)

Tutte le grammatiche non ambigue possono essere analizzate in tempo lineare?

Sono abbastanza sicuro di aver letto da qualche parte che questo è il caso, ma non compare quando si cerca in Internet. La stessa domanda è stata posta qui , ma nessuna risposta è stata data per quanto ne so.

Risposte:


23

L'analisi inequivocabile senza contesto è in usando l'algoritmo di Earley. Se esiste un algoritmo di analisi che lavora in tempo lineare su tutte le grammatiche libere da contesto senza ambiguità è un problema aperto. Una delle affermazioni più avanzate di questo tipo è dovuta a Leo [1991], che ha dimostrato che una variante dell'analisi di Earley funziona in tempo lineare per tutte le grammatiche LRR.O(n2)

[Leo 1991] Joop MIM Leo. Un algoritmo di analisi generale senza contesto in esecuzione in tempo lineare su ogni grammatica LR ( ) senza usare lookahead, Theoretical Computer Science 82 (1): 165--176. doi: 10.1016 / 0304-3975 (91) 90180-Ak

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.