SmaCC (Smalltalk Compiler-Compiler) is a freely available parser generator for Smalltalk. It
is a replacement for the T-Gen parser generator. T-Gen has several limitations
that make it difficult to produce parsers. SmaCC overcomes T-Gen's limitations. For example, SmaCC
can generate parsers for ambiguous grammars and grammars with overlapping tokens.
Both of these are not possible using T-Gen. In addition to handling more
grammars than T-Gen, SmaCC has a smaller runtime than T-Gen and is faster than
T-Gen.
SmaCC was developed under VisualWorks 7 by
John Brant and Don
Roberts and has been ported to Dolphin 5.0
Professional, VisualAge Smalltalk 6.0, and Squeak. While it currently only runs on these
platforms, it should be relatively easy to port to other platforms.
To get started with SmaCC, you can download the files
and read the tutorial. If you want more information
than the tutorial provides, we have detailed sections for the
scanner and parser. If you
are unfamiliar with scanning and parsing concepts, you should read a good
compiler book, or you can just
hire us to build
a parser for you.