Domande taggate «parsers»

Domande sugli algoritmi che decidono se una determinata stringa appartiene a un linguaggio formale fisso.




2
Per ogni regex 'malvagio', esiste un'alternativa non malvagia o il diavolo è nella grammatica?
Apparentemente, ReDos attacchi sfruttano le caratteristiche di alcune espressioni regolari (altrimenti utili) ... causando essenzialmente un'esplosione di possibili percorsi attraverso il grafico definito dall'NFA. È possibile evitare tali problemi scrivendo una regex "non malvagia" equivalente? In caso contrario (quindi, la grammatica non può essere gestita nello spazio / tempo pratico …


1
Perché separare lex e analisi?
È possibile analizzare un documento utilizzando un singolo passaggio da una macchina a stati. Qual è il vantaggio di avere due passaggi, ad es. avere un lexer per convertire il testo in token e avere un parser per testare le regole di produzione su quei token? Perché non avere un …

2
Che cos'è un parser IELR (1)?
Cerco di insegnarmi come usare il bisonte. La manpage bison (1) dice del bisonte: Genera un parser LR deterministico o LR generalizzato (GLR) utilizzando le tabelle di parser LALR (1), IELR (1) o LR canonico (1). Che cos'è un parser IELR? Tutti gli articoli pertinenti che ho trovato sul World …







2
Il linguaggio delle espressioni regolari ha bisogno di un push down degli automi per analizzarlo?
Voglio convertire un utente inserito espressione regolare in un NFA in modo da poter quindi eseguire l'NFA contro una stringa per scopi corrispondenti. Qual è la macchina minima che può essere utilizzata per analizzare le espressioni regolari? Presumo che debba essere un automa push down perché la presenza di parentesi …

3
Come è questa grammatica LL (1)?
Questa è una domanda dal Libro del Drago. Questa è la grammatica: S→ A a A b ∣ B b B aS→AaAb∣BbBaS \to AaAb \mid BbBa A → εA→εA \to \varepsilon B → εB→εB \to \varepsilon La domanda chiede come mostrare che è LL (1) ma non SLR (1). Per …

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.