[go: up one dir, main page]
More Web Proxy on the site http://driver.im/ skip to main content
10.1145/948632.948646acmconferencesArticle/Chapter ViewAbstractPublication PagesplanConference Proceedingsconference-collections
Article
Free access

TCOLAda and the "middle end" of the PQCC Ada compiler

Published: 01 November 1980 Publication History

Abstract

A compiler is traditionally partitioned into a (mostly) machine independent Front End which performs lexical, syntactic, and semantic analysis, and a machine dependent Back End which performs optimization and code generation. In the Ada compiler being implemented at Carnegie-Mellon University in the PQCC project, it is useful to identify a set of phases occurring at the start of the Back End - i.e., "Middle End" - after semantic analysis but before optimization. These phases, known collectively as "CWVM" (an abbreviation for "Compiler Writer's Virtual Machine") make basic representational choices and reflect these in an expanded program tree. This paper describes both TCOLAda - the intermediate language interface produced by the Front End - and the phases comprising CWVM. TCOLAda is a graph structured high level representation of the source program which includes both the symbol table and the program tree. The CWVM phases perform transformations of the TCOLAda graph which fall into three categories: language oriented (e.g., expansion of checking for constructs such as array indexing), virtual machine oriented (e.g., translation of up-level addressing into "display" vector accesses), and actual machine oriented (e.g., expansion of component selection into address arithmetic).

References

[1]
{ACM 80}. Proc. of SIGPLAN Symposium on the Ada Programming Language, December 1980.
[2]
{Belmont 80}. "Types and Type Resolution in Ada: an Implementation Report", in {ACM 80}.
[3]
{Brosgol 80}. B. M. Brosgol, J. M. Newcomer, D. A. Lamb, D. R. Levine, M. S. Van Deusen, W. A. Wulf. TCOLAda: Revised Report on an Intermediate
[4]
Representation for the Preliminary Ada Language. Technical Report CMU-CS-80-105, Carnegie-Mellon University, February 1980.
[5]
{Dausmann 80}. M. Dausmann, S. Drossopoulou, G. Goos, G. Persch, G. Winterstein. AIDA-AN Informal Introduction, University of Karlsruhe, Germany, February 1980.
[6]
{DEC 77}. Digital Equipment Corporation. VAX-11/780 Architecture Handbook, 1977.
[7]
{DoD 80}. U. S. Department of Defense. Reference Manual for the Ada Programming Language. Proposed Standard Document, July 1980.
[8]
{Leverett 80'}. B. W. Leverett. The Packing Problem in Optimizing Compilers, Ph.D. Thesis. Carnegie-Mellon University, to be published.
[9]
{Leverett 80}. B. W. Leverett, R. G. G. Cattell, S. O. Hobbs, J. M. Newcomer, A. H. Reiner, B. R. Schatz, W. A. Wulf. "An Overview of the Production-Quality Compiler-Compiler Project", Computer, Vol. 13, No. 8, August 1980.
[10]
{Scheifler 77}. R. W. Scheifler. "An Analysis of Inline Substitution for a Structured Programming Language", Communication of the ACM 20(9): 647--654, Sept. 1977.
[11]
{Sherman 80}. M. Sherman, M. Borkan. "A Flexible Semantic Analyzer for Ada," in {ACM 80}.
[12]
{Wetherell 79}. C. Wetherell and A. Shannon. LR: Automatic Parser Generator and LR(1) Parser, Lawrence Livermore Laboratory, Preprint UCRL-82926, June 1979.
[13]
{Wulf 80}. W. Wulf, P. Feiler, J. Zinnikas, R. Brender. "A Quantitative Technique for Comparing the Quality of Compiler Code Generation", Tech. Report, Carnegie-Mellon Univ. (to be published).

Recommendations

Comments

Please enable JavaScript to view thecomments powered by Disqus.

Information & Contributors

Information

Published In

cover image ACM Conferences
SIGPLAN '80: Proceedings of the ACM-SIGPLAN symposium on Ada programming language
December 1980
249 pages
ISBN:0897910303
DOI:10.1145/948632
  • cover image ACM SIGPLAN Notices
    ACM SIGPLAN Notices  Volume 15, Issue 11
    Proceedings of the ACM-SIGPLAN symposium on the Ada programming language
    November 1980
    242 pages
    ISSN:0362-1340
    EISSN:1558-1160
    DOI:10.1145/947783
    Issue’s Table of Contents
Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than ACM must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected]

Sponsors

Publisher

Association for Computing Machinery

New York, NY, United States

Publication History

Published: 01 November 1980

Permissions

Request permissions for this article.

Check for updates

Qualifiers

  • Article

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)44
  • Downloads (Last 6 weeks)5
Reflects downloads up to 12 Dec 2024

Other Metrics

Citations

View Options

View options

PDF

View or Download as a PDF file.

PDF

eReader

View online with eReader.

eReader

Login options

Media

Figures

Other

Tables

Share

Share

Share this Publication link

Share on social media