ILALR: An incremental generator of LALR(1) parsers

  • R. Nigel Horspool
Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 371)


An incremental parser generator would be a desirable tool for use in compiler implementation projects or for experimental use in designing new languages. It would allow the tool user to incrementally add or remove production rules from a grammar while maintaining correct parse tables, and would report grammatical problems to the user at the earliest possible moment. ILALR is such an incremental parser generator for the LALR(1) class of grammars. It uses incremental algorithms for computing the LALR(1) parser tables.

Keywords and Key Phrases

parsers LALR(1) compilers incremental algorithms 


  1. [1]
    Aho, A.V., and J.D. Ullman. The Theory of Parsing, Translation and Compiling. Prentice-Hall, 1972.Google Scholar
  2. [2]
    DeRemer, F.L., and T.J. Pennello. Efficient Computation of LALR(1) Look-Ahead Sets. ACM Trans. on Prog. Lang. and Systems, 4, 4 (Oct. 1982), pp. 615–649.Google Scholar
  3. [3]
    Fischer, C.N., and R.J. LeBlanc Jr. Crafting a Compiler. Benjamin/Cummings, Menlo Park, 1988.Google Scholar
  4. [4]
    Fischer, G. Incremental LR(1) Parser Construction as an Aid to Syntactical Extensibility. PhD Dissertation, Tech. Report 102, University of Dortmund, 1980.Google Scholar
  5. [5]
    Hayes, I., and K. Robinson. A Tutorial on Llama: A Pascal Translator Generator. Dept. of Computer Science, Univ. of New South Wales, June 1985.Google Scholar
  6. [6]
    Heering, J., P. Klint and J. Rekers. Incremental generation of Parsers. Technical Report (to appear), Centre for Mathematics and Computer Science, Amsterdam, 1988.Google Scholar
  7. [7]
    Heindel, L.E., and J.T. Roberto. LANGPAK — An Interactive Language Design System. American Elsevier, New York, 1975.Google Scholar
  8. [8]
    Horspool, R.N., and M.R. Levy. Mkscan — An Interactive Scanner Generator. Software — Pract. and Exp. 17,6 (June 1987), pp. 369–378.Google Scholar
  9. [9]
    Johnson, S.C. Yacc — Yet Another Compiler-Compiler. Computer Science Tech. Report 32, Bell Laboratories, 1975.Google Scholar
  10. [10]
    Lesk, M.E., and E. Schmidt. Lex — A Lexical Analyzer Generator. Computer Science Tech. Report 39, Bell Laboratories, 1975.Google Scholar
  11. [11]
    Pager, D. The Lane Tracing Algorithm and Ways of Enhancing Its Efficiency. Inf. Science 12, 1 (1977), pp. 19–42.Google Scholar
  12. [12]
    Vidart, J. Extensions Syntaxiques dans une Contexte. PhD Dissertation, Département d'informatique, Université of Grenoble, 1974.Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 1989

Authors and Affiliations

  • R. Nigel Horspool
    • 1
  1. 1.Department of Computer ScienceUniversity of VictoriaVictoriaCanada

Personalised recommendations