{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2025,11,12]],"date-time":"2025-11-12T03:07:07Z","timestamp":1762916827021},"reference-count":25,"publisher":"Elsevier BV","issue":"1","license":[{"start":{"date-parts":[[2003,4,1]],"date-time":"2003-04-01T00:00:00Z","timestamp":1049155200000},"content-version":"tdm","delay-in-days":0,"URL":"https:\/\/www.elsevier.com\/tdm\/userlicense\/1.0\/"},{"start":{"date-parts":[[2013,8,22]],"date-time":"2013-08-22T00:00:00Z","timestamp":1377129600000},"content-version":"vor","delay-in-days":3796,"URL":"https:\/\/www.elsevier.com\/open-access\/userlicense\/1.0\/"}],"content-domain":{"domain":[],"crossmark-restriction":false},"short-container-title":["Science of Computer Programming"],"published-print":{"date-parts":[[2003,4]]},"DOI":"10.1016\/s0167-6423(02)00109-0","type":"journal-article","created":{"date-parts":[[2002,11,12]],"date-time":"2002-11-12T12:32:32Z","timestamp":1037104352000},"page":"37-58","source":"Crossref","is-referenced-by-count":107,"title":["JastAdd\u2014an aspect-oriented compiler construction system"],"prefix":"10.1016","volume":"47","author":[{"given":"G\u00f6rel","family":"Hedin","sequence":"first","affiliation":[]},{"given":"Eva","family":"Magnusson","sequence":"additional","affiliation":[]}],"member":"78","reference":[{"key":"10.1016\/S0167-6423(02)00109-0_BIB1","unstructured":"ANTLR Translator Generator, http:\/\/www.ANTLR.org\/."},{"issue":"1","key":"10.1016\/S0167-6423(02)00109-0_BIB2","first-page":"36","article-title":"Interactive language development for embedded systems","volume":"6","author":"Bjarnason","year":"1999","journal-title":"Nordic J. Comput."},{"key":"10.1016\/S0167-6423(02)00109-0_BIB3","unstructured":"J.T. Boyland, Descriptional composition of compiler components, Ph.D. Thesis, University of California, Berkeley, 1996."},{"key":"10.1016\/S0167-6423(02)00109-0_BIB4","unstructured":"CUP, LALR Parser Generator for Java, http:\/\/www.cs.princeton.edu\/~appel\/modern\/java\/CUP\/"},{"key":"10.1016\/S0167-6423(02)00109-0_BIB5","doi-asserted-by":"crossref","unstructured":"E.M. Gagnon, L.J. Hendren, SableCC, an object-oriented compiler framework, in: Proc. Tools 26-USA\u201998, IEEE Computer Society, Silver Spring, MD, 1998.","DOI":"10.1109\/TOOLS.1998.711009"},{"key":"10.1016\/S0167-6423(02)00109-0_BIB6","series-title":"Design Patterns","author":"Gamma","year":"1995"},{"key":"10.1016\/S0167-6423(02)00109-0_BIB7","doi-asserted-by":"crossref","unstructured":"W. Harrison, H. Ossher, Subject-Oriented Programming (A Critique of Pure Objects), OOPSLA 1993 Conf. Proc. ACM SIGPLAN Notices, ACM Press, New York, vol. 28, No. 10, 1993, pp. 411\u2013428.","DOI":"10.1145\/167962.165932"},{"key":"10.1016\/S0167-6423(02)00109-0_BIB8","unstructured":"G. Hedin, An Object-Oriented Notation for Attribute Grammars, ECOOP\u201989, BCS Workshop Series, Cambridge University Press, Cambridge, 1989, pp. 329\u2013345."},{"issue":"3","key":"10.1016\/S0167-6423(02)00109-0_BIB9","first-page":"301","article-title":"Reference attributed grammars","volume":"24","author":"Hedin","year":"2000","journal-title":"Informatica (Slovenia)"},{"key":"10.1016\/S0167-6423(02)00109-0_BIB10","doi-asserted-by":"crossref","unstructured":"F. Jalili, A general linear time evaluator for attribute grammars, in: ACM SIGPLAN Notices, ACM Press, New York, vol. 18, No. 9, 1983, pp. 35\u201344.","DOI":"10.1145\/988227.988231"},{"key":"10.1016\/S0167-6423(02)00109-0_BIB11","unstructured":"JavaCC, The Java Parser Generator, http:\/\/www.metamata.com\/"},{"key":"10.1016\/S0167-6423(02)00109-0_BIB12","unstructured":"JTB, Java Tree Builder, http:\/\/www.cs.purdue.edu\/jtb\/"},{"key":"10.1016\/S0167-6423(02)00109-0_BIB13","first-page":"167","article-title":"An optimal-time recursive evaluator for attribute grammars","volume":"vol. 167","author":"Jourdan","year":"1984"},{"key":"10.1016\/S0167-6423(02)00109-0_BIB14","unstructured":"G. Kiczales, et al., Aspect-Oriented Programming, ECOOP\u201997, Lecture Notes in Computer Science, vol. 1241, Springer, Berlin, 1997, pp. 220\u2013242."},{"key":"10.1016\/S0167-6423(02)00109-0_BIB15","first-page":"327","article-title":"An overview of AspectJ","volume":"vol. 2072","author":"Kiczales","year":"2001"},{"key":"10.1016\/S0167-6423(02)00109-0_BIB16","unstructured":"J.L. Knudsen, Aspect-oriented programming in BETA using the fragment system, in: Proc. Aspect-Oriented Programming Workshop at ECOOP\u201999."},{"key":"10.1016\/S0167-6423(02)00109-0_BIB17","series-title":"Integrated Interactive Computing Systems","article-title":"Syntax-directed program modularization","author":"Kristensen","year":"1983"},{"key":"10.1016\/S0167-6423(02)00109-0_BIB18","doi-asserted-by":"crossref","unstructured":"T. Kuipers, J. Visser, Object-oriented tree traversal with JJForester, in: Proc. LDTA\u201901, Genova, Italy, April 2001, Electronic Notes of Theoretical Computer Science, Elsevier, Amsterdam.","DOI":"10.1016\/S1571-0661(04)80919-8"},{"key":"10.1016\/S0167-6423(02)00109-0_BIB19","series-title":"Adaptive Object-Oriented software","author":"Lieberherr","year":"1996"},{"key":"10.1016\/S0167-6423(02)00109-0_BIB20","first-page":"259","article-title":"On defining semantics by means of extended attribute grammars","volume":"vol. 94","author":"Madsen","year":"1980"},{"key":"10.1016\/S0167-6423(02)00109-0_BIB21","doi-asserted-by":"crossref","unstructured":"O.L. Madsen, C. N\u00f8rgaard, An object-oriented metaprogramming system, in: Proc. Hawaii Internat. Conf. on System Sciences, vol. 21, 1988.","DOI":"10.1109\/HICSS.1988.11831"},{"key":"10.1016\/S0167-6423(02)00109-0_BIB22","first-page":"121","article-title":"Aspect-oriented compilers","volume":"vol. 1799","author":"de Moor","year":"1999"},{"issue":"10","key":"10.1016\/S0167-6423(02)00109-0_BIB23","doi-asserted-by":"crossref","first-page":"737","DOI":"10.1007\/s002360050105","article-title":"Prototyping realistic programming languages based on formal specifications","volume":"34","author":"Poetzsch-Heffter","year":"1997","journal-title":"Acta Inform."},{"key":"10.1016\/S0167-6423(02)00109-0_BIB24","series-title":"Programming Language Processors in Java","author":"Watt","year":"2000"},{"key":"10.1016\/S0167-6423(02)00109-0_BIB25","series-title":"Pattern Languages of Program Design","article-title":"The null object pattern","author":"Woolf","year":"1997"}],"container-title":["Science of Computer Programming"],"original-title":[],"language":"en","link":[{"URL":"https:\/\/api.elsevier.com\/content\/article\/PII:S0167642302001090?httpAccept=text\/xml","content-type":"text\/xml","content-version":"vor","intended-application":"text-mining"},{"URL":"https:\/\/api.elsevier.com\/content\/article\/PII:S0167642302001090?httpAccept=text\/plain","content-type":"text\/plain","content-version":"vor","intended-application":"text-mining"}],"deposited":{"date-parts":[[2020,3,11]],"date-time":"2020-03-11T04:14:01Z","timestamp":1583900041000},"score":1,"resource":{"primary":{"URL":"https:\/\/linkinghub.elsevier.com\/retrieve\/pii\/S0167642302001090"}},"subtitle":[],"short-title":[],"issued":{"date-parts":[[2003,4]]},"references-count":25,"journal-issue":{"issue":"1","published-print":{"date-parts":[[2003,4]]}},"alternative-id":["S0167642302001090"],"URL":"https:\/\/doi.org\/10.1016\/s0167-6423(02)00109-0","relation":{},"ISSN":["0167-6423"],"issn-type":[{"value":"0167-6423","type":"print"}],"subject":[],"published":{"date-parts":[[2003,4]]}}}