1
0
Fork
You've already forked jikespg-bootstrap
0
bootstrap code for the jikes parser generator
  • Yacc 79.1%
  • Lex 16%
  • Shell 4.9%
2026年04月20日 13:34:59 -04:00
patches Initial commit 2026年04月20日 13:34:59 -04:00
upstream Initial commit 2026年04月20日 13:34:59 -04:00
.gitignore Initial commit 2026年04月20日 13:34:59 -04:00
bootstrap.sh Initial commit 2026年04月20日 13:34:59 -04:00
license.htm Initial commit 2026年04月20日 13:34:59 -04:00
parse.y Initial commit 2026年04月20日 13:34:59 -04:00
README.md Initial commit 2026年04月20日 13:34:59 -04:00
scan.l Initial commit 2026年04月20日 13:34:59 -04:00

WHAT

This project contains code for bootstrapping version 1.3 of jikespg, the Jikes Parser Generator.

WHY

jikespg, formerly lpg (LALR Parser Generator) is a parser generator program used by jikes, an open source Java compiler developed at IBM.

jikespg parses its grammar files using a parser generated by jikespg. In order to facilitate the build, the jikespg source distribution includes files generated by the jikespg utility. This project provides an alternate method of building jikespg that does not make use of machine-generated source files.

HOW

The file bootstrap.sh contains an outline of a bootstrap process for jikespg.

The bootstrap process happens in two passes. On the first pass, the parser generated from jikespg.g is replaced with one generated by bison, parse.y. In order to simplify things somewhat, the scanner function from lpgparse.c is replaced with a scanner generated by flex. lpgparse.c is modified to use the bison-based parser. All of this results in a bison-based jikespg tool that is able to parse its own grammar.

The result of the first pass is used to regenerated the parser from jikespg.g and rebuild jikespg.

WHERE

jikes and jikespg are currently hosted on Sourceforge at https://sourceforge.net/projects/jikes/. For convenience, the source tarball of jikespg-1.3 is included in this repository.

OTHER

The source code for this project is available under the terms of the IBM Public License, which is the same license used by jikes and jikespg. The license text from jikespg is included under license.htm.

SEE ALSO