{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2023,10,21]],"date-time":"2023-10-21T08:18:22Z","timestamp":1697876302327},"reference-count":18,"publisher":"Wiley","issue":"2","license":[{"start":{"date-parts":[[2006,10,27]],"date-time":"2006-10-27T00:00:00Z","timestamp":1161907200000},"content-version":"vor","delay-in-days":8669,"URL":"http:\/\/onlinelibrary.wiley.com\/termsAndConditions#vor"}],"content-domain":{"domain":[],"crossmark-restriction":false},"short-container-title":["Softw Pract Exp"],"published-print":{"date-parts":[[1983,2]]},"abstract":"<jats:title>Abstract<\/jats:title><jats:p>Automatic production of one\u2010pass compilers from attribute grammars is considered. An examination of a one\u2010pass grammar for the programming language Euclid shows that the present definition of one\u2010pass grammars is too general: the space behaviour of the produced compilers differs from that found in conventional hand\u2010written compilers. A new class of attribute grammars is defined. The class models naturally the use of space in a hand\u2010written compiler. This implies that the compiler produced automatically on the basis of the grammar uses space in the same way as a practical hand\u2010written recursive descent compiler. Furthermore, a graphical notation is introduced as a design tool for obtaining grammars in the proposed class.<\/jats:p>","DOI":"10.1002\/spe.4380130203","type":"journal-article","created":{"date-parts":[[2006,11,18]],"date-time":"2006-11-18T02:52:10Z","timestamp":1163818330000},"page":"119-129","source":"Crossref","is-referenced-by-count":3,"title":["Modelling of space\u2010efficient one\u2010pass translation using attribute grammars"],"prefix":"10.1002","volume":"13","author":[{"given":"Kai","family":"Koskimies","sequence":"first","affiliation":[]},{"given":"Kari\u2010Jouko","family":"R\u00e4ih\u00e4","sequence":"additional","affiliation":[]}],"member":"311","published-online":{"date-parts":[[2006,10,27]]},"reference":[{"key":"e_1_2_1_2_2","doi-asserted-by":"publisher","DOI":"10.1007\/BF01692511"},{"key":"e_1_2_1_3_2","doi-asserted-by":"crossref","unstructured":"S.Drossopoulou J.Uhi G.Persch G.Goos M.DausmannandG.Winterstein \u2018An attribute grammar for Ada\u2019 inProc. of the Sigplan '82 Symposium on Compiler Construction June (1982) pp.334\u2013349.","DOI":"10.1145\/800230.807008"},{"key":"e_1_2_1_4_2","doi-asserted-by":"crossref","unstructured":"R.Farrow \u2018Experiences with an attribute grammar\u2010based compiler\u2019 inConf. Record of the Ninth ACM Symposium on Principles of Programming Languages January (1982) pp.95\u2013107.","DOI":"10.1145\/582153.582164"},{"key":"e_1_2_1_5_2","unstructured":"K\u2010J.R\u00e4ih\u00e4 M.Saarinen E.Soisalon\u2010SoininenandM.Tienari \u2018The compiler writing system HLP (Helsinki Language Processor)\u2019 Report A\u20101978\u20102 Department of Computer Science University of Helsinki (1978)."},{"key":"e_1_2_1_6_2","unstructured":"B.Asbrock U.KastensandE.Zimmermann \u2018Generating an efficient compiler front\u2010end\u2019 Bericht Nr.17\/81 Fakult\u00e4t f\u00fcr Informatik Universit\u00e4t Karlsruhe (1981)."},{"key":"e_1_2_1_7_2","first-page":"535","volume-title":"Information Processing '77, Proc. of the IFIP Congress '77","author":"Ganzinger H.","year":"1977"},{"key":"e_1_2_1_8_2","doi-asserted-by":"publisher","DOI":"10.1145\/359997.359999"},{"key":"e_1_2_1_9_2","doi-asserted-by":"publisher","DOI":"10.1016\/S0022-0000(74)80045-0"},{"key":"e_1_2_1_10_2","doi-asserted-by":"crossref","unstructured":"T.Reps \u2018Optimal\u2010time incremental semantic analysis for syntax\u2010directed editors\u2019 inConf. Record of the Ninth ACM Symposium on Principles of Programming Languages January (1982) pp.169\u2013176.","DOI":"10.1145\/582153.582172"},{"key":"e_1_2_1_11_2","doi-asserted-by":"publisher","DOI":"10.1145\/357146.357148"},{"key":"e_1_2_1_12_2","unstructured":"K\u2010J.R\u00e4ih\u00e4 \u2018A space management technique for multi\u2010pass attribute evaluators\u2019 Ph.D. Thesis Report A\u20101981\u20104 Department of Computer Science University of Helsinki (1981)."},{"key":"e_1_2_1_13_2","doi-asserted-by":"publisher","DOI":"10.1093\/comjnl\/21.2.144"},{"key":"e_1_2_1_14_2","doi-asserted-by":"publisher","DOI":"10.1145\/954666.971189"},{"key":"e_1_2_1_15_2","doi-asserted-by":"crossref","unstructured":"K.Koskimies \u2018An experience on language implementation using attribute grammars\u2019 Report A\u20101982\u20102 Department of Computer Science University of Helsinki (1982).","DOI":"10.1145\/800230.806991"},{"key":"e_1_2_1_16_2","unstructured":"J.Paakki \u2018Optimization of an attribute grammar for C\u2010Euclid\u2019 (in Finnish) Report C\u20101982\u201061 Department of Computer Science University of Helsinki (1982)."},{"key":"e_1_2_1_17_2","doi-asserted-by":"publisher","DOI":"10.1145\/953349.953350"},{"key":"e_1_2_1_18_2","unstructured":"K.KoskimiesandL.Juutinen \u2018An attribute grammar for the compile\u2010time semantics of a subset of the programming language Euclid\u2019 Report C\u20101979\u2010130 Department of Computer Science University of Helsinki (1979)."},{"key":"e_1_2_1_19_2","unstructured":"K.Hiitola\u2018An analysis of the static semantics of Pascal\u2019 (in Finnish) Report C\u20101982\u201028 Department of Computer Science University of Helsinki (1982)."}],"container-title":["Software: Practice and Experience"],"original-title":[],"language":"en","link":[{"URL":"https:\/\/api.wiley.com\/onlinelibrary\/tdm\/v1\/articles\/10.1002%2Fspe.4380130203","content-type":"unspecified","content-version":"vor","intended-application":"text-mining"},{"URL":"https:\/\/onlinelibrary.wiley.com\/doi\/pdf\/10.1002\/spe.4380130203","content-type":"unspecified","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2023,10,19]],"date-time":"2023-10-19T21:14:15Z","timestamp":1697750055000},"score":1,"resource":{"primary":{"URL":"https:\/\/onlinelibrary.wiley.com\/doi\/10.1002\/spe.4380130203"}},"subtitle":[],"short-title":[],"issued":{"date-parts":[[1983,2]]},"references-count":18,"journal-issue":{"issue":"2","published-print":{"date-parts":[[1983,2]]}},"alternative-id":["10.1002\/spe.4380130203"],"URL":"https:\/\/doi.org\/10.1002\/spe.4380130203","archive":["Portico"],"relation":{},"ISSN":["0038-0644","1097-024X"],"issn-type":[{"value":"0038-0644","type":"print"},{"value":"1097-024X","type":"electronic"}],"subject":[],"published":{"date-parts":[[1983,2]]}}}