{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2023,11,13]],"date-time":"2023-11-13T00:12:50Z","timestamp":1699834370923},"reference-count":76,"publisher":"Wiley","issue":"9","license":[{"start":{"date-parts":[[2006,10,27]],"date-time":"2006-10-27T00:00:00Z","timestamp":1161907200000},"content-version":"vor","delay-in-days":8822,"URL":"http:\/\/onlinelibrary.wiley.com\/termsAndConditions#vor"}],"content-domain":{"domain":[],"crossmark-restriction":false},"short-container-title":["Softw Pract Exp"],"published-print":{"date-parts":[[1982,9]]},"abstract":"<jats:title>Abstract<\/jats:title><jats:p>The paper gives a classification of methods for producing <jats:italic>translators, interpreters<\/jats:italic>, and <jats:italic>macro\u2010processors<\/jats:italic> using <jats:italic>source language, written language<\/jats:italic>, and <jats:italic>object language<\/jats:italic> as characteristics. Possible configurations of these characteristics are discussed and documented with examples.<\/jats:p><jats:p>The paper starts with definitions of the terms used. It then presents the tools that are used for the description. These are the so\u2010called T\u2010diagrams, which are used to describe translators and interpreters, and some kind of flow\u2010charts, indicating the steps in the production of a translator or interpreter from a given configuration to a final product.<\/jats:p><jats:p>The next chapters of the paper give the classification of the possible and meaningful <jats:italic>elementary configurations.<\/jats:italic> Important and well known special cases are mentioned with examples. Further it is shown how these elementary cases are combined to a whole <jats:italic>implementation system.<\/jats:italic> Especially mentioned is self\u2010compilation. The final section gives some examples of actual implementation systems and their evaluation.<\/jats:p>","DOI":"10.1002\/spe.4380120902","type":"journal-article","created":{"date-parts":[[2006,11,18]],"date-time":"2006-11-18T02:43:16Z","timestamp":1163817796000},"page":"785-824","source":"Crossref","is-referenced-by-count":5,"title":["Computer\u2010aided production of language implementation systems: A review and classification"],"prefix":"10.1002","volume":"12","author":[{"given":"Olivier","family":"Lecarme","sequence":"first","affiliation":[],"role":[{"role":"author","vocabulary":"crossref"}]},{"given":"Mireille","family":"Pellissier","sequence":"additional","affiliation":[],"role":[{"role":"author","vocabulary":"crossref"}]},{"given":"Marie\u2010Claude","family":"Thomas","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":"publisher","DOI":"10.1002\/spe.4380090805"},{"key":"e_1_2_1_3_2","doi-asserted-by":"publisher","DOI":"10.1145\/362896.362902"},{"key":"e_1_2_1_4_2","doi-asserted-by":"publisher","DOI":"10.1007\/978-3-662-21549-4_16"},{"key":"e_1_2_1_5_2","first-page":"218","volume-title":"Information Processing 74","author":"Lecarme O.","year":"1974"},{"key":"e_1_2_1_6_2","unstructured":"M. C.Thomas\u2010Peyrolle \u2018La transportabilitt. des compilateurs\u2019 Thesis Universit\u00e9 de Nice 1977."},{"key":"e_1_2_1_7_2","unstructured":"M.Pellissier \u2018Langages intermediaires et mkthodes d'implementation de compilateurs transportables\u2019 Thesis Universite de Nice 1980."},{"key":"e_1_2_1_8_2","unstructured":"M.PellissierandO.Lecarme \u2018On the use of intermediate languages in portable language implementations\u2019 in preparation."},{"key":"e_1_2_1_9_2","doi-asserted-by":"publisher","DOI":"10.1002\/spe.4380050408"},{"key":"e_1_2_1_10_2","doi-asserted-by":"publisher","DOI":"10.1145\/362686.362691"},{"key":"e_1_2_1_11_2","volume-title":"Implementing Software for Non\u2010numeric Applications","author":"Waite W. M.","year":"1973"},{"key":"e_1_2_1_12_2","doi-asserted-by":"publisher","DOI":"10.1093\/comjnl\/8.3.225"},{"key":"e_1_2_1_13_2","doi-asserted-by":"publisher","DOI":"10.1145\/363717.363746"},{"key":"e_1_2_1_14_2","volume-title":"Macro\u2010processors and Techniques for Portable Software","author":"Brown P. J.","year":"1974"},{"key":"e_1_2_1_15_2","first-page":"89","volume-title":"Software portability","author":"Brown P. J.","year":"1977"},{"key":"e_1_2_1_16_2","volume-title":"Programming Languages\u2014History and Fundamentals","author":"Sammet J.","year":"1969"},{"key":"e_1_2_1_17_2","doi-asserted-by":"publisher","DOI":"10.1145\/321439.321442"},{"key":"e_1_2_1_18_2","first-page":"277","volume-title":"Software portability","author":"Waite W. M.","year":"1977"},{"key":"e_1_2_1_19_2","doi-asserted-by":"publisher","DOI":"10.1145\/355598.362740"},{"key":"e_1_2_1_20_2","doi-asserted-by":"publisher","DOI":"10.1145\/366199.366249"},{"key":"e_1_2_1_21_2","doi-asserted-by":"publisher","DOI":"10.1145\/321450.321451"},{"key":"e_1_2_1_22_2","doi-asserted-by":"crossref","unstructured":"J. Strong (ed.) O. Mock T. Olsztyn T. Steel A. Tritter and J. Weigstein \u2018The problem of programming communication with changing machines: a proposed solution\u2019 Communications of the ACM 1 (8) 12\u201318 and (9) 9\u201315(1958).","DOI":"10.1145\/368892.368915"},{"key":"e_1_2_1_23_2","doi-asserted-by":"publisher","DOI":"10.1002\/spe.4380080205"},{"key":"e_1_2_1_24_2","volume-title":"The Universal Intermediate Language Janus (Draft Definition)","author":"Haddon B. K.","year":"1978"},{"key":"e_1_2_1_25_2","doi-asserted-by":"publisher","DOI":"10.1002\/spe.4380070214"},{"key":"e_1_2_1_26_2","doi-asserted-by":"publisher","DOI":"10.1002\/spe.4380010204"},{"key":"e_1_2_1_27_2","doi-asserted-by":"publisher","DOI":"10.1093\/comjnl\/21.2.144"},{"key":"e_1_2_1_28_2","doi-asserted-by":"publisher","DOI":"10.1007\/3-540-08065-1_3"},{"key":"e_1_2_1_29_2","article-title":"Development of a Pascal compiler for the CII Iris 50: a partial history","volume":"8","author":"Lecarme O.","year":"1977","journal-title":"Pascal News"},{"key":"e_1_2_1_30_2","doi-asserted-by":"publisher","DOI":"10.1002\/spe.4380060309"},{"key":"e_1_2_1_31_2","doi-asserted-by":"publisher","DOI":"10.1002\/spe.4380080509"},{"key":"e_1_2_1_32_2","volume-title":"Pascal\u2010S: a subset and its implementation","author":"Wirth N.","year":"1975"},{"key":"e_1_2_1_32_3","first-page":"199","volume-title":"Pascal\u2014The language and its implementation","author":"Barron D. W.","year":"1981"},{"key":"e_1_2_1_33_2","volume-title":"Interpr\u00e9teur du Langage de Programmation Prolog","author":"Battani G.","year":"1973"},{"key":"e_1_2_1_34_2","unstructured":"M.Bruynoogh \u2018An interpreter for predicate logic programs\u2019 report CW10 Applied Mathematics and Programming Division Catholic University of Louvain Belgium 1976."},{"key":"e_1_2_1_35_2","doi-asserted-by":"publisher","DOI":"10.1002\/spe.4380070106"},{"key":"e_1_2_1_36_2","volume-title":"The macro\u2010implementation of Snobol4","author":"Griswold R. E.","year":"1972"},{"key":"e_1_2_1_37_2","unstructured":"C.Hewitt \u2018Planner: a language for manipulating models and proving theorems in a robot\u2019 Proceedings IJCAI Washington D.C. 1969."},{"key":"e_1_2_1_38_2","volume-title":"Icon System Implementation Kit","author":"Griswold R. E.","year":"1979"},{"key":"e_1_2_1_39_2","first-page":"265","volume-title":"Machine oriented higher level languages","author":"Richards M.","year":"1974"},{"key":"e_1_2_1_40_2","volume-title":"The Pascal (P) compiler implementation notes","author":"Nori K. V.","year":"1975"},{"key":"e_1_2_1_40_3","first-page":"125","volume-title":"Pascal\u2014The language and its implementation","author":"Barron D. W.","year":"1981"},{"key":"e_1_2_1_41_2","unstructured":"M.De Lacroix \u2018Software transportable \u00e9crit en Pascal\u2019 Thesis Universit\u00e9 Paul Sabatier Toulouse France 1976."},{"key":"e_1_2_1_42_2","first-page":"63","volume-title":"Pascal\u2014The language and itsimplementation","author":"Ammann U.","year":"1981"},{"key":"e_1_2_1_43_2","doi-asserted-by":"publisher","DOI":"10.1002\/spe.4380010403"},{"key":"e_1_2_1_44_2","doi-asserted-by":"publisher","DOI":"10.1002\/spe.4380060103"},{"key":"e_1_2_1_45_2","first-page":"291","volume-title":"Software portability","author":"Griswold R. E.","year":"1977"},{"key":"e_1_2_1_46_2","doi-asserted-by":"publisher","DOI":"10.1145\/988078.988082"},{"key":"e_1_2_1_47_2","volume-title":"Icon Newsletter # 4","author":"Griswold R. E.","year":"1980"},{"key":"e_1_2_1_48_2","volume-title":"The C Programming Language","author":"Kernighan B. W.","year":"1978"},{"key":"e_1_2_1_49_2","volume-title":"Icon Newsletter # 5","author":"Griswold R. E.","year":"1980"},{"key":"e_1_2_1_50_2","volume-title":"Icon Newsletter # 6","author":"Griswold R. E.","year":"1981"},{"key":"e_1_2_1_51_2","doi-asserted-by":"publisher","DOI":"10.21236\/AD0406138"},{"key":"e_1_2_1_52_2","doi-asserted-by":"publisher","DOI":"10.1002\/spe.4380110603"},{"key":"e_1_2_1_53_2","doi-asserted-by":"publisher","DOI":"10.1145\/363427.363458"},{"key":"e_1_2_1_54_2","doi-asserted-by":"publisher","DOI":"10.1002\/spe.4380020203"},{"key":"e_1_2_1_55_2","doi-asserted-by":"publisher","DOI":"10.1007\/3-540-09745-7_1"},{"key":"e_1_2_1_56_2","doi-asserted-by":"crossref","DOI":"10.1007\/3-540-08446-0","volume-title":"Portability of Numerical Software","author":"Cowell W.","year":"1977"},{"key":"e_1_2_1_57_2","doi-asserted-by":"crossref","DOI":"10.1145\/1010726.1010728","volume-title":"Software tools","author":"Kernighan B. W.","year":"1976"},{"key":"e_1_2_1_58_2","doi-asserted-by":"publisher","DOI":"10.1145\/872732.806958"},{"key":"e_1_2_1_59_2","doi-asserted-by":"publisher","DOI":"10.1145\/872732.806959"},{"key":"e_1_2_1_60_2","doi-asserted-by":"publisher","DOI":"10.1145\/872732.806961"},{"key":"e_1_2_1_61_2","doi-asserted-by":"publisher","DOI":"10.1002\/spe.4380100806"},{"key":"e_1_2_1_62_2","doi-asserted-by":"publisher","DOI":"10.1145\/359060.359074"},{"key":"e_1_2_1_63_2","doi-asserted-by":"publisher","DOI":"10.1002\/j.1538-7305.1978.tb02141.x"},{"key":"e_1_2_1_64_2","doi-asserted-by":"publisher","DOI":"10.1002\/spe.4380100602"},{"key":"e_1_2_1_65_2","doi-asserted-by":"publisher","DOI":"10.1002\/spe.4380100803"},{"key":"e_1_2_1_66_2","doi-asserted-by":"publisher","DOI":"10.1002\/spe.4380101207"},{"key":"e_1_2_1_67_2","doi-asserted-by":"publisher","DOI":"10.1002\/spe.4380100607"},{"key":"e_1_2_1_68_2","doi-asserted-by":"publisher","DOI":"10.1002\/spe.4380050307"},{"key":"e_1_2_1_69_2","doi-asserted-by":"publisher","DOI":"10.1002\/spe.4380100906"},{"key":"e_1_2_1_70_2","doi-asserted-by":"publisher","DOI":"10.1093\/comjnl\/22.3.226"},{"key":"e_1_2_1_71_2","doi-asserted-by":"publisher","DOI":"10.1002\/spe.4380100804"},{"key":"e_1_2_1_72_2","doi-asserted-by":"publisher","DOI":"10.1145\/872732.806971"},{"key":"e_1_2_1_73_2","doi-asserted-by":"publisher","DOI":"10.1145\/872732.806955"},{"key":"e_1_2_1_74_2","volume-title":"The personal computer Lilith","author":"Wirth N.","year":"1981"},{"key":"e_1_2_1_75_2","doi-asserted-by":"publisher","DOI":"10.1007\/3-540-09745-7_2"}],"container-title":["Software: Practice and Experience"],"original-title":[],"language":"en","link":[{"URL":"https:\/\/api.wiley.com\/onlinelibrary\/tdm\/v1\/articles\/10.1002%2Fspe.4380120902","content-type":"unspecified","content-version":"vor","intended-application":"text-mining"},{"URL":"https:\/\/onlinelibrary.wiley.com\/doi\/pdf\/10.1002\/spe.4380120902","content-type":"unspecified","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2023,11,12]],"date-time":"2023-11-12T14:41:27Z","timestamp":1699800087000},"score":1,"resource":{"primary":{"URL":"https:\/\/onlinelibrary.wiley.com\/doi\/10.1002\/spe.4380120902"}},"subtitle":[],"short-title":[],"issued":{"date-parts":[[1982,9]]},"references-count":76,"journal-issue":{"issue":"9","published-print":{"date-parts":[[1982,9]]}},"alternative-id":["10.1002\/spe.4380120902"],"URL":"https:\/\/doi.org\/10.1002\/spe.4380120902","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,9]]}}}