JavaCC
JavaCC (Java Compiler Compiler) — компілятор компіляторів і генератор лексичних аналізаторів з відкритим кодом для мови Java. JavaCC подібний до yacc у тому, що генерує синтаксичний аналізатор з формальної граматики, записаної в EBNF, але на виході генерується текст програми на Java. На відміну від yacc, однак, JavaCC генерує синтаксичний аналізатор за схемою згори-вниз, що обмежує його класом граматики LL-аналізаторів (зокрема, лівостороння рекурсія не може використовуватись). JavaCC також генерує лексичний аналізатор у манері, подібній до lex. Генератор дерев, що використовується разом з ним, JJTree, будує свої дерева зверху вниз.
Тип | parser/scanner generator |
---|---|
Стабільний випуск | 5.0 (August 31, 2009) |
Платформа | Java Virtual Machine |
Мова програмування | Java |
Ліцензія | BSD |
Вебсайт | java.net/projects/javacc |
JavaCC ліцензовано ліцензією BSD.
Історія
В 1996 Sun Microsystems випустила генератор синтаксичних аналізаторів під назвою Jack. Розробники, відповідальні за Jack, створили власну компанію під назвою Metamata і змінили назву Jack на JavaCC. Metamata, зрештою, стала частиною WebGain. Згодом WebGain закрила свої операції, і JavaCC було перенесено на теперішнє місце.
Використання в існуючих програмах
Наступні програмні продукти було створено з використанням JavaCC:
- Apache Derby
- BeanShell
- FreeMarker
- PMD
Див. також
- ANTLR
- SableCC
- Coco/R
- parboiled
Зовнішні посилання
- 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
- JavaCC FAQ
- A JavaCC book - Generating Parsers with JavaCC Архівовано 11 березня 2014 у Wayback Machine.