Parsing: differenze tra le versioni

Contenuto cancellato Contenuto aggiunto
m Ho aggiunto una indicazione reperita dalla Wikipedia in lingua EN
Modifico in base a linee guida vedi Wikipedia:Voci correlate
 
(9 versioni intermedie di 7 utenti non mostrate)
Riga 1:
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]].
Il termine ''parsing'' proviene dal Latino ''pars'' che indica una parte di un discorso.
 
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.
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 dall'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 della 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]] ===
* [[ANTLR]]
* [[GNU Bison]]
Line 65 ⟶ 48:
* [[JavaCC]]
* [[Yacc]]
 
* Spirit (Boost)
== Altri progetti ==
* [[VisualLangLab]]
{{interprogetto|preposizione=sul}}
 
== Collegamenti esterni ==
Line 72 ⟶ 56:
* [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] |data=marzo 2018 |bot=InternetArchiveBot }} Un parser di espressioni matematiche, open source, in linguaggio C