A JavaCC (az angol Java Compiler Compiler rövidítése) egy nyílt forrású szintaktikai elemző és lexikális elemző generátorprogram a Java programozási nyelv számára. A JavaCC hasonlít a yacc elemzőre annyiban, hogy egy elemzőt állít elő egy formális nyelvtani leírásból, ahol a nyelvtan kiterjesztett Backus–Naur formában (EBNF jelölésben) állhat, ám ez Java forráskódot generál. A yacc-al ellentétben azonban a JavaCC felülről lefelé haladó elemzőket generál, ami az LL(k) nyelvtanok osztályára korlátozza a használható nyelvtanokat, tehát balrekurzió a nyelv leírásában nem használható. A JavaCC még lexikai elemzőket is képes előállítani a lex-hez hasonlóan. A hozzá tartozó faépítő program, a JJTree, felépíti az elemzési fákat, alulról felfelé haladó módon.
A JavaCC a BSD licenc alá tartozik.
Története 1996-ban a Sun Microsystems kibocsájtotta a Jack nevű parser-generátorát. A Jack szoftvert fejlesztő programozók később saját céget alapítottak Metamata néven és a Jack nevét JavaCC-re változtatták. A Metamata ezután beolvadt a WebGain cégbe. Miután a WebGain felfüggesztette a működését, a JavaCC a mostani helyére került.
Felhasználása Néhány szoftver, amelyben a JavaCC által gyártott elemzőket alkalmaznak (a lista nem teljes):
Apache Derby BeanShell FreeMarker PMD Vaadin Apache Lucene JavaParser
Jegyzetek
Források További információk https://web.archive.org/web/20140312020935/https://java.net/projects/javacc – a JavaCC hivatalos honlapja Java Compiler Compiler (JavaCC) - The Java Parser Generator
JavaCC Tutorial JavaCC FAQ A JavaCC book - Generating Parsers with JavaCC
Kapcsolódó szócikkek
ANTLR SableCC Coco/R parboiled
Fordítás
Kategória:Számítógép-programozás Kategória:Formális nyelvek Kategória:Elemzőgenerátorok Kategória:Java fejlesztőeszközök Kategória:Java Kategória:Szabad szoftverek