{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2023,5,29]],"date-time":"2023-05-29T09:11:18Z","timestamp":1685351478554},"reference-count":0,"publisher":"National Library of Serbia","issue":"3","license":[{"start":{"date-parts":[[2012,1,1]],"date-time":"2012-01-01T00:00:00Z","timestamp":1325376000000},"content-version":"unspecified","delay-in-days":0,"URL":"http:\/\/creativecommons.org\/licenses\/by-nc-nd\/4.0\/"}],"content-domain":{"domain":[],"crossmark-restriction":false},"short-container-title":["ComSIS","COMPUT SCI INF SYST","COMPUT SCI INFORM SY","COMPUTER SCI INFORM","COMSIS J"],"published-print":{"date-parts":[[2012]]},"abstract":"<jats:p>This article describes structure-preserving coding patterns to code arbitrary\n   non-circular attribute grammars as syntax-directed translation schemes for\n   bottom-up and top-down parser generation tools. In these translation schemes,\n   semantic actions are written in terms of a small repertory of primitive\n   attribution operations. By providing alternative implementations for these\n   attribution operations, it is possible to plug in different semantic\n   evaluation strategies in a seamlessly way (e.g., a demand-driven strategy, or\n   a data-driven one). The pattern makes possible the direct implementation of\n   attribute grammar-based specifications with widely-used translation\n   schemedriven tools for the development of both bottom-up (e.g. YACC, BISON,\n   CUP) and top-down (e.g., JavaCC, ANTLR) language translators. As a\n   consequence, initial translation schemes can be successively refined to yield\n   final efficient implementations. Since these implementations still preserve\n   the ability to be extended with new features described at the attribute\n   grammar level, the advantages from the point of view of development and\n   maintenance become apparent.<\/jats:p>","DOI":"10.2298\/csis111223022r","type":"journal-article","created":{"date-parts":[[2012,6,7]],"date-time":"2012-06-07T09:56:21Z","timestamp":1339062981000},"page":"983-1017","source":"Crossref","is-referenced-by-count":0,"title":["A systematic approach to the implementation of attribute grammars with conventional compiler construction tools"],"prefix":"10.2298","volume":"9","author":[{"given":"Daniel","family":"Rodr\u00edguez-Cerezo","sequence":"first","affiliation":[{"name":"Computer Science School, Complutense University of Madrid Calle Profesor Jos\u00e9 Garc\u00eda Santesmases, Madrid, Spain"}],"role":[{"role":"author","vocabulary":"crossref"}]},{"given":"Antonio","family":"Sarasa-Cabezuelo","sequence":"additional","affiliation":[{"name":"Computer Science School, Complutense University of Madrid Calle Profesor Jos\u00e9 Garc\u00eda Santesmases, Madrid, Spain"}],"role":[{"role":"author","vocabulary":"crossref"}]},{"given":"Jos\u00e9-Luis","family":"Sierra","sequence":"additional","affiliation":[{"name":"Computer Science School, Complutense University of Madrid Calle Profesor Jos\u00e9 Garc\u00eda Santesmases, Madrid, Spain"}],"role":[{"role":"author","vocabulary":"crossref"}]}],"member":"1078","container-title":["Computer Science and Information Systems"],"original-title":[],"language":"en","deposited":{"date-parts":[[2023,5,29]],"date-time":"2023-05-29T08:30:39Z","timestamp":1685349039000},"score":1,"resource":{"primary":{"URL":"https:\/\/doiserbia.nb.rs\/Article.aspx?ID=1820-02141200022R"}},"subtitle":[],"short-title":[],"issued":{"date-parts":[[2012]]},"references-count":0,"journal-issue":{"issue":"3","published-print":{"date-parts":[[2012]]}},"URL":"https:\/\/doi.org\/10.2298\/csis111223022r","relation":{},"ISSN":["1820-0214","2406-1018"],"issn-type":[{"value":"1820-0214","type":"print"},{"value":"2406-1018","type":"electronic"}],"subject":[],"published":{"date-parts":[[2012]]}}}