{"title":"An operational definition of intermediate code for implementing a portable Ada compiler","authors":"B. Appelbe, Gary Dismukes","doi":"10.1145/3304133.3304169","DOIUrl":null,"url":null,"abstract":"Intermediate codes are in widespread use for implementing modular, portable compilers. Such intermediate codes can also provide a tool for language and compiler standardization if a formal model of the intermediate code is available. This paper describes an abstract machine model for defining the semantics of an intermediate code developed for the TeleSoft-Ada2 compiler. The model, referred to as A0, is an abstract machine whose operations are used to define the Ada intermediate code. A0 includes a logical memory organization and task representation designed for Ada, together with operations to support KAPSE functions such as rendevous, exception handling, and interrupt handling. This approach enables production quality intermediate code translators to be standardized and maintained independently from the Ada source to intermediate code compiler.","PeriodicalId":304626,"journal":{"name":"Proceedings of the AdaTEC Conference on Ada","volume":"5 1","pages":"0"},"PeriodicalIF":0.0000,"publicationDate":"1982-10-06","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"1","resultStr":null,"platform":"Semanticscholar","paperid":null,"PeriodicalName":"Proceedings of the AdaTEC Conference on Ada","FirstCategoryId":"1085","ListUrlMain":"https://doi.org/10.1145/3304133.3304169","RegionNum":0,"RegionCategory":null,"ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"","JCRName":"","Score":null,"Total":0}
引用次数: 1
Abstract
Intermediate codes are in widespread use for implementing modular, portable compilers. Such intermediate codes can also provide a tool for language and compiler standardization if a formal model of the intermediate code is available. This paper describes an abstract machine model for defining the semantics of an intermediate code developed for the TeleSoft-Ada2 compiler. The model, referred to as A0, is an abstract machine whose operations are used to define the Ada intermediate code. A0 includes a logical memory organization and task representation designed for Ada, together with operations to support KAPSE functions such as rendevous, exception handling, and interrupt handling. This approach enables production quality intermediate code translators to be standardized and maintained independently from the Ada source to intermediate code compiler.