Generatore di parser: differenze tra le versioni
Contenuto cancellato Contenuto aggiunto
m →Voci correlate: Corretto wikilink |
|||
(31 versioni intermedie di 19 utenti non mostrate) | |||
Riga 1:
{{C|Lista dichiarata incompleta e con molti collegamenti esterni|informatica|ottobre 2010
{{W|informatica|dicembre 2015|Spostare collegamenti esterni dal corpo della voce e creare wikilink.}}
Un '''generatore di parser''' ({{Inglese|'''parser generator'''}}, a volte anche chiamato '''compiler-compiler''') è uno strumento per la generazione del [[codice sorgente]] di un [[parsing|parser]], un interprete o un [[compilatore]] a partire dalla descrizione data da un linguaggio annotato nella forma di grammatica,
== Storia ==
Il primo generatore di parser che ha usato questo nome fu scritto da [[Tony Brooker]] nel 1960 ed era usato per creare i compilatori per i computer [[Atlas Computer (
The name 'compiler compiler' was far more appropriate for Brooker's system than it is for most modern compiler compilers, which are more accurately described as mere parser generators. It is almost certain that the Compiler Compiler name has entered common use due to [[Yacc]] rather than Brooker's work being remembered. -->
Altri esempi di generatori di parser simili
== Tipi di generatori di parser ==
Line 12 ⟶ 13:
== Candidati (incompleto) ==
{| class="wikitable sortable"
|-
!Prodotto
!Tipo
!Linguaggi di output
!Grammatica e codice
!Analizzatore lessicale
!Piattaforma
!Licenza
|-
| [http://www.parsifalsoft.com/ AnaGram] || LALR || ANSI C, C++ || ? || ? || Win32 || Commerciale
|-
| [http://accent.compilertools.net/ ACCENT] {{Webarchive|url=https://web.archive.org/web/20100516004220/http://accent.compilertools.net/ |date=16 maggio 2010 }} || GLR || C || Misti || ? || ? || Open source (GPL)
|-
| [http://www.antlr.org/ ANTLR] || LL(k) || C++, C#, Java, Python || Misti || Generato || Tutte (Java) || Open source (BSD)
|-
| [http://beaver.sourceforge.net/ Beaver] || LALR || Java || Misti || Esterno || Tutte (Java) || Open source (BSD)
|-
| [
|-
| [http://gnuwin32.sourceforge.net/packages/byacc.htm BYACC] || LALR || C || Misti || Esterno || Unix, Win32 || Dominio pubblico
|-
| [http://byaccj.sourceforge.net/ BYACC/J] || LALR || C, Java || Misti || Esterno (JFlex) || Irix, Linux, Solaris, Win32 || Dominio pubblico
|-
| [http://www.ssw.uni-linz.ac.at/Research/Projects/Coco/ Coco/R] || LL(k) || C++, C#, Java || Misti || Generato || ? || Open source (GPL)
|-
| [http://cppcc.sourceforge.net/ CppCC] || LL(k) || C++ || ? || ? || ? || Open source (GPL)
|-
| [http://www2.cs.tum.edu/projects/cup/ CUP] || LALR || Java || Misti || Esterno (JLex) || Tutte (Java) || Open source (GPL)
|-
| [
|-
| [http://www.devincook.com/goldparser/ GOLD] {{Webarchive|url=https://web.archive.org/web/20081102044313/http://www.devincook.com/goldparser/ |date=2 novembre 2008 }} || LALR || ANSI C, C#, Delphi, Java, Python, Visual Basic, Visual C++ || ? || ? || Win32 || Open source (zlib/libpng)
|-
| [http://grammatica.percederberg.net/ Grammatica] || LL(k) || C#, Java || Separati || Generato || Tutte (Java) || Open source (LGPL)
|-
| [https://web.archive.org/web/20050901173442/http://www.cse.ogi.edu/~mpj/jacc/ jacc] || LALR || Java || Misti || ? || Tutte (Java) || Open source (BSD)
|-
| [https://web.archive.org/web/20080924103934/https://javacc.dev.java.net/ JavaCC] || LL(k) || Java || ? || Generato || ? || ?
|-
| [http://www.informatik.uni-osnabrueck.de/alumni/bernd/jay/ jay] || LALR || Java || ? || ? || Unix || ?
|-
| [http://www.hwaci.com/sw/lemon/ LEMON] || LALR || ? || ? || ? || ? || ?
|-
| [http://www.parsetec.com/lrgen/ LRgen] || LALR || C++, Qualsiasi (riscrivendo il modello) || Separati || Generato || Win32 || Commerciale
|-
| [http://pobs.sf.net/ Parser Objects] || LL(k) || Java || Misti || ? || Tutte (Java) || Open source (ZLib/LibPNG)
|-
| [https://web.archive.org/web/20051028141233/http://vl.fmnet.info/precc/ PRECC] || LL(k) || ? || ? || ? || Dos, Unix || ?
|-
| [http://sablecc.org/ SableCC] || LALR || Java (e, col motore "altgen", Python, C++, OCAML,
|-
| [{{collegamento interrotto|1=https://web.archive.org/web/20090221213519/http://members.cox.net/slkpg/ |data=marzo 2018 |bot=InternetArchiveBot }} SLK] || LL(k) || C, C++, C#, Java || ? || ? || ? || ?
|-
| [http://spirit.sourceforge.net/ Spirit] || LL(k) || C++ || Misti || ? || - || Open source (Boost)
|-
| [http://yooparse.sourceforge.net/ YooParse] || LR || C++ || ? || Esterno (YooLex) || ? || Open source (MIT)
|-
| {{Collegamento interrotto|1=[{{collegamento interrotto|1=http://www.horion.it/download.php |data=marzo 2018 |bot=InternetArchiveBot }} HLang] |data=aprile 2019 |bot=InternetArchiveBot }} || LL(k) || interpretato run-time || Separati || Interno o esterno || Tutte || Open source (GPL)
|}
== Voci correlate ==
* [[GNU
* [[Yacc]]
* [[ANTLR]]
== Collegamenti esterni ==
*{{FOLDOC|parser%2bgenerator|Parser generator}}
*{{cita web |1=http://www.computer50.org/mark1/gethomas/manchester_autocodes.html |2=Brooker Autocodes |accesso=1º ottobre 2005 |urlarchivio=https://web.archive.org/web/20041031031946/http://www.computer50.org/mark1/gethomas/manchester_autocodes.html |dataarchivio=31 ottobre 2004 |urlmorto=sì }}
*
*{{cita web | 1 = http://www.skenz.it/traduttori/tesine | 2 = Programmi eseguiti con jflex/cup o con flex/bison | accesso = 18 febbraio 2008 | dataarchivio = 18 aprile 2021 | urlarchivio = https://web.archive.org/web/20210418224906/https://www.skenz.it/traduttori/tesine/ | urlmorto = sì }}
{{portale|informatica}}
[[Categoria:Software di sistema]]
[[Categoria:
|