JavaCC: Difference between revisions

Content deleted Content added
MoreNet (talk | contribs)
No edit summary
Removing link(s) / list item(s) Wikipedia:Articles for deletion/Judoscript closed as delete (XFDcloser)
 
(46 intermediate revisions by 30 users not shown)
Line 4:
| screenshot =
| caption =
| developer = Oracle
| latest release version = 57.0.10
| latest release date = {{Start date and age|2020|11|23}}<ref>{{cite web|url=https://javacc.github.io/javacc/release-notes.html#javacc-7.0.10|title=MODIFICATIONS IN VERSION 7.0.10 |accessdate=2021-05-14}}</ref>
| latest release date = August 31, 2009
| latest preview version =
| latest preview date =
Line 13:
| genre = parser/scanner generator
| license = [[BSD license|BSD]]
| website = {{urlURL|http://java.net/projects/javacc}}<br>{{url|http://javacc.java.net/org}}
| repo = {{URL|https://github.com/javacc/javacc}}}}
}}
 
'''JavaCC''' (Java Compiler Compiler) is an [[open source]] [[parser generator]] and [[Lexical_analysis|lexical analyzer]] generator for the [[Java (programming language)|Java programming language]]. JavaCC is similar to [[yacc]] in that it generates a [[parser]] from a [[formal grammar]] written in [[Extended Backus-Naur form|EBNF]] notation, except the output is Java source code. Unlike yacc, however, JavaCC generates top-down parsers, which limits it to the [[LL parser|LL(k)]] class of grammars (in particular, [[left recursion]] cannot be used). JavaCC also generates lexical analyzers in a fashion similar to [[Lex_(software)|lex]]. The tree builder that accompanies it, JJTree, constructs its trees from the bottom up.
'''JavaCC''' ('''Java Compiler Compiler''') is an [[open-source software|open-source]] [[parser generator]] and [[Lexical analysis|lexical analyzer]] generator written in the [[Java (programming language)|Java programming language]].<ref>{{cite web
| url=https://www.javaworld.com/article/2076269/build-your-own-languages-with-javacc.html
| title=Build your own languages with JavaCC
| date=2000-12-29
| last=Enseling|first=Oliver
| publisher=[[JavaWorld]]
| accessdate=2020-01-02}}</ref>
 
'''JavaCC''' (Java Compiler Compiler) is an [[open source]] [[parser generator]] and [[Lexical_analysis|lexical analyzer]] generator for the [[Java (programming language)|Java programming language]]. JavaCC is similar to [[yacc]] in that it generates a [[parser]] from a [[formal grammar]] written in [[Extended Backus-NaurBackus–Naur form|EBNF]] notation, except the output is Java source code. Unlike yacc, however, JavaCC generates top-down parsers,. whichJavaCC limitscan itresolve tochoices based on the next ''k'' input tokens, and so can handle [[LL parser|LL(''k'')]] classgrammars automatically; by use of grammars (in"lookahead particularspecifications", [[leftit recursion]]can cannotalso beresolve used)choices requiring unbounded look ahead. JavaCC also generates lexical analyzers in a fashion similar to [[Lex_Lex (software)|lex]]. The tree builder that accompanies it, JJTree, constructs its trees from the bottom up.
 
JavaCC is licensed under a [[BSD license]].
 
==History==
In 1996, [[Sun Microsystems]] released a parser generator called ''Jack''. The developers responsible for ''Jack'' created their own company called Metamata and changed the ''Jack'' name to JavaCC. Metamata eventually became part of [[WebGain]]. After WebGain shut down its operations, JavaCC was moved to its current home.
 
==Uses==
== Where is it used? ==
Here is a non-comprehensive list of softwareSoftware built using JavaCC includes:
 
* [[Apache Derby]]
* [[BeanShell]]
* [[FreeMarker]]
* [[PMD_PMD (software)|PMD]]
* [[Coco/RVaadin]]
* [[Apache Lucene]]
* [[JavaParser]]
 
==See also==
{{Portal|Computer programming|Free and open-source software}}
* [[ANTLR]]
{{Portal|Java}}
* [[ANTLRSableCC]]
* [[SableCCCoco/R]]
* [[Parboiled (Java)|parboiled]]
*[[Coco/R]]
 
*[[Parboiled (Java)|parboiled]]
==References==
{{Reflist|colwidth=30em}}
 
==External links==
*{{Official|http://java.net/projects/javacc website}}
*[httphttps://web.archive.org/web/20130608172614/https://javacc.java.net/ Java Compiler Compiler (JavaCC) - The Java Parser Generator]
<!-- *[httphttps://replayweb.waybackmachinearchive.org/web/20080924103934/https://javacc.dev.java.net/ 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. -->
*[http://javacc.org/ JavaCC's New Official Website by April 2017]
*[http://www.engr.mun.ca/~theo/JavaCC-Tutorial/ JavaCC Tutorial]
*[http://www.engr.mun.ca/~theo/JavaCC-FAQ/ JavaCC FAQ]
*[http://generatingparserswithjavacc.com/ A JavaCC book - Generating Parsers with JavaCC] {{Webarchive|url=https://web.archive.org/web/20140311225541/http://generatingparserswithjavacc.com/ |date=2014-03-11 }}
 
{{DEFAULTSORT:Javacc}}
[[Category:Parser generators]]
[[Category:Java development tools]]
[[Category:Free software programmed in Java (programming language)]]
 
[[Category:Software using the BSD license]]
[[uk:JavaCC]]