Issue No.04 - July/August (2004 vol.21)
Viswanathan Kodaganallur , Seton Hall University
DOI Bookmark: http://doi.ieeecomputersociety.org/10.1109/MS.2004.16
Application programs sometimes need to deal with input whose structure and meaning are dictated by complex formal rules. Although compilers, command processors, and database-query-language processors are prime examples of these applications, the need for such functionality often crops up in the context of other applications as well. Developing this functionality from scratch is complex and error-prone, and programmers rely on tools such as Lex and YACC. A good tool for such tasks in Java is the freely available Java Compiler Compiler. Extended Backus Naur Form is a universal notation for specifying the syntactic rules of formal languages and is a prerequisite to using such tools. This article introduces EBNF and illustrates how to use JavaCC.
languages, compilers, translator writing systems, compiler generators, Java Compiler Compiler, JavaCC, Extended Backus-Naur Form, EBNF
Viswanathan Kodaganallur, "Incorporating Language Processing into Java Applications: A JavaCC Tutorial", IEEE Software, vol.21, no. 4, pp. 70-77, July/August 2004, doi:10.1109/MS.2004.16