{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2023,10,21]],"date-time":"2023-10-21T19:41:40Z","timestamp":1697917300658},"reference-count":8,"publisher":"Wiley","issue":"3","license":[{"start":{"date-parts":[[2006,10,30]],"date-time":"2006-10-30T00:00:00Z","timestamp":1162166400000},"content-version":"vor","delay-in-days":8278,"URL":"http:\/\/onlinelibrary.wiley.com\/termsAndConditions#vor"}],"content-domain":{"domain":[],"crossmark-restriction":false},"short-container-title":["Softw Pract Exp"],"published-print":{"date-parts":[[1984,3]]},"abstract":"<jats:title>Abstract<\/jats:title><jats:p>Some parser generators allow the user to attach actions, consisting of executable code, to syntax rules. Actions are usually in the local programming language, so they are simply copied into the generated parser. However, we show two situations in which it is convenient to allow actions to be in a different notation. A preprocessor is used to translate such notations into the local programming language. A preprocessor must know where to find actions and how to translate them. We show how these two activities can be programmed separately. Often, the user only has to worry about the second part: once the parser generator is known, the placement of the actions is known as well, so routines for finding actions can be separately compiled and linked in. Examples in the paper are based on the parser generator Yacc, but the approach is not limited to Yacc, or even to parser generators. Certain compositions of syntax\u2010directed translations can be implemented by preprocessing actions.<\/jats:p>","DOI":"10.1002\/spe.4380140308","type":"journal-article","created":{"date-parts":[[2006,11,18]],"date-time":"2006-11-18T03:24:58Z","timestamp":1163820298000},"page":"291-297","source":"Crossref","is-referenced-by-count":0,"title":["Preprocessing embedded actions"],"prefix":"10.1002","volume":"14","author":[{"given":"Ravi","family":"Sethi","sequence":"first","affiliation":[]}],"member":"311","published-online":{"date-parts":[[2006,10,30]]},"reference":[{"key":"e_1_2_1_2_2","doi-asserted-by":"publisher","DOI":"10.1002\/j.1538-7305.1978.tb02147.x"},{"key":"e_1_2_1_3_2","volume-title":"CSTR 39","author":"Lesk M. E.","year":"1975"},{"key":"e_1_2_1_4_2","volume-title":"CSTR 32","author":"Johnson S. C.","year":"1975"},{"key":"e_1_2_1_5_2","volume-title":"The C Programming Language","author":"Kernighan B. W.","year":"1978"},{"key":"e_1_2_1_6_2","unstructured":"V.Donzeau\u2010Gouge G.Huet G.KahnandB.Lang \u2018Programming environments based on structured editors: the Mentor experience\u2019 Rapport de Recherche No. 26 INRIA Rocquencourt France July1980."},{"key":"e_1_2_1_7_2","doi-asserted-by":"publisher","DOI":"10.1002\/spe.4380120102"},{"key":"e_1_2_1_8_2","doi-asserted-by":"publisher","DOI":"10.1145\/69575.357227"},{"key":"e_1_2_1_9_2","first-page":"38","volume-title":"Formal Description of Programming Concepts II","author":"Christiansen H.","year":"1982"}],"container-title":["Software: Practice and Experience"],"original-title":[],"language":"en","link":[{"URL":"https:\/\/api.wiley.com\/onlinelibrary\/tdm\/v1\/articles\/10.1002%2Fspe.4380140308","content-type":"unspecified","content-version":"vor","intended-application":"text-mining"},{"URL":"https:\/\/onlinelibrary.wiley.com\/doi\/pdf\/10.1002\/spe.4380140308","content-type":"unspecified","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2023,10,20]],"date-time":"2023-10-20T07:44:22Z","timestamp":1697787862000},"score":1,"resource":{"primary":{"URL":"https:\/\/onlinelibrary.wiley.com\/doi\/10.1002\/spe.4380140308"}},"subtitle":[],"short-title":[],"issued":{"date-parts":[[1984,3]]},"references-count":8,"journal-issue":{"issue":"3","published-print":{"date-parts":[[1984,3]]}},"alternative-id":["10.1002\/spe.4380140308"],"URL":"https:\/\/doi.org\/10.1002\/spe.4380140308","archive":["Portico"],"relation":{},"ISSN":["0038-0644","1097-024X"],"issn-type":[{"value":"0038-0644","type":"print"},{"value":"1097-024X","type":"electronic"}],"subject":[],"published":{"date-parts":[[1984,3]]}}}