InL''''analisi [[informatica]],sintattica''' ilo '''parsing''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]].
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 dalldell'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.
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 della ''[[analisi lessicale]]'' e della ''analisi sintattica'' vera e propria.
==Descrizione==
== 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]] ===
* [[ANTLR]]
* [[GNU Bison]]
* [[JavaCC]]
* [[Yacc]]
* Spirit (Boost)
== Altri progetti ==
* [[VisualLangLab]]
{{interprogetto|preposizione=sul}}
== Collegamenti esterni ==
* [http://www.MHGSoft.de?Parser TFunctionParser] Un parser matematico esauriente (più di 90 funzioni e operazioni)
* [http://www.ucalc.com/mathparser UCalc Fast Math Parser] Un parser di espressioni, commerciale
* [httphttps://muparserbeltoforion.sourceforge.netde/en/muparser/ muParser] Un parser di espressioni matematiche, open source
* [http://www.cs.vu.nl/~dick/PTAPG.html Parsing Techniques - A Practical Guide] by Dick Grune and Ceriel J.H. Jacobs.
* {{collegamento interrotto|1=[http://www.guidealgoritmi.it/ShowArticle.aspx?ID=3 Operator Precedence Parsing] |datedata=marzo 2018 |bot=InternetArchiveBot }} Un parser di espressioni matematiche, open source, in linguaggio C
* [http://www.tule.di.unito.it/ Turin University Parser] Parser del linguaggio naturale, italiano, open source, in linguaggio Common Lisp (di Leonardo Lesmo, Università di Torino)
* [http://nlp.stanford.edu/software/lex-parser.shtml Stanford Parser] Parser di Stanford
|