JavaCC

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:

  • 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 [Архівовано 13 червня 2013 у Wayback Machine.]
  • JavaCC FAQ [Архівовано 26 лютого 2013 у Wayback Machine.]
  • A JavaCC book - Generating Parsers with JavaCC [Архівовано 11 березня 2014 у Wayback Machine.]