Acta Informatica

, Volume 28, Issue 6, pp 539–558 | Cite as

An abstract data type for name analysis

  • U. Kastens
  • W. M. Waite
Article

Abstract

This paper defines an abstract data type on which a solution to the name analysis subproblem of a compiler can be based. (Name analysis uses the scope rules of a language to associate uses of identifiers with their definitions.) We give a state model for the ADT, and show how to implement that model efficiently. The implementation is independent of any particular name analysis, so it is possible to create a library module that can be used in any compiler. Such a library module has been incorporated into the Eli compiler construction system.

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. 1.
    Pascal Computer Programming Language. ANSI/IEEE 770 X3.97-1983, American National Standards Institute, New York, NY, (1983)Google Scholar
  2. 2.
    Graham, S.L., Joy, W.N., Roubine, O.: Hashed symbol tables for languages with explicit scope control, SIGPLAN Notices14(8), 50–57 (1979)Google Scholar
  3. 3.
    Gray, R.W., Heuring, V.P., Krane, S.P., Sloane, A.M., Waite, W.M.: Eli: A complete, flexible compiler construction system. SEG 89-1-1, Dpt. of Electrical and Computer Engineering, Univ. of Colorado, Boulder, CO (1989). (To appear in Commun. ACM)Google Scholar
  4. 4.
    Guttag, J.V., Horning, J.J.: The algebraic specification of abstract data types. Acta Inf.10, 27–52 (1978)Google Scholar
  5. 5.
    Kastens, U.: Ordered attribute grammars. Acta Inf.13 (3), 229–256 (1980)Google Scholar
  6. 6.
    Kastens, U.: LIGA: A language independent generator for attribute evaluators. Bericht der Reihe Informatik63, Universität-GH Paderborn, Paderborn, FRG 1989Google Scholar
  7. 7.
    Kastens, U., Hutt, B., Zimmermann, E.: GAG: A practical compiler generator (Lect. Notes Comput. Sci., vol. 141). Berlin Heidelberg New York: Springer 1982Google Scholar
  8. 8.
    Revised report on the algorithmic language ALGOL 60. Commun. ACM6 (1), 1–17 (1963)Google Scholar
  9. 9.
    Reiss, S.P.: Generation of compiler symbol processing mechanisms from specifications. Trans. Prog. Lang. Systems5 (2), 127–163 (1983)Google Scholar
  10. 10.
    Sale, A.H.J.: A note on scope, one-pass compilers, and Pascal. Pascal News15, 62–63 (1979)Google Scholar
  11. 11.
    Schmidt, D.A.: Denotational semantics. Newton, MA: Allyn and Bacon 1986Google Scholar
  12. 12.
    Wirth, N.: Programming in Modula-2. 3rd. edn. (Texts Monogr. Comput. Sci.). Berlin Heidelberg New York: Springer 1985Google Scholar

Copyright information

© Springer-Verlag 1991

Authors and Affiliations

  • U. Kastens
    • 1
  • W. M. Waite
    • 2
  1. 1.Fachbereich 17Universität PaderbornPaderbornFederal Republic of Germany
  2. 2.Department of Electrical and Computer EngineeringUniversity of ColoradoBoulderUSA

Personalised recommendations