# RE2C: a more versatile scanner generator

@article{Bumbulis1993RE2CAM,
title={RE2C: a more versatile scanner generator},
author={Peter Bumbulis and Donald D. Cowan},
journal={LOPLAS},
year={1993},
volume={2},
pages={70-84}
}
• Published 1 March 1993
• Computer Science
• LOPLAS
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 [Gray 1988] that can generate scanners that are faster than most hand-coded ones. However, most generated scanners are tailored for a particular environment, and retargeting these scanners to other environments, if possible, is usually… Expand

#### Figures, Tables, and Topics from this paper

Parsing in a hostile world
• D. Blasband
• Computer Science
• Proceedings Eighth Working Conference on Reverse Engineering
• 2001
The paper describes a formalization and development effort aimed at automating the production of parsers for languages for which the common classifications, and even the common division of labor between lexical and syntactical analysis, do not apply. Expand
Data integration using scanners with SQL output - The Bioscanners project at sourceforge
Summary There is currently no standardized approach for parsing output that the numerous bioinformatical tools generate. Because the framework approach of the Bio-toolkits has some shortcomings, weExpand
Data integration using scanners with SQL output - The Bioscanners project at sourceforge
This work developed sample applications that generate standard SQL database code and thereby greatly simplify the parsing work of data integration and data analysis in the bioinformatical tools. Expand
Pragmatic aspects of reusable program generators
• N. Ramsey
• Computer Science
• Journal of Functional Programming
• 2003
This paper elaborates on questions of a standard way to support multiple target languages and a simple, clear way to control interfaces to generated code by means of case studies of the New Jersey Machine-Code Toolkit, the $\lambda$-RTL Translator, and the ASDL program generator. Expand
High-performance regular expression scanning on the Cell/B.E. processor
• Computer Science
• ICS '09
• 2009
This work presents an algorithm and a set of techniques for using multi-core features such as multiple threads and SIMD instructions to perform parallel regexp-based tokenization, and presents a family of optimized kernels that implement the algorithm and are easily portable to other SIMD-enabled processors. Expand
Evaluation of Automatically-Generated Compilers
The results of the comparison show that efficient compilers can be generated from specifications that are much smaller and more problem-oriented than the equivalent source code and further work must be done to reduce the dynamic memory usage of generated compilers. Expand
An evaluation of an automatically generated compiler
A systematic comparison was conducted between a hand-coded translator for the Icon programming language and one generated by the Eli compiler construction system, showing that efficient compilers can be generated from specifications that are much smaller and more problem oriented than the equivalent source code. Expand
Pragmatic Aspects of Reusable Program Generators
This paper uses exam- ples from SLED, λ-RTL, and ASDL to elaborate on how a simple, clear way to control interfaces to generated code is most urgently needed. Expand
Tagged Deterministic Finite Automata with Lookahead
This paper extends the work of Laurikari and Kuklewicz on tagged deterministic finite automata (TDFA) in the context of submatch extraction in regular expressions. The main goal of this work isExpand
Ablego : a function outlining and partial inlining framework: Research Articles
• Computer Science
• 2007
Ablego is presented, a framework for function outlining and partial inlining that includes several innovations: an abstract-syntax-tree-based analysis and transformation to form cold regions for outlining; a set of flexible heuristics to control the aggressiveness of function outlining; several possible function outlining strategies; and explicit variable spilling, a new technique that overcomes negative side-effects of function outlined. Expand

#### References

SHOWING 1-10 OF 37 REFERENCES
Efficient generation of lexical analysers
• J. Grosch
• Computer Science
• Softw. Pract. Exp.
• 1989
This paper shows how to solve the problem in linear time for practical cases, thus resulting in a significant speed‐up, and presents experimental results of the scanner generator Rex3 which uses this technique. Expand
A retargetable compiler for ANSI C
lcc is a new retargetable compiler for ANSI C. Versions for the VAX, Motorola 68020, SPARC, and MIPS are in production use at Princeton University and at AT&amp;T Bell Laboratories. With a fewExpand
Very fast LR parsing
LR parsers can be made to run 6 to 10 times as fast as the best table-interpretive LR parsers, and a factor of 2 to 4 increase in total table size can be expected, depending upon whether syntactic error recovery is required. Expand
Even faster lr parsing
This paper introduces optimization techniques that increase the parsing speed even further while simultaneously reducing the size of the parser. Expand
Lex—a lexical analyzer generator
• Computer Science
• 1990
This manual will only discuss generating analyzers in C on the UNIX system, which is the only supported form of Lex under UNIX Version 7.0, and is designed to simplify interfacing with Yacc, for those with access to this compiler-compiler system. Expand
C++ Programming Language
Bjarne Stroustrup makes C even more accessible to those new to the language, while adding advanced information and techniques that even expert C programmers will find invaluable. Expand
The C Programming Language
• Computer Science
• 1978
This ebook is the first authorized digital version of Kernighan and Ritchie's 1988 classic, The C Programming Language (2nd Ed.), and is a "must-have" reference for every serious programmer's digital library. Expand
Eli: a complete, flexible compiler construction system
• Computer Science
• CACM
• 1992
The Eli’ system has been used to construct complete compilers for standard programming languages extensions tostandard programming languages, and specialpurpose languages and the term compiler when referring to language processors is used. Expand
Producing good code for the case statement
A method for combining the selection code schemes is proposed that is flexible enough to handle case‐selector data‐types that have a large range of values, such as the character‐string or floating‐point datatypes, and can be fine‐tuned when the probabilities of the case selector taking on particular values are known. Expand
Compilers: Principles, Techniques, and Tools
• Computer Science
• Addison-Wesley series in computer science / World student series edition
• 1986
This book discusses the design of a Code Generator, the role of the Lexical Analyzer, and other topics related to code generation and optimization. Expand