Affiliation:
1. Carnegie-Mellon University, Pittsburgh, Pa.
Abstract
The type and subtype facilities of the Ada programming language permit some subtype information to be determined dynamically. This subtype information requires a runtime representation, and its dynamic nature influences the representation of variables. In this paper, we first review Ada's types and subtypes to identify some of those aspects which affect runtime representation. We then present the particular representation scheme which is used in the CHARRETTE Ada implementation. The scheme is straightforward and consistent in that a variable is represented the same way independently of where it appears, whether it is on the stack, on the heap, or a component of another variable. The design treats Ada's discriminants and discriminant constraints as a form of parameterized types, where the parameterization permits different instances of a type to have different variants and different sizes for array fields. Composition of such parameterized types is supported. We explain how several Ada operations are handled by our particular representation. We briefly discuss some alternative approaches to Ada representation, comparing them to our design.
Publisher
Association for Computing Machinery (ACM)
Subject
Computer Graphics and Computer-Aided Design,Software
Reference10 articles.
1. Hilfinger P. N. Discriminant Constraints in Ada LIR.008. Available on-line at ARPA-net site ISIE as <TNE-ARCHIVE> LIR.008.]] Hilfinger P. N. Discriminant Constraints in Ada LIR.008. Available on-line at ARPA-net site ISIE as <TNE-ARCHIVE> LIR.008.]]
2. Hilfinger P. N. Implementation of Composite Objects with Components of Varying Size. Unpublished memorandum.]] Hilfinger P. N. Implementation of Composite Objects with Components of Varying Size. Unpublished memorandum.]]
3. A model for implementing Euclid modules and type templates
4. Rationale for the design of the Ada programming language
Cited by
2 articles.
订阅此论文施引文献
订阅此论文施引文献,注册后可以免费订阅5篇论文的施引文献,订阅后可以查看论文全部施引文献
1. Addressing types and objects in Ada;Software: Practice and Experience;1987-05
2. The doublet model;ACM SIGPLAN Notices;1984-01