Saxj is a computer program that facilitates the development of programs that parse textual input in the Java programming language. Saxj is a parser generator that creates static Java parsers in the same sense in which YACC, Bison, and YACC++ are static parser generators that create static C-language parsers. Saxj creates Java object-oriented parsers on the basis of grammar specifications. Saxj uses an algorithm of the "look-ahead 1 token, look right" [LALR(1)] type to convert a grammar specification into a parser. Saxj is built upon implementation of this algorithm by use of a library of Java classes. Grammar specifications in Saxj are intentionally similar to those in YACC, Bison, and YACC++, so that the documentation of Saxj can be nearly the same as that of YACC++. The various instantiations of the class of parsers contain a single definition of the parse table; it is in this sense that the parsers are characterized as static. All of the parsers generated by the YACC family are similarly static. A dynamic parser is feasible in the case of machine learning. Saxj can be used, for example, for writing compiler software, for interpreting sequences of computer-generated commands, and for general language parsing.

This program was written by Richard Weidner of Caltech for NASA's Jet Propulsion Laboratory. For further information, access the Technical Support Package (TSP) free on-line at www.nasatech.com/tsp under the Software category.

This software is available for commercial licensing. Please contact Don Hart of the California Institute of Technology at (818) 393-3425. Refer to NPO-21055.