JavaCC
Тип | parser/scanner generator |
---|---|
Стабільний випуск | 5.0 (August 31, 2009) |
Платформа | Java Virtual Machine |
Мова програмування | Java |
Ліцензія | BSD |
Репозиторій | github.com/javacc/javacc |
Вебсайт | java.net/projects/javacc |
JavaCC (Java Compiler Compiler) — компілятор компіляторів і генератор лексичних аналізаторів з відкритим кодом для мови Java. JavaCC подібний до yacc у тому, що генерує синтаксичний аналізатор з формальної граматики, записаної в EBNF, але на виході генерується текст програми на Java. На відміну від yacc, однак, JavaCC генерує синтаксичний аналізатор за схемою згори-вниз, що обмежує його класом граматики LL-аналізаторів (зокрема, лівостороння рекурсія не може використовуватись). JavaCC також генерує лексичний аналізатор у манері, подібній до lex. Генератор дерев, що використовується разом з ним, JJTree, будує свої дерева зверху вниз.
JavaCC ліцензовано ліцензією BSD.
В 1996 Sun Microsystems випустила генератор синтаксичних аналізаторів під назвою Jack. Розробники, відповідальні за Jack, створили власну компанію під назвою Metamata і змінили назву Jack на JavaCC. Metamata, зрештою, стала частиною WebGain. Згодом WebGain закрила свої операції, і JavaCC було перенесено на теперішнє місце.
Наступні програмні продукти було створено з використанням JavaCC:
- Official JavaCC website - New site (as of January 2011) at java.net.
- Old Official JavaCC web site - Apparently most of the site was (re)moved...?
- A working snapshot of the old official website - Snapshot archived in 2008 by Internet Archives. Includes more useful content than the current state of the new site.
- JavaCC Tutorial [Архівовано 13 червня 2013 у Wayback Machine.]
- JavaCC FAQ [Архівовано 26 лютого 2013 у Wayback Machine.]
- A JavaCC book - Generating Parsers with JavaCC [Архівовано 11 березня 2014 у Wayback Machine.]