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