{"title":"用于实现可移植Ada编译器的中间代码的可操作定义","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":"{\"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}","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}
An operational definition of intermediate code for implementing a portable Ada compiler
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.