From Interpreter to Compiler via Higher-Order Abstract Assembly Language. Wand, M. Technical Report Northeastern University College of Computer Science, 1989. abstract bibtex In this paper, we give a case study of transforming an interpreter into a compiler. This transformation improves on our previous work through the use of \it higher-order abstract assembly language\/. Higher-order abstract assembly language (or HOAL) uses a Church-style, continuation-passing encoding of machine operations. This improves on the use of combinator-based encoding in allowing a direct treatment of register usage, and thereby giving the compiler writer a clearer idea of how to incorporate new constructs in the source language or machine. For example, it allows a denotational exposition of stack layouts. We show how to do the transformation for a simple language, for a language with procedures, and for a compiler using lexical addresses.
@TechReport{Wand89b,
author = "Mitchell Wand",
title = "From Interpreter to Compiler via Higher-Order
Abstract Assembly Language",
institution = "Northeastern University College of Computer Science",
year = "1989",
type = "Technical Report",
OPTnumber = "",
OPTaddress = "",
OPTmonth = "",
OPTnote = "",
abstract = "In this paper, we give a case study of transforming an interpreter into a
compiler. This transformation improves on our previous work through the use
of {\it {higher-order abstract assembly language}\/}. Higher-order abstract
assembly language (or HOAL) uses a Church-style, continuation-passing encoding
of machine operations. This improves on the use of combinator-based encoding
in allowing a direct treatment of register usage, and thereby giving the
compiler writer a clearer idea of how to incorporate new constructs in the
source language or machine. For example, it allows a denotational exposition
of stack layouts. We show how to do the transformation for a simple language,
for a language with procedures, and for a compiler using lexical addresses."
}
Downloads: 0
{"_id":"H5BguELqoasWu5pbW","bibbaseid":"wand-frominterpretertocompilerviahigherorderabstractassemblylanguage-1989","downloads":0,"creationDate":"2017-04-23T20:31:12.557Z","title":"From Interpreter to Compiler via Higher-Order Abstract Assembly Language","author_short":["Wand, M."],"year":1989,"bibtype":"techreport","biburl":"http://www.ccs.neu.edu/home/wand/Bibliography.bib","bibdata":{"bibtype":"techreport","type":"Technical Report","author":[{"firstnames":["Mitchell"],"propositions":[],"lastnames":["Wand"],"suffixes":[]}],"title":"From Interpreter to Compiler via Higher-Order Abstract Assembly Language","institution":"Northeastern University College of Computer Science","year":"1989","optnumber":"","optaddress":"","optmonth":"","optnote":"","abstract":"In this paper, we give a case study of transforming an interpreter into a compiler. This transformation improves on our previous work through the use of \\it higher-order abstract assembly language\\/. Higher-order abstract assembly language (or HOAL) uses a Church-style, continuation-passing encoding of machine operations. This improves on the use of combinator-based encoding in allowing a direct treatment of register usage, and thereby giving the compiler writer a clearer idea of how to incorporate new constructs in the source language or machine. For example, it allows a denotational exposition of stack layouts. We show how to do the transformation for a simple language, for a language with procedures, and for a compiler using lexical addresses.","bibtex":"@TechReport{Wand89b,\n author = \t\"Mitchell Wand\",\n title = \t\"From Interpreter to Compiler via Higher-Order\n Abstract Assembly Language\",\n institution = \t\"Northeastern University College of Computer Science\",\n year = \t\"1989\",\n type = \t\"Technical Report\",\n OPTnumber = \t\"\",\n OPTaddress = \t\"\",\n OPTmonth = \t\"\",\n OPTnote = \t\"\",\n abstract = \"In this paper, we give a case study of transforming an interpreter into a\ncompiler. This transformation improves on our previous work through the use\nof {\\it {higher-order abstract assembly language}\\/}. Higher-order abstract\nassembly language (or HOAL) uses a Church-style, continuation-passing encoding\nof machine operations. This improves on the use of combinator-based encoding\nin allowing a direct treatment of register usage, and thereby giving the\ncompiler writer a clearer idea of how to incorporate new constructs in the\nsource language or machine. For example, it allows a denotational exposition\nof stack layouts. We show how to do the transformation for a simple language,\nfor a language with procedures, and for a compiler using lexical addresses.\"\n}\n\n","author_short":["Wand, M."],"key":"Wand89b","id":"Wand89b","bibbaseid":"wand-frominterpretertocompilerviahigherorderabstractassemblylanguage-1989","role":"author","urls":{},"downloads":0,"html":""},"search_terms":["interpreter","compiler","via","higher","order","abstract","assembly","language","wand"],"keywords":[],"authorIDs":[],"dataSources":["zM8mNPR4ZkAHKtvDs"]}