{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2025,11,1]],"date-time":"2025-11-01T21:35:35Z","timestamp":1762032935731},"publisher-location":"Berlin, Heidelberg","reference-count":32,"publisher":"Springer Berlin Heidelberg","isbn-type":[{"type":"print","value":"9783642180224"},{"type":"electronic","value":"9783642180231"}],"license":[{"start":{"date-parts":[[2011,1,1]],"date-time":"2011-01-01T00:00:00Z","timestamp":1293840000000},"content-version":"unspecified","delay-in-days":0,"URL":"http:\/\/www.springer.com\/tdm"}],"content-domain":{"domain":[],"crossmark-restriction":false},"short-container-title":[],"published-print":{"date-parts":[[2011]]},"DOI":"10.1007\/978-3-642-18023-1_4","type":"book-chapter","created":{"date-parts":[[2011,1,17]],"date-time":"2011-01-17T07:16:54Z","timestamp":1295248614000},"page":"166-200","source":"Crossref","is-referenced-by-count":6,"title":["An Introductory Tutorial on JastAdd Attribute Grammars"],"prefix":"10.1007","author":[{"given":"G\u00f6rel","family":"Hedin","sequence":"first","affiliation":[],"role":[{"role":"author","vocabulary":"crossref"}]}],"member":"297","reference":[{"issue":"1-2","key":"4_CR1","doi-asserted-by":"publisher","first-page":"21","DOI":"10.1016\/j.scico.2009.07.003","volume":"73","author":"J. \u00c5kesson","year":"2010","unstructured":"\u00c5kesson, J., Ekman, T., Hedin, G.: Implementation of a Modelica compiler using JastAdd attribute grammars. Science of Computer Programming\u00a073(1-2), 21\u201338 (2010)","journal-title":"Science of Computer Programming"},{"key":"4_CR2","unstructured":"Boyland, J.T.: Descriptional Composition of Compiler Components. PhD thesis, University of California, Berkeley, Available as technical report UCB\/\/CSD-96-916 (September 1996)"},{"issue":"4","key":"4_CR3","doi-asserted-by":"publisher","first-page":"627","DOI":"10.1145\/1082036.1082042","volume":"52","author":"J.T. Boyland","year":"2005","unstructured":"Boyland, J.T.: Remote attribute grammars. J. ACM\u00a052(4), 627\u2013687 (2005)","journal-title":"J. ACM"},{"issue":"6","key":"4_CR4","doi-asserted-by":"publisher","first-page":"476","DOI":"10.1109\/32.295895","volume":"20","author":"S.R. Chidamber","year":"1994","unstructured":"Chidamber, S.R., Kemerer, C.F.: A metrics suite for object oriented design. IEEE Trans. Softw. Eng.\u00a020(6), 476\u2013493 (1994)","journal-title":"IEEE Trans. Softw. Eng."},{"key":"4_CR5","series-title":"Lecture Notes in Computer Science","volume-title":"Attribute Grammars: Definitions, Systems, and Bibliography","author":"P. Deransart","year":"1988","unstructured":"Deransart, P., Jourdan, M., Lorho, B.: Attribute Grammars: Definitions, Systems, and Bibliography. LNCS, vol.\u00a0323. Springer, Heidelberg (1988)"},{"key":"4_CR6","first-page":"109","volume-title":"Proceedings of the 18th Annual ACM Symposium on Theory of Computing, STOC 1986","author":"J.R. Driscoll","year":"1986","unstructured":"Driscoll, J.R., Sarnak, N., Sleator, D.D., Tarjan, R.E.: Making data structures persistent. In: Proceedings of the 18th Annual ACM Symposium on Theory of Computing, STOC 1986, pp. 109\u2013121. ACM, New York (1986)"},{"key":"4_CR7","series-title":"Lecture Notes in Computer Science","doi-asserted-by":"publisher","first-page":"147","DOI":"10.1007\/978-3-540-24851-4_7","volume-title":"ECOOP 2004 \u2013 Object-Oriented Programming","author":"T. Ekman","year":"2004","unstructured":"Ekman, T., Hedin, G.: Rewritable Reference Attributed Grammars. In: Vetta, A. (ed.) ECOOP 2004. LNCS, vol.\u00a03086, pp. 147\u2013171. Springer, Heidelberg (2004)"},{"key":"4_CR8","series-title":"Lecture Notes in Computer Science","doi-asserted-by":"publisher","first-page":"422","DOI":"10.1007\/11877028_18","volume-title":"Generative and Transformational Techniques in Software Engineering","author":"T. Ekman","year":"2006","unstructured":"Ekman, T., Hedin, G.: Modular name analysis for java using JastAdd. In: L\u00e4mmel, R., Saraiva, J., Visser, J. (eds.) GTTSE 2005. LNCS, vol.\u00a04143, pp. 422\u2013436. Springer, Heidelberg (2006)"},{"issue":"9","key":"4_CR9","first-page":"455","volume":"6","author":"T. Ekman","year":"2007","unstructured":"Ekman, T., Hedin, G.: Pluggable checking and inferencing of non-null types for Java. Proceedings of TOOLS Europe 2007, Journal of Object Technology\u00a06(9), 455\u2013475 (2007)","journal-title":"Proceedings of TOOLS Europe 2007, Journal of Object Technology"},{"key":"4_CR10","first-page":"1","volume-title":"OOPSLA 2007","author":"T. Ekman","year":"2007","unstructured":"Ekman, T., Hedin, G.: The Jastadd Extensible Java Compiler. In: OOPSLA 2007, pp. 1\u201318. ACM, New York (2007)"},{"key":"4_CR11","unstructured":"Ekman, T.: Extensible Compiler Construction. PhD thesis, Lund University, Sweden (June 2006)"},{"key":"4_CR12","first-page":"85","volume-title":"Proceedings of the SIGPLAN Symposium on Compiler Construction","author":"R. Farrow","year":"1986","unstructured":"Farrow, R.: Automatic generation of fixed-point-finding evaluators for circular, but well-defined, attribute grammars. In: Proceedings of the SIGPLAN Symposium on Compiler Construction, pp. 85\u201398. ACM Press, New York (1986)"},{"key":"4_CR13","series-title":"Lecture Notes in Computer Science","doi-asserted-by":"publisher","first-page":"31","DOI":"10.1007\/3-540-57877-3_3","volume-title":"Compiler Construction","author":"G. Hedin","year":"1994","unstructured":"Hedin, G.: An Overview of Door Attribute Grammars. In: Fritzson, P.A. (ed.) CC 1994. LNCS, vol.\u00a0786, pp. 31\u201351. Springer, Heidelberg (1994)"},{"issue":"3","key":"4_CR14","first-page":"301","volume":"24","author":"G. Hedin","year":"2000","unstructured":"Hedin, G.: Reference Attributed Grammars. Informatica (Slovenia)\u00a024(3), 301\u2013317 (2000)","journal-title":"Informatica (Slovenia)"},{"key":"4_CR15","unstructured":"JModelica.org, Modelon AB (2009), \n                    \n                      http:\/\/www.jmodelica.org"},{"key":"4_CR16","series-title":"Lecture Notes in Computer Science","doi-asserted-by":"publisher","first-page":"167","DOI":"10.1007\/3-540-12925-1_37","volume-title":"International Symposium on Programming","author":"M. Jourdan","year":"1984","unstructured":"Jourdan, M.: An optimal-time recursive evaluator for attribute grammars. In: Paul, M., Robinet, B. (eds.) Programming 1984. LNCS, vol.\u00a0167, pp. 167\u2013178. Springer, Heidelberg (1984)"},{"issue":"3","key":"4_CR17","doi-asserted-by":"publisher","first-page":"229","DOI":"10.1007\/BF00288644","volume":"13","author":"U. Kastens","year":"1980","unstructured":"Kastens, U.: Ordered attribute grammars. Acta Informatica\u00a013(3), 229\u2013256 (1980); See also: Bericht 7\/78, Institut f\u00fcr Informatik\u00a0II, University Karlsruhe (1978)","journal-title":"Acta Informatica"},{"key":"4_CR18","series-title":"Lecture Notes in Computer Science","doi-asserted-by":"publisher","first-page":"327","DOI":"10.1007\/3-540-45337-7_18","volume-title":"ECOOP 2001 - Object-Oriented Programming","author":"G. Kiczales","year":"2001","unstructured":"Kiczales, G., Hilsdale, E., Hugunin, J., Kersten, M., Palm, J., Griswold, W.G.: An overview of AspectJ. In: Lee, S.H. (ed.) ECOOP 2001. LNCS, vol.\u00a02072, pp. 327\u2013355. Springer, Heidelberg (2001)"},{"key":"4_CR19","series-title":"Lecture Notes in Computer Science","volume-title":"GAG: A Practical Compiler Generator","author":"U. Kastens","year":"1982","unstructured":"Kastens, U., Hutt, B., Zimmermann, E.: GAG: A Practical Compiler Generator. LNCS, vol.\u00a0141. Springer, Heidelberg (1982)"},{"issue":"2","key":"4_CR20","doi-asserted-by":"publisher","first-page":"127","DOI":"10.1007\/BF01692511","volume":"2","author":"D.E. Knuth","year":"1968","unstructured":"Knuth, D.E.: Semantics of context-free languages. Mathematical Systems Theory\u00a02(2), 127\u2013145 (1968); Correction: Mathematical Systems Theory 5(1), 95\u201396 (1971)","journal-title":"Mathematical Systems Theory"},{"key":"4_CR21","series-title":"Lecture Notes in Computer Science","doi-asserted-by":"publisher","first-page":"142","DOI":"10.1007\/978-3-642-00722-4_11","volume-title":"Compiler Construction","author":"L.C.L. Kats","year":"2009","unstructured":"Kats, L.C.L., Sloane, A.M., Visser, E.: Decorated attribute grammars: Attribute evaluation meets strategic programming. In: de Moor, O., Schwartzbach, M.I. (eds.) CC 2009. LNCS, vol.\u00a05501, pp. 142\u2013157. Springer, Heidelberg (2009)"},{"issue":"2","key":"4_CR22","doi-asserted-by":"publisher","first-page":"291","DOI":"10.1007\/s10515-009-0046-z","volume":"16","author":"E. Magnusson","year":"2009","unstructured":"Magnusson, E., Ekman, T., Hedin, G.: Demand-driven evaluation of collection attributes. Automated Software Engineering\u00a016(2), 291\u2013322 (2009)","journal-title":"Automated Software Engineering"},{"issue":"1","key":"4_CR23","doi-asserted-by":"publisher","first-page":"21","DOI":"10.1016\/j.scico.2005.06.005","volume":"68","author":"E. Magnusson","year":"2007","unstructured":"Magnusson, E., Hedin, G.: Circular Reference Attributed Grammars - Their Evaluation and Applications. Science of Computer Programming\u00a068(1), 21\u201337 (2007)","journal-title":"Science of Computer Programming"},{"key":"4_CR24","unstructured":"The Modelica Association (2010), \n                    \n                      http:\/\/www.modelica.org"},{"issue":"5","key":"4_CR25","doi-asserted-by":"publisher","first-page":"155","DOI":"10.1016\/j.entcs.2009.09.046","volume":"238","author":"E. Nilsson-Nyman","year":"2009","unstructured":"Nilsson-Nyman, E., Ekman, T., Hedin, G., Magnusson, E.: Declarative intraprocedural flow analysis of Java source code. Electronic Notes in Theoretical Computer Science\u00a0238(5), 155\u2013171 (2009)","journal-title":"Electronic Notes in Theoretical Computer Science"},{"issue":"2","key":"4_CR26","doi-asserted-by":"publisher","first-page":"196","DOI":"10.1145\/210376.197409","volume":"27","author":"J. Paakki","year":"1995","unstructured":"Paakki, J.: Attribute grammar paradigms - a high-level methodology in language implementation. ACM Computing Surveys\u00a027(2), 196\u2013255 (1995)","journal-title":"ACM Computing Surveys"},{"key":"4_CR27","doi-asserted-by":"publisher","first-page":"737","DOI":"10.1007\/s002360050105","volume":"34","author":"A. Poetzsch-Heffter","year":"1997","unstructured":"Poetzsch-Heffter, A.: Prototyping realistic programming languages based on formal specifications. Acta Informatica\u00a034, 737\u2013772 (1997)","journal-title":"Acta Informatica"},{"key":"4_CR28","doi-asserted-by":"publisher","first-page":"42","DOI":"10.1145\/800020.808247","volume-title":"ACM SIGSOFT\/SIGPLAN Symp. on Practical Software Development Environments","author":"T. Reps","year":"1984","unstructured":"Reps, T., Teitelbaum, T.: The Synthesizer Generator. In: ACM SIGSOFT\/SIGPLAN Symp. on Practical Software Development Environments, pp. 42\u201348. ACM Press, Pittsburgh (April 1984)"},{"key":"4_CR29","unstructured":"Sloane, A.M., Kats, L.C.L., Visser, E.: A pure object-oriented embedding of attribute grammars. In: Ekman, T., Vinju, J. (eds.) Proceedings of the Ninth Workshop on Language Descriptions, Tools, and Applications, LDTA 2009 (2009)"},{"key":"4_CR30","series-title":"Lecture Notes in Computer Science","doi-asserted-by":"crossref","DOI":"10.1007\/3-540-11571-4","volume-title":"An Attribute Grammar for the Semantic Analysis of ADA","author":"J. Uhl","year":"1982","unstructured":"Uhl, J., Drossopoulou, S., Persch, G., Goos, G., Dausmann, M., Winterstein, G., Kirchg\u00e4ssner, W.: An Attribute Grammar for the Semantic Analysis of ADA. LNCS, vol.\u00a0139. Springer, Heidelberg (1982)"},{"key":"4_CR31","first-page":"131","volume-title":"Proceedings of PLDI 1989","author":"H.H. Vogt","year":"1989","unstructured":"Vogt, H.H., Swierstra, S.D., Kuiper, M.F.: Higher order attribute grammars. In: Proceedings of PLDI 1989, pp. 131\u2013145. ACM Press, New York (1989)"},{"issue":"1-2","key":"4_CR32","doi-asserted-by":"publisher","first-page":"39","DOI":"10.1016\/j.scico.2009.07.004","volume":"75","author":"E. Wyk Van","year":"2010","unstructured":"Van Wyk, E., Bodin, D., Gao, J., Krishnan, L.: Silver: An extensible attribute grammar system. Science of Computer Programming\u00a075(1-2), 39\u201354 (2010)","journal-title":"Science of Computer Programming"}],"container-title":["Lecture Notes in Computer Science","Generative and Transformational Techniques in Software Engineering III"],"original-title":[],"link":[{"URL":"http:\/\/link.springer.com\/content\/pdf\/10.1007\/978-3-642-18023-1_4","content-type":"unspecified","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2019,3,23]],"date-time":"2019-03-23T22:36:37Z","timestamp":1553380597000},"score":1,"resource":{"primary":{"URL":"http:\/\/link.springer.com\/10.1007\/978-3-642-18023-1_4"}},"subtitle":[],"short-title":[],"issued":{"date-parts":[[2011]]},"ISBN":["9783642180224","9783642180231"],"references-count":32,"URL":"https:\/\/doi.org\/10.1007\/978-3-642-18023-1_4","relation":{},"ISSN":["0302-9743","1611-3349"],"issn-type":[{"type":"print","value":"0302-9743"},{"type":"electronic","value":"1611-3349"}],"subject":[],"published":{"date-parts":[[2011]]}}}