Sto cercando di ottenere il parser per restituire tutti i possibili risultati di analisi (foresta di analisi) da una grammatica ambigua e scegliere dalla foresta di analisi valutandoli rispetto al contesto/cronologia utente e una conoscenza base. Per ragioni di prestazioni, questo dovrebbe probabilmente essere fatto con il parser packrat e un limite di ricerca/limite superiore per limitare il numero di chiamate ricorsive nell'applicare le regole di produzione per evitare loop infiniti.Scala Parser Combinator, Ambiguous Grammar e Parse Forest
Essendo nuovo sia per Scala che per i suoi Combinatori di parser, non riesco a capire come farlo o se sia possibile farlo. Qualcuno potrebbe aiutarmi? Molto apprezzato.
Cordiali saluti, Thomas Juan
Grazie per l'intuizione. Mentre esploro le mie idee, mi rendo conto che i fallimenti di analisi possono indicarmi dove riparare la grammatica e suggerire possibili soluzioni all'utente, è possibile che i vostri Combinatori GLL mantengano informazioni o un "punteggio" per tentativi di analisi falliti mentre sono provati? Molto apprezzato! –
Inoltre, questo comportamento extra costringerebbe il parser a produrre sempre la peggiore complessità O (n^3)? –