In [[informatica|linguistica computazionale]] il L''''analisi sintattica'parsing'' o ''', definito altresì ''parsing''analisi sintattica''' ooppure '''parsificazione''', è un processo che analizza un flusso continuo di dati in ingresso ([[input]], letti per esempio da un [[file]] o una [[tastiera (informatica)|tastiera]]), in modo da determinare la correttezza della sua struttura grazie ad una data [[grammatica formale]]. UnIl termine '''''parser'''parsing'' èproviene undal [[programmaLingua (informatica)latina|programmalatino]] ''pars'' ("parte"), che esegueindica una parte di un discorso questopiù compitoampio.
Il programma che esegue questa analisi è detto '''analizzatore sintattico''' o '''''parser'''''. Di solito i parser non sono scritti a mano, ma realizzati attraverso dei [[generatore di parser|generatori di parser]].▼
Il termine ''parsing'' proviene dal [[Lingua latina|latino]] ''pars'' ("parte"), che indica una parte di un discorso più ampio.
Tipicamente, ilIl termine italiano viene"analisi utilizzatosintattica" perfa riferirsiriferimento al riconoscimento di una grammatica e alla conseguente costruzione di un [[albero sintattico]], che mostra le regole utilizzate durante il riconoscimento dell'input; l'albero sintattico viene poi visitato (anche più volte) durante l'[[Esecuzione (informatica)|esecuzione]] di un [[interprete (informatica)|interprete]] o di un [[compilatore]]. Nella maggior parte dei linguaggi, l'analisi sintattica opera sulla sequenza di ''[[Token (testo)|token]]'' ottenuta dal lavoro dell'[[analizzatore lessicale]] sui dati in ingresso.▼
▲Di solito i parser non sono scritti a mano, ma realizzati attraverso dei [[generatore di parser|generatori di parser]].
▲Tipicamente, il termine italiano viene utilizzato per riferirsi al riconoscimento di una grammatica e alla conseguente costruzione di un [[albero sintattico]], che mostra le regole utilizzate durante il riconoscimento dell'input; l'albero sintattico viene poi visitato (anche più volte) durante l'[[Esecuzione (informatica)|esecuzione]] di un [[interprete (informatica)|interprete]] o di un [[compilatore]].
Nella maggior parte dei linguaggi, tuttavia, l'analisi sintattica opera su una sequenza di ''[[Token (testo)|token]]'' in cui l'[[analizzatore lessicale]] spezzetta l{{'}}''[[input]]''. Pertanto, il termine inglese spesso viene usato per indicare l'insieme dell'[[analisi lessicale]] e dell'analisi sintattica vera e propria.
==Descrizione==
Line 44 ⟶ 40:
== Voci correlate ==
* [[Augmented transition network]]
=== [[Parser top-down]] ===
* [[Parser LL]]
** [[Parser a discesa ricorsiva]]
* [[Parser packrat]]
* [[Unger's method]]
=== [[Parser bottom-up]] ===
* [[Parser LR]]
** [[Parser SLR]]
** [[ParserGeneratore LALRdi parser]]
* [[Parser di Earley]]
* [[CYK algorithm]]
* [[Tomita's Algorithm]]
=== [[Generatore di parser|Generatori di parser]] ===