JavaCC
Utvecklare | Orakel |
---|---|
Stabil frisättning | 7.0.10 / 23 november 2020
|
Förvar | |
Plattform | Java Virtual Machine |
Typ | parser/scanner generator |
Licens | BSD |
Hemsida |
JavaCC ( Java Compiler Compiler ) är en öppen källkods- parsergenerator och lexikalanalysator skrivna i programmeringsspråket Java .
JavaCC liknar yacc genom att det genererar en parser från en formell grammatik skriven i EBNF- notation. Till skillnad från yacc genererar JavaCC dock uppifrån och ner parsers. JavaCC kan lösa val baserat på nästa k inmatningstoken, och så kan hantera LL( k ) grammatik automatiskt; genom att använda "lookahead-specifikationer" kan den också lösa val som kräver obegränsad blick framåt. JavaCC genererar också lexikalanalysatorer på ett sätt som liknar lex . Trädbyggaren som följer med den, JJTree, konstruerar sina träd nerifrån och upp.
JavaCC är licensierad under en BSD-licens .
Historia
1996 släppte Sun Microsystems en parsergenerator som heter Jack . Utvecklarna som ansvarar för Jack skapade sitt eget företag som heter Metamata och ändrade Jack -namnet till JavaCC. Metamata blev så småningom en del av WebGain . Efter att WebGain lade ner sin verksamhet flyttades JavaCC till sitt nuvarande hem.
Används
Programvara byggd med JavaCC inkluderar:
- Apache Derby
- BeanShell
- FreeMarker
- PMD
- Vaadin
- Apache Lucene
- JavaParser
- Judoskrift