Incorporating Language Processing into Java Applications: A JavaCC Tutorial

  • Authors:
  • Viswanathan Kodaganallur

  • Affiliations:
  • Seton Hall University

  • Venue:
  • IEEE Software
  • Year:
  • 2004

Quantified Score

Hi-index 0.00

Visualization

Abstract

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.