{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2023,11,13]],"date-time":"2023-11-13T00:06:32Z","timestamp":1699833992838},"reference-count":11,"publisher":"Wiley","issue":"11","license":[{"start":{"date-parts":[[2006,10,27]],"date-time":"2006-10-27T00:00:00Z","timestamp":1161907200000},"content-version":"vor","delay-in-days":8761,"URL":"http:\/\/onlinelibrary.wiley.com\/termsAndConditions#vor"}],"content-domain":{"domain":[],"crossmark-restriction":false},"short-container-title":["Softw Pract Exp"],"published-print":{"date-parts":[[1982,11]]},"abstract":"<jats:title>Abstract<\/jats:title><jats:p>A practical approach to the development of a high\u2010quality, re\u2010usable code generator is described in this paper. This code generator produces code for the Prime 64V mode architecture, but the methodology used is generally applicable to the construction of compilers for most architectures. The code generator accepts a tree\u2010structured intermediate form, linearized and represented as a file of integers. This intermediate form uses high\u2010level operators, minimizing work by compiler front\u2010ends that use it and providing a number of advantages in the code generation process. The output of the code generator is assembly language. This tool was found to considerably extend the capabilities of students in a graduate compiler class and has been used in the construction of Pascal and C compilers.<\/jats:p>","DOI":"10.1002\/spe.4380121104","type":"journal-article","created":{"date-parts":[[2006,11,17]],"date-time":"2006-11-17T11:26:36Z","timestamp":1163762796000},"page":"1027-1041","source":"Crossref","is-referenced-by-count":0,"title":["The design and implementation of a code generation tool"],"prefix":"10.1002","volume":"12","author":[{"given":"T. Allen","family":"Akin","sequence":"first","affiliation":[],"role":[{"role":"author","vocabulary":"crossref"}]},{"given":"Richard J.","family":"Leblanc","sequence":"additional","affiliation":[],"role":[{"role":"author","vocabulary":"crossref"}]}],"member":"311","published-online":{"date-parts":[[2006,10,27]]},"reference":[{"key":"e_1_2_1_2_2","doi-asserted-by":"crossref","unstructured":"T. AllenAkin \u2018A re\u2010usable code generator for Prime 50\u2010series computers\u2019 M.S. Thesis Technical Report GIT\u2010ICS\u201081\/16 School of Information and Computer Science Georgia Institute of Technology Atlanta Georgia 1981.","DOI":"10.21236\/ADA108820"},{"key":"e_1_2_1_3_2","doi-asserted-by":"crossref","unstructured":"R. S.GlanvilleandS. L.Graham \u2018A new method for compiler code generation\u2019 Conference Record of the Fifth Annual ACM Symposium on Principles of Programming Languages January1978 pp.231\u2013240.","DOI":"10.1145\/512760.512785"},{"key":"e_1_2_1_4_2","unstructured":"MahadevanGanapathiandCharles N.Fischer \u2018A review of automatic code generation techniques\u2019 Technical Report # 504 Computer Sciences Department University of Wisconsin\u2014Madison 1981."},{"key":"e_1_2_1_5_2","volume-title":"MUX: a small computer operating system","author":"Akin T. Allen","year":"1979"},{"key":"e_1_2_1_6_2","volume-title":"UW\u2010Pascal reference manual","author":"Fischer Charles N.","year":"1977"},{"key":"e_1_2_1_7_2","volume-title":"Unix Programmer's Manual","author":"Johnson S. C.","year":"1979"},{"key":"e_1_2_1_8_2","volume-title":"The Charrette Ada compiler","author":"Lamb David Alex","year":"1980"},{"key":"e_1_2_1_9_2","doi-asserted-by":"crossref","DOI":"10.1145\/1010726.1010728","volume-title":"Software Tools","author":"Kernighan Brian W.","year":"1976"},{"key":"e_1_2_1_10_2","unstructured":"T. AllenAkin Perry B.FlinnandDaniel H.Forsyth Jr \u2018Software tools subsystem user's guide\u2019 2nd edn. Technical Report GIT\u2010ICS\u201080\/03 School of Information and Computer Science Georgia Institute of Technology Atlanta Georgia 1980."},{"key":"e_1_2_1_11_2","volume-title":"The C Programming Language","author":"Kernighan Brian W.","year":"1978"},{"key":"e_1_2_1_12_2","volume-title":"Reference Manual for the Ada Programming Language","year":"1980"}],"container-title":["Software: Practice and Experience"],"original-title":[],"language":"en","link":[{"URL":"https:\/\/api.wiley.com\/onlinelibrary\/tdm\/v1\/articles\/10.1002%2Fspe.4380121104","content-type":"unspecified","content-version":"vor","intended-application":"text-mining"},{"URL":"https:\/\/onlinelibrary.wiley.com\/doi\/pdf\/10.1002\/spe.4380121104","content-type":"unspecified","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2023,11,12]],"date-time":"2023-11-12T11:34:03Z","timestamp":1699788843000},"score":1,"resource":{"primary":{"URL":"https:\/\/onlinelibrary.wiley.com\/doi\/10.1002\/spe.4380121104"}},"subtitle":[],"short-title":[],"issued":{"date-parts":[[1982,11]]},"references-count":11,"journal-issue":{"issue":"11","published-print":{"date-parts":[[1982,11]]}},"alternative-id":["10.1002\/spe.4380121104"],"URL":"https:\/\/doi.org\/10.1002\/spe.4380121104","archive":["Portico"],"relation":{},"ISSN":["0038-0644","1097-024X"],"issn-type":[{"value":"0038-0644","type":"print"},{"value":"1097-024X","type":"electronic"}],"subject":[],"published":{"date-parts":[[1982,11]]}}}