home *** CD-ROM | disk | FTP | other *** search
Text File | 1995-06-01 | 2.4 KB | 49 lines | [TEXT/MPS ] |
- @Article{Bumbulis94,
- author = {Peter Bumbulis and Donald D. Cowan},
- title = {RE2C -- A More Versatile Scanner Generator},
- journal = "ACM Letters on Programming Languages and Systems",
- volume = 2,
- number = "1--4",
- year = 1994,
- abstract = {
- It is usually claimed that lexical analysis routines are still coded by
- hand, despite the widespread availability of scanner generators, for
- efficiency reasons. While efficiency is a consideration, there exist
- freely available scanner generators such as GLA \cite{Gray88} that can
- generate scanners that are faster than most hand-coded ones. However,
- most generated scanners are tailored for a particular environment, and
- retargetting these scanners to other environments, if possible, is
- usually complex enough to make a hand-coded scanner more appealing. In
- this paper we describe RE2C, a scanner generator that not only generates
- scanners which are faster (and usually smaller) than those produced by
- any other scanner generator known to the authors, including GLA, but
- also adapt easily to any environment.
- }
- }
- @Article{Gray88,
- author = {Robert W. Gray},
- title = {{$\gamma$-GLA} - {A} Generator for Lexical Analyzers That
- Programmers Can Use},
- journal = {USENIX Conference Proceedings},
- year = {1988},
- month = {June},
- pages = {147-160},
- abstract = {Writing an efficient lexical analyzer for even a simple
- language is not a trivial task, and should not be done by hand. We
- describe GLA, a tool that generates very efficient scanners. These
- scanners do not use the conventional transition matrix, but instead
- use a few 128 element vectors. Scanning time is only slightly
- greater than the absolute minimum --- the time it takes to look at
- each character in a file. The GLA language allows simple, concise
- specification of scanners. Augmenting regular expressions with
- auxiliary scanners easily handles nasty problems such as C comments
- and C literal constants. We formalize the connection between token
- scanning and token processing by associating a processor with
- appropriate patterns. A library of canned descriptions simplifies the
- specification of commonly used language pieces --- such as,
- C\_IDENTIFIERS, C\_STRINGS, PASCAL\_COMMENTS, etc. Finally, carefully
- tuned lexical analysis support modules are provided for error
- handling, input buffering, storing identifiers in hash tables and
- manipulating denotations.}
- }
-