|
ABSTRACT
It is common practice to specify textual patterns by means of a set of regular expressions and to transform this set into a finite automaton to be used for the scanning of input strings. In many applications, the cost of this preprocessing phase can be amortized over many uses of the constructed automaton. In this paper new techniques for lazy and incremental scanner generation are presented. The lazy technique postpones the construction of parts of the automaton until they are really needed during the scanning of input. The incremental technique allows modifications to the original set of regular expressions to be made and reuses major parts of the previous automaton. This is interesting in applications such as environments for the interactive development of language definitions in which modifications to the definition of lexical syntax and the uses of the generated scanners alternate frequently.
REFERENCES
Note: OCR errors may be found in this Reference List extracted from the full text article. ACM has opted to expose the complete List rather than only correct and linked references.
| |
1
|
AHO, A. V. Pattern matching in strings. In Formal Language Theory, R. V. Book, Ed., Academic Press, New York, 1980, 325 347.
|
| |
2
|
Alfred V. Aho , Ravi Sethi , Jeffrey D. Ullman, Compilers: principles, techniques, and tools, Addison-Wesley Longman Publishing Co., Inc., Boston, MA, 1986
|
| |
3
|
BERRY, G., AND SETHI, R. From regular expressions to deterministic automata. Rep. 649, INRIA, Rocquencourt, 1987.
|
| |
4
|
CHAILLOUX, J., DEVIN, M., DUPONT, F., HULLOT, J. M., SERPETTE, B., AND VUILLEMIN, J. Le_Llsp Version 15.2--Le Manuel de r~f~rence. INRIA, Rocquencourt, 1986.
|
| |
5
|
VAN DIJK, M. H. H., AND KOORN, J. W.C. Generic syntax-directed editor. In The CENTAUR User~ Guide--Version 0.9, 1989.
|
| |
6
|
GROSCH, J. Efficient generation of table-driven scanners. Compiler Generation Rep. No. 2, GMD Forschungsstelle an der Universit~t Karlsruhe, May 1987.
|
| |
7
|
|
 |
8
|
|
| |
9
|
HEERIN~, J., AND KLINT, P. A syntax definition formalism. In ESPRIT'86: Results and Achievements, North-Holland, 1987, 619-630. See also Chapter 6 of Algebraic Specification, J. A. Bergstra, J. Heering, and P. Klint, Eds., Frontier Series, ACM Press~ Addison-Wesley, 1989.
|
| |
10
|
HEERING, J., KAHN, G., KLINT, P., AND LANG, B. Generation of interactive programming environments. In ESPRIT'85, Status Report of Continuing Work, Part I, North-Holland, 1986, 467 477.
|
 |
11
|
|
 |
12
|
|
 |
13
|
|
| |
14
|
|
| |
15
|
KLINT, P. Lazy scanner generation for modular regular grammars. Rep. g158, Centre for Mathematics and Computer Science, 1991.
|
| |
16
|
LESK, M.E. LEX--a lexical scanner generator. Rep. CSTR 39, Bell Laboratories, Murray Hill, N.J., 1975.
|
| |
17
|
McNAuo~TON, R., AND YAMADA, PI. Regular expressions and state graphs for automata. IRE Trans. Electron. Comput. EC-9 (1960), 38-47.
|
| |
18
|
PAXSON, V. Flex. Lexical scanner generator developed at Lawrence Berkeley Laboratory, USA, 1989.
|
| |
19
|
REKERS, J. Modular parser generation. Rep. CS~R8933, Centre for Mathematics and Computer Science, 1989.
|
| |
20
|
|
| |
21
|
WALrERS, H. R. On equal terres: Implementing algebraic specifications. Ph.D. Thesis, Programming Research Group, Univ. of Amsterdam, 1991.
|
REVIEW
"R. Nigel Horspool : Reviewer"
The standard approach used to construct a lexical analyzer
automatically is to begin with a specification of the lexical elements
as regular expressions and to translate the collection of regular
expressions into a finite state automaton. The
more...
|