Skip to main content
Log in

An abstract data type for name analysis

  • Published:
Acta Informatica Aims and scope Submit manuscript

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.

This is a preview of subscription content, log in via an institution to check access.

Access this article

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Institutional subscriptions

Similar content being viewed by others

References

  1. Pascal Computer Programming Language. ANSI/IEEE 770 X3.97-1983, American National Standards Institute, New York, NY, (1983)

  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. 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. Guttag, J.V., Horning, J.J.: The algebraic specification of abstract data types. Acta Inf.10, 27–52 (1978)

    Google Scholar 

  5. Kastens, U.: Ordered attribute grammars. Acta Inf.13 (3), 229–256 (1980)

    Google Scholar 

  6. Kastens, U.: LIGA: A language independent generator for attribute evaluators. Bericht der Reihe Informatik63, Universität-GH Paderborn, Paderborn, FRG 1989

    Google Scholar 

  7. Kastens, U., Hutt, B., Zimmermann, E.: GAG: A practical compiler generator (Lect. Notes Comput. Sci., vol. 141). Berlin Heidelberg New York: Springer 1982

    Google Scholar 

  8. Revised report on the algorithmic language ALGOL 60. Commun. ACM6 (1), 1–17 (1963)

  9. Reiss, S.P.: Generation of compiler symbol processing mechanisms from specifications. Trans. Prog. Lang. Systems5 (2), 127–163 (1983)

    Google Scholar 

  10. Sale, A.H.J.: A note on scope, one-pass compilers, and Pascal. Pascal News15, 62–63 (1979)

    Google Scholar 

  11. Schmidt, D.A.: Denotational semantics. Newton, MA: Allyn and Bacon 1986

    Google Scholar 

  12. Wirth, N.: Programming in Modula-2. 3rd. edn. (Texts Monogr. Comput. Sci.). Berlin Heidelberg New York: Springer 1985

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Rights and permissions

Reprints and permissions

About this article

Cite this article

Kastens, U., Waite, W.M. An abstract data type for name analysis. Acta Informatica 28, 539–558 (1991). https://doi.org/10.1007/BF01463944

Download citation

  • Received:

  • Issue Date:

  • DOI: https://doi.org/10.1007/BF01463944

Keywords

Navigation