ACM Home Page
Please provide us with feedback. Feedback
A facility for the downward extension of a high-level language
Full text PdfPdf (638 KB)
Source Symposium on Compiler Construction archive
Proceedings of the 1982 SIGPLAN symposium on Compiler construction table of contents
Boston, Massachusetts, United States
Pages: 127 - 133  
Year of Publication: 1982
ISBN:0-89791-074-5
Also published in ...
Author
Thomas N. Turba  SPERRY UNIVAC, P.O. Box 43942, St. Paul, Minnesota
Sponsor
SIGPLAN: ACM Special Interest Group on Programming Languages
Publisher
ACM  New York, NY, USA
Bibliometrics
Downloads (6 Weeks): 0,   Downloads (12 Months): 12,   Citation Count: 0
Additional Information:

abstract   index terms   collaborative colleagues  

Tools and Actions: Review this Article  
DOI Bookmark: Use this link to bookmark this Article: http://doi.acm.org/10.1145/800230.806988
What is a DOI?

ABSTRACT

This paper presents a method whereby a high-level language can be extended to provide access to all the capabilities of the underlying hardware and operating system of a machine. In essence, it is a facility that allows a user to make special purpose extensions to a language without requiring the compiler to be modified for each extension. Extensions are specified in an assembler-like language that is used at compile time to produce executable code to be combined with compiler-generated code. This facility has been implemented in a systems-programming language and was designed to provide access to facilities not directly available in the language. The way in which the facility was implemented calls for a minimum of user-visible language changes and is well suited for generating code sequences for any language. The facility provides the extension writer access to information available in the high-level language during compilation, permits the selective generation of user-defined code sequences depending on the context in which they are being used, provides for the integration of this code with compiler-generated code, and provides for the generation of user-understandable error messages when an extension is used incorrectly.