{"title":"Control Flow Treatment in a Simple Semantics-Directed Compiler Generator","authors":"Henning Christiansen, N. Jones","doi":"10.7146/DPB.V10I137.7411","DOIUrl":null,"url":null,"abstract":"A simple algebra-based algorithm for compiler generation is described. Its input is a semantic definition of a programming language, and its output is a ''compiling semantics'' which maps each source program into a sequence of compile-time actions whose net effect on execution is the production of a semantically equivalent target program. The method does not require individual compiler correctness proofs or the construction of specialized target algebras. Source program execution is assumed to proceed by performing a series of elementary actions on a runtime state. A semantic algebra is introduced to represent and manipulate possible execution sequences. A source semantic definition has two parts: A set of semantic equations mapping source programs into terms of the algebra, and an interpretation which gives concrete definitions of the state and the elementary actions on it.","PeriodicalId":432086,"journal":{"name":"Formal Description of Programming Concepts","volume":"8 1","pages":"0"},"PeriodicalIF":0.0000,"publicationDate":"1981-09-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"23","resultStr":null,"platform":"Semanticscholar","paperid":null,"PeriodicalName":"Formal Description of Programming Concepts","FirstCategoryId":"1085","ListUrlMain":"https://doi.org/10.7146/DPB.V10I137.7411","RegionNum":0,"RegionCategory":null,"ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"","JCRName":"","Score":null,"Total":0}
引用次数: 23
Abstract
A simple algebra-based algorithm for compiler generation is described. Its input is a semantic definition of a programming language, and its output is a ''compiling semantics'' which maps each source program into a sequence of compile-time actions whose net effect on execution is the production of a semantically equivalent target program. The method does not require individual compiler correctness proofs or the construction of specialized target algebras. Source program execution is assumed to proceed by performing a series of elementary actions on a runtime state. A semantic algebra is introduced to represent and manipulate possible execution sequences. A source semantic definition has two parts: A set of semantic equations mapping source programs into terms of the algebra, and an interpretation which gives concrete definitions of the state and the elementary actions on it.