{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2025,1,12]],"date-time":"2025-01-12T00:40:09Z","timestamp":1736642409889,"version":"3.32.0"},"reference-count":44,"publisher":"Wiley","issue":"4","license":[{"start":{"date-parts":[[2006,10,30]],"date-time":"2006-10-30T00:00:00Z","timestamp":1162166400000},"content-version":"vor","delay-in-days":8247,"URL":"http:\/\/onlinelibrary.wiley.com\/termsAndConditions#vor"}],"content-domain":{"domain":[],"crossmark-restriction":false},"short-container-title":["Softw Pract Exp"],"published-print":{"date-parts":[[1984,4]]},"abstract":"<jats:title>Abstract<\/jats:title><jats:p>This paper illustrates the usefulness of an attributed prefix linear intermediate representation for compiler code generation. In separating the machine\u2010independent and machine\u2010dependent aspects of a compiler, we discuss the advantages and disadvantages of an attributed linear intermediate representation with respect to tree\u2010structured intermediate representations. Some of these issues are relevant to fundamental questions of compiler structure with particular emphasis on retargetability. We discuss our implementation experience using this linear intermediate representation with a table\u2010driven code generation scheme for a variety of target architectures.<\/jats:p>","DOI":"10.1002\/spe.4380140406","type":"journal-article","created":{"date-parts":[[2006,11,18]],"date-time":"2006-11-18T09:09:25Z","timestamp":1163840965000},"page":"347-364","source":"Crossref","is-referenced-by-count":14,"title":["Attributed linear intermediate representations for retargetable code generators"],"prefix":"10.1002","volume":"14","author":[{"given":"Mahadevan","family":"Ganapathi","sequence":"first","affiliation":[]},{"given":"Charles N.","family":"Fischer","sequence":"additional","affiliation":[]}],"member":"311","published-online":{"date-parts":[[2006,10,30]]},"reference":[{"volume-title":"Principles of Compiler Design","year":"1977","author":"Aho A. V.","key":"e_1_2_1_2_2"},{"volume-title":"Reference Manual for the Ada Programming Language","year":"1982","key":"e_1_2_1_3_2"},{"key":"e_1_2_1_4_2","doi-asserted-by":"crossref","unstructured":"B. M.Brosgol \u2018TCOLAda and the middle end\u2019 of the PQCC ada compiler \u2018Proceedings of SIGPLAN Symposium on the Ada Programming Language\u2019 December 1980.","DOI":"10.1145\/800004.807940"},{"key":"e_1_2_1_5_2","unstructured":"T. A.Standish D. C.Harriman D. F.KiblerandJ. M.Neighbors \u2018The Irvine program transformation catalogue\u2019 University of California Irvine Dept. of Information and Computer Science 1976."},{"key":"e_1_2_1_6_2","doi-asserted-by":"publisher","DOI":"10.1145\/357153.357155"},{"issue":"4","key":"e_1_2_1_7_2","first-page":"27","article-title":"Automatic compiler code generation and reusable machine\u2010dependent optimization\u2014a revised bibliography","volume":"18","author":"Ganapathi M.","journal-title":"ACM SIGPLAN Notices"},{"key":"e_1_2_1_8_2","unstructured":"J.Feldman \u2018A formal semantics for computer oriented languages\u2019 PhD Thesis Computer Science Department Carnegie Mellon University 1964."},{"key":"e_1_2_1_9_2","doi-asserted-by":"crossref","unstructured":"M. K.Donegan R.NoonanandS.Feyock \u2018A code generator generator language\u2019 Proceedings of the SIGPLAN Symposium on Compiler Construction Denver Colorado 6\u201310 August 1979.","DOI":"10.1145\/800229.806954"},{"key":"e_1_2_1_10_2","doi-asserted-by":"publisher","DOI":"10.1002\/spe.4380010403"},{"key":"e_1_2_1_11_2","unstructured":"R. L.SitesandD. R.Perkins \u2018Machine\u2010independent Pascal code Optimization\u2019 Proceedings of the SIGPLAN Symposium on Compiler Construction Denver Colorado 6\u201310 August1979."},{"key":"e_1_2_1_12_2","doi-asserted-by":"crossref","unstructured":"P. A.Nelson \u2018A comparison of Pascal intermediate languages\u2019 Proceedings of the SIGPLAN Symposium on Compiler Construction Denver Colorado 6\u201310 August 1979.","DOI":"10.1145\/800229.806971"},{"key":"e_1_2_1_13_2","doi-asserted-by":"publisher","DOI":"10.1002\/spe.4380020203"},{"key":"e_1_2_1_14_2","doi-asserted-by":"publisher","DOI":"10.1002\/spe.4380100804"},{"key":"e_1_2_1_15_2","doi-asserted-by":"publisher","DOI":"10.1002\/spe.4380120408"},{"key":"e_1_2_1_16_2","doi-asserted-by":"publisher","DOI":"10.1145\/356893.356897"},{"volume-title":"Conference Record of the Ninth Annual ACM Symposium on Principles of Programming Languages","year":"1982","author":"Ganapathi M.","key":"e_1_2_1_17_2"},{"volume-title":"The design of an Optimizing Compiler","year":"1975","author":"Wulf W.","key":"e_1_2_1_18_2"},{"key":"e_1_2_1_19_2","series-title":"Computer Science Department technical report # CMU\u2010CS\u201081\u2013101","volume-title":"DIANA Reference Manual","author":"Wulf W. A.","year":"1981"},{"volume-title":"Compiler Construction for Digital Computers","year":"1971","author":"Gries D.","key":"e_1_2_1_20_2"},{"key":"e_1_2_1_21_2","doi-asserted-by":"crossref","unstructured":"D. J.Frailey \u2018An intermediate language for source and target independent code optimization\u2019 Proceedings of the SIGPLAN Symposium on Compiler Construction Denver Colorado 6\u201310 August1979.","DOI":"10.1145\/800229.806969"},{"key":"e_1_2_1_22_2","unstructured":"T. R.Wilcox \u2018Generating machine code for high level programming languages\u2019 Tech. Report 71\u2013103 PhD Thesis Dept. of Computer Sciences Cornell University 1971."},{"key":"e_1_2_1_23_2","unstructured":"M.Dausmann S.Drossopolou G.Goos G.PerschandG.Winterstein \u2018AIDA\u2014an informal introduction\u2019 University of Karlsruhe Federal Republic of Germany February1980."},{"key":"e_1_2_1_24_2","doi-asserted-by":"publisher","DOI":"10.1147\/sj.93.0166"},{"issue":"7","key":"e_1_2_1_25_2","article-title":"On the advantages of tagged architecture","volume":"22","author":"Feustal E. A.","year":"1973","journal-title":"IEEE Trans. Computers"},{"key":"e_1_2_1_26_2","doi-asserted-by":"publisher","DOI":"10.1109\/C-M.1981.220332"},{"key":"e_1_2_1_27_2","unstructured":"E. H.Satterthwaite \u2018Source language debugging tools\u2019 PhD Dissertation Stanford University STAN\u2010CS\u201075\u2013494 1975."},{"key":"e_1_2_1_28_2","doi-asserted-by":"publisher","DOI":"10.1145\/357172.357173"},{"key":"e_1_2_1_29_2","doi-asserted-by":"crossref","unstructured":"R. K.Johnsson \u2018An approach to global register allocation\u2019 PhD Dissertation Carnegie\u2010Mellon University 1975.","DOI":"10.21236\/ADA024966"},{"key":"e_1_2_1_30_2","unstructured":"B. W.Leverett \u2018Register allocation in optimizing compilers\u2019 Ph.D. thesis and Technical Report # CMU CS\u201081\u2013103 Carnegie\u2010Mellon University February1981."},{"key":"e_1_2_1_31_2","unstructured":"M.Ganapathi \u2018Retargetable code generation and optimization using attribute grammars\u2019 PhD thesis and Tech. Report # 406 Computer Sciences Department University of Wisconsin\u2010Madison 1980."},{"key":"e_1_2_1_32_2","doi-asserted-by":"publisher","DOI":"10.1145\/368892.368915"},{"key":"e_1_2_1_33_2","doi-asserted-by":"crossref","unstructured":"T. B.Steel Jr. \u2018A first version of UNCOL\u2019 Proceedings WJCC (19)371\u2013378(1961).","DOI":"10.1145\/1460690.1460733"},{"key":"e_1_2_1_34_2","doi-asserted-by":"publisher","DOI":"10.1002\/spe.4380040103"},{"key":"e_1_2_1_35_2","unstructured":"M.Ganapathi C. N.Fischer S. J.ScalponeandK. C.Thompson \u2018Linear intermediate representation for portable code generation\u2019 Technical Report # 435 University of Wisconsin\u2010Madison 1981."},{"volume-title":"C.S. Tech Report # 32","year":"1975","author":"Johnson S. C.","key":"e_1_2_1_36_2"},{"key":"e_1_2_1_37_2","doi-asserted-by":"publisher","DOI":"10.1109\/TC.1983.1676200"},{"key":"e_1_2_1_38_2","article-title":"Algol 60 translation","volume":"10","author":"Dijkstra E. W.","year":"1960","journal-title":"Supplement, Algol 60 Bulletin"},{"key":"e_1_2_1_39_2","doi-asserted-by":"publisher","DOI":"10.1145\/321958.321970"},{"key":"e_1_2_1_40_2","unstructured":"K.Ripken \u2018Formale Beschreibun von Maschinen Implementierungen und Optimierender Maschinen\u2010codeerzeugung aus Attributierten Programmgraphe\u2019 TUM\u2010INFO\u20107731 Institut fur Informatik Technische Universitat Munchen Munich West Germany July1977."},{"key":"e_1_2_1_41_2","doi-asserted-by":"publisher","DOI":"10.1145\/321607.321620"},{"issue":"6","key":"e_1_2_1_42_2","first-page":"23","article-title":"Register allocation and spilling via graph coloring\u2019, Proceedings of the SIGPLAN'82 Symposium on Compiler Construction, Boston, Massachusetts, 23\u201325 June 1982","volume":"17","author":"Chaitin G. J.","year":"1982","journal-title":"ACM SIGPLAN Notices"},{"volume-title":"The C Programming Language","year":"1978","author":"Ritchie D. M.","key":"e_1_2_1_43_2"},{"key":"e_1_2_1_44_2","unstructured":"W. C.BrantleyandJ.Weiss \u2018FOM: A Fortran optimized machine\u2014a high performance high level language machine\u2019 IBM Research Report RC 9640(#40815) March 3 1982."},{"key":"e_1_2_1_45_2","unstructured":"C. N.Fischer M.GanapathiandR. J.LeBlanc \u2018A simple and practical implementation of predicates in context\u2010free parsers\u2019 Technical Report # 493 Computer Sciences Department University of Wisconsin\u2010Madison 1983."}],"container-title":["Software: Practice and Experience"],"original-title":[],"language":"en","link":[{"URL":"https:\/\/api.wiley.com\/onlinelibrary\/tdm\/v1\/articles\/10.1002%2Fspe.4380140406","content-type":"unspecified","content-version":"vor","intended-application":"text-mining"},{"URL":"https:\/\/onlinelibrary.wiley.com\/doi\/pdf\/10.1002\/spe.4380140406","content-type":"unspecified","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2025,1,12]],"date-time":"2025-01-12T00:11:28Z","timestamp":1736640688000},"score":1,"resource":{"primary":{"URL":"https:\/\/onlinelibrary.wiley.com\/doi\/10.1002\/spe.4380140406"}},"subtitle":[],"short-title":[],"issued":{"date-parts":[[1984,4]]},"references-count":44,"journal-issue":{"issue":"4","published-print":{"date-parts":[[1984,4]]}},"alternative-id":["10.1002\/spe.4380140406"],"URL":"https:\/\/doi.org\/10.1002\/spe.4380140406","archive":["Portico"],"relation":{},"ISSN":["0038-0644","1097-024X"],"issn-type":[{"type":"print","value":"0038-0644"},{"type":"electronic","value":"1097-024X"}],"subject":[],"published":{"date-parts":[[1984,4]]}}}