ACM Home Page
Please provide us with feedback. Feedback
Incremental generation of lexical scanners
Full text PdfPdf (1.88 MB)
Source ACM Transactions on Programming Languages and Systems (TOPLAS) archive
Volume 14 ,  Issue 4  (October 1992) table of contents
Pages: 490 - 520  
Year of Publication: 1992
ISSN:0164-0925
Authors
J. Heering  CWI, Amsterdam, The Netherlands
P. Klint  CWI, Amsterdam, The Netherlands; and Univ. of Amsterdam, Amsterdam, The Netherlands
J. Rekers  CWI, Amsterdam, The Netherlands
Publisher
ACM  New York, NY, USA
Bibliometrics
Downloads (6 Weeks): 5,   Downloads (12 Months): 75,   Citation Count: 6
Additional Information:

abstract   references   cited by   index terms   review   collaborative colleagues  

Tools and Actions: Request Permissions Request Permissions    Review this Article  
DOI Bookmark: Use this link to bookmark this Article: http://doi.acm.org/10.1145/133233.133240
What is a DOI?

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
 
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...

Collaborative Colleagues:
J. Heering: colleagues
P. Klint: colleagues
J. Rekers: colleagues