{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2026,2,27]],"date-time":"2026-02-27T03:46:37Z","timestamp":1772163997843,"version":"3.50.1"},"publisher-location":"New York, NY, USA","reference-count":41,"publisher":"ACM","license":[{"start":{"date-parts":[[2008,10,19]],"date-time":"2008-10-19T00:00:00Z","timestamp":1224374400000},"content-version":"vor","delay-in-days":0,"URL":"https:\/\/www.acm.org\/publications\/policies\/copyright_policy#Background"}],"content-domain":{"domain":["dl.acm.org"],"crossmark-restriction":true},"short-container-title":[],"published-print":{"date-parts":[[2008,10,19]]},"DOI":"10.1145\/1449764.1449772","type":"proceedings-article","created":{"date-parts":[[2008,10,22]],"date-time":"2008-10-22T08:25:44Z","timestamp":1224663944000},"page":"91-108","update-policy":"https:\/\/doi.org\/10.1145\/crossmark-policy","source":"Crossref","is-referenced-by-count":10,"title":["Mixing source and bytecode"],"prefix":"10.1145","author":[{"given":"Lennart C.L.","family":"Kats","sequence":"first","affiliation":[{"name":"Delft University of Technology, Delft, Netherlands"}],"role":[{"role":"author","vocabulary":"crossref"}]},{"given":"Martin","family":"Bravenboer","sequence":"additional","affiliation":[{"name":"University of Oregon, Eugene, OR, USA"}],"role":[{"role":"author","vocabulary":"crossref"}]},{"given":"Eelco","family":"Visser","sequence":"additional","affiliation":[{"name":"Delft University of Technology, Delft, Netherlands"}],"role":[{"role":"author","vocabulary":"crossref"}]}],"member":"320","published-online":{"date-parts":[[2008,10,19]]},"reference":[{"key":"e_1_3_2_1_1_1","volume-title":"Compilers: Principles, Techniques, and Tools","author":"Aho A. V.","year":"2006","unstructured":"A. V. Aho , M. S. Lam , R. Sethi , and J. D. Ullman . Compilers: Principles, Techniques, and Tools ( 2 nd Edition). Addison Wesley , August 2006 . A. V. Aho, M. S. Lam, R. Sethi, and J. D. Ullman. Compilers: Principles, Techniques, and Tools (2nd Edition). Addison Wesley, August 2006.","edition":"2"},{"key":"e_1_3_2_1_2_1","doi-asserted-by":"publisher","DOI":"10.1145\/1052898.1052906"},{"key":"e_1_3_2_1_3_1","volume-title":"Proceedings of the 16th ACM SIGPLAN conference on Object oriented programming, systems, languages, and applications (OOPSLA'01)","volume":"36","author":"Bachrach J.","year":"2001","unstructured":"J. Bachrach and K. Playford . The Java syntactic extender (JSE) . In Proceedings of the 16th ACM SIGPLAN conference on Object oriented programming, systems, languages, and applications (OOPSLA'01) , volume 36 of ACM SIGPLAN Notices, pages 31--42, New York, NY, USA , 2001 . ACM. 10.1145\/504282.504285 J. Bachrach and K. Playford. The Java syntactic extender (JSE). In Proceedings of the 16th ACM SIGPLAN conference on Object oriented programming, systems, languages, and applications (OOPSLA'01), volume 36 of ACM SIGPLAN Notices, pages 31--42, New York, NY, USA, 2001. ACM. 10.1145\/504282.504285"},{"key":"e_1_3_2_1_4_1","series-title":"Lecture Notes in Computer Science","doi-asserted-by":"crossref","first-page":"143","DOI":"10.1007\/3-540-45937-5_12","volume-title":"Compiler Construction (CC","author":"van den Brand M. G. J.","year":"2002","unstructured":"M. G. J. van den Brand , J. Scheerder , J. Vinju , and E. Visser . Disambiguation filters for scannerless generalized LR parsers . In N. Horspool, editor, Compiler Construction (CC 2002 ), volume 2304 of Lecture Notes in Computer Science , pages 143 -- 158 , Grenoble, France, April 2002. Springer-Verlag . M. G. J. van den Brand, J. Scheerder, J. Vinju, and E. Visser. Disambiguation filters for scannerless generalized LR parsers. In N. Horspool, editor, Compiler Construction (CC 2002), volume 2304 of Lecture Notes in Computer Science, pages 143--158, Grenoble, France, April 2002. Springer-Verlag."},{"key":"e_1_3_2_1_5_1","first-page":"3","volume-title":"Generative Programming and Component Engineering (GPCE 2007","author":"Bravenboer M.","year":"2007","unstructured":"M. Bravenboer , E. Dolstra , and E. Visser . Preventing injection attacks with syntax embeddings. A host and guest language independent approach. In J. Lawall, editor , Generative Programming and Component Engineering (GPCE 2007 ), pages 3 -- 12 , New York, NY, USA , October 2007 . ACM. 10.1145\/1289971.1289975 M. Bravenboer, E. Dolstra, and E. Visser. Preventing injection attacks with syntax embeddings. A host and guest language independent approach. In J. Lawall, editor, Generative Programming and Component Engineering (GPCE 2007), pages 3--12, New York, NY, USA, October 2007. ACM. 10.1145\/1289971.1289975"},{"key":"e_1_3_2_1_6_1","doi-asserted-by":"publisher","DOI":"10.1016\/j.scico.2007.11.003"},{"key":"e_1_3_2_1_7_1","doi-asserted-by":"crossref","first-page":"365","DOI":"10.1145\/1028976.1029007","volume-title":"Proceedings of the 19th ACM SIGPLAN Conference on Object-Oriented Programing, Systems, Languages, and Applications (OOPSLA'04)","author":"Bravenboer M.","year":"2004","unstructured":"M. Bravenboer and E. Visser . Concrete syntax for objects. Domain-specific language embedding and assimilation without restrictions. In D. C. Schmidt, editor , Proceedings of the 19th ACM SIGPLAN Conference on Object-Oriented Programing, Systems, Languages, and Applications (OOPSLA'04) , pages 365 -- 383 , Vancouver, Canada , October 2004 . ACM Press. 10.1145\/1028976.1029007 M. Bravenboer and E. Visser. Concrete syntax for objects. Domain-specific language embedding and assimilation without restrictions. In D. C. Schmidt, editor, Proceedings of the 19th ACM SIGPLAN Conference on Object-Oriented Programing, Systems, Languages, and Applications (OOPSLA'04), pages 365--383, Vancouver, Canada, October 2004. ACM Press. 10.1145\/1028976.1029007"},{"key":"e_1_3_2_1_9_1","doi-asserted-by":"publisher","DOI":"10.1145\/1133651.1133655"},{"key":"e_1_3_2_1_10_1","doi-asserted-by":"publisher","DOI":"10.1016\/j.scico.2006.05.008"},{"key":"e_1_3_2_1_11_1","unstructured":"A. B. Dov. infomancers-collections. http:\/\/code.google.com\/p\/infomancers-collections\/  A. B. Dov. infomancers-collections. http:\/\/code.google.com\/p\/infomancers-collections\/"},{"key":"e_1_3_2_1_12_1","doi-asserted-by":"publisher","DOI":"10.1145\/1119479.1119483"},{"key":"e_1_3_2_1_13_1","first-page":"1","volume-title":"Proceedings of the 22nd ACM SIGPLAN conference on Object-oriented programming systems and applications (OOPSLA'07)","author":"Ekman T.","year":"2007","unstructured":"T. Ekman and G. Hedin . The JastAdd extensible Java compiler . In Proceedings of the 22nd ACM SIGPLAN conference on Object-oriented programming systems and applications (OOPSLA'07) , pages 1 -- 18 , New York, NY, USA , 2007 . ACM. 10.1145\/1297027.1297029 T. Ekman and G. Hedin. The JastAdd extensible Java compiler. In Proceedings of the 22nd ACM SIGPLAN conference on Object-oriented programming systems and applications (OOPSLA'07), pages 1--18, New York, NY, USA, 2007. ACM. 10.1145\/1297027.1297029"},{"key":"e_1_3_2_1_14_1","volume-title":"The Java Language Specification","author":"Gosling J.","year":"2005","unstructured":"J. Gosling , B. Joy , G. Steele , and G. Bracha . The Java Language Specification . Prentice Hall PTR , Boston, Mass ., third edition, 2005 . J. Gosling, B. Joy, G. Steele, and G. Bracha. The Java Language Specification. Prentice Hall PTR, Boston, Mass., third edition, 2005."},{"key":"e_1_3_2_1_16_1","doi-asserted-by":"publisher","DOI":"10.1007\/978-3-540-69927-9_13"},{"key":"e_1_3_2_1_17_1","doi-asserted-by":"publisher","DOI":"10.1145\/1297027.1297030"},{"key":"e_1_3_2_1_18_1","first-page":"305","volume":"7","author":"Kam J. B.","year":"1977","unstructured":"J. B. Kam and J. D. Ullman . Monotone data flow analysis frameworks. Acta Inf. , 7 : 305 -- 317 , 1977 . J. B. Kam and J. D. Ullman. Monotone data flow analysis frameworks. Acta Inf., 7:305--317, 1977.","journal-title":"Monotone data flow analysis frameworks. Acta Inf."},{"key":"e_1_3_2_1_19_1","unstructured":"L. C. L. Kats. java-csharp: C#-inspired language extensions for Java. http:\/\/strategoxt.org\/Stratego\/JavaCSharp\/.  L. C. L. Kats. java-csharp: C#-inspired language extensions for Java. http:\/\/strategoxt.org\/Stratego\/JavaCSharp\/."},{"key":"e_1_3_2_1_20_1","series-title":"Lecture Notes in Computer Science","doi-asserted-by":"crossref","first-page":"220","DOI":"10.1007\/BFb0053381","volume-title":"Proceedings of the European Conference on Object-Oriented Programming (ECOOP'07)","author":"Kiczales G.","year":"1997","unstructured":"G. Kiczales , J. Lamping , A. Menhdhekar , C. Maeda , C. Lopes , J.-M. Loingtier , and J. Irwin . Aspect-oriented programming . In M. Aks\u00b8it and S. Matsuoka, editors, Proceedings of the European Conference on Object-Oriented Programming (ECOOP'07) , volume 1241 of Lecture Notes in Computer Science , pages 220 -- 242 . Springer , 1997 . G. Kiczales, J. Lamping, A. Menhdhekar, C. Maeda, C. Lopes, J.-M. Loingtier, and J. Irwin. Aspect-oriented programming. In M. Aks\u00b8it and S. Matsuoka, editors, Proceedings of the European Conference on Object-Oriented Programming (ECOOP'07), volume 1241 of Lecture Notes in Computer Science, pages 220--242. Springer, 1997."},{"key":"e_1_3_2_1_21_1","volume-title":"Java Native Interface: Programmer's Guide and Reference","author":"Liang S.","year":"1999","unstructured":"S. Liang . Java Native Interface: Programmer's Guide and Reference . Addison-Wesley Longman Publishing Co., Inc. , Boston, MA, USA , 1999 . S. Liang. Java Native Interface: Programmer's Guide and Reference. Addison-Wesley Longman Publishing Co., Inc., Boston, MA, USA, 1999."},{"key":"e_1_3_2_1_22_1","volume-title":"The Java Virtual Machine Specification","author":"Lindholm T.","year":"1999","unstructured":"T. Lindholm and F. Yellin . The Java Virtual Machine Specification . Addison-Wesley Longman Publishing Co., Inc. , Boston, MA, USA , second edition, 1999 . T. Lindholm and F. Yellin. The Java Virtual Machine Specification. Addison-Wesley Longman Publishing Co., Inc., Boston, MA, USA, second edition, 1999."},{"key":"e_1_3_2_1_23_1","series-title":"Lecture Notes in Computer Science","doi-asserted-by":"crossref","first-page":"192","DOI":"10.1007\/978-3-540-78163-9","volume-title":"Compiler Construction (CC'08)","author":"Logozzo F.","year":"2008","unstructured":"F. Logozzo and M. F\u00e4hndrich . On the relative completeness of bytecode analysis versus source code analysis . In L. Hendren, editor, Compiler Construction (CC'08) , volume 4959 of Lecture Notes in Computer Science , pages 192 -- 212 . Springer , 2008 . F. Logozzo and M. F\u00e4hndrich. On the relative completeness of bytecode analysis versus source code analysis. In L. Hendren, editor, Compiler Construction (CC'08), volume 4959 of Lecture Notes in Computer Science, pages 192--212. Springer, 2008."},{"key":"e_1_3_2_1_24_1","volume-title":"Morgan Kaufmann","author":"Melton J.","year":"2000","unstructured":"J. Melton and A. Eisenberg . Understanding SQL and Java Together: A Guide to SQLJ, JDBC, and Related Technologies . Morgan Kaufmann , 2000 . J. Melton and A. Eisenberg. Understanding SQL and Java Together: A Guide to SQLJ, JDBC, and Related Technologies. Morgan Kaufmann, 2000."},{"key":"e_1_3_2_1_25_1","volume-title":"Inc.","author":"Meyer J.","year":"1997","unstructured":"J. Meyer and T. Downing . Java Virtual Machine. O'Reilly & Associates , Inc. , Sebastopol, CA, USA , 1997 . J. Meyer and T. Downing. Java Virtual Machine. O'Reilly & Associates, Inc., Sebastopol, CA, USA, 1997."},{"key":"e_1_3_2_1_26_1","first-page":"368","volume-title":"Workshop on Decompilation Techniques, appeared in Proceedings of the Working Conference on Reverse Engineering (WCRE'01)","author":"Miecznikowski J.","year":"2001","unstructured":"J. Miecznikowski and L. Hendren . Decompiling Java using staged encapsulation . Workshop on Decompilation Techniques, appeared in Proceedings of the Working Conference on Reverse Engineering (WCRE'01) , pages 368 -- 374 , 2001 . J. Miecznikowski and L. Hendren. Decompiling Java using staged encapsulation. Workshop on Decompilation Techniques, appeared in Proceedings of the Working Conference on Reverse Engineering (WCRE'01), pages 368--374, 2001."},{"key":"e_1_3_2_1_27_1","doi-asserted-by":"publisher","DOI":"10.1145\/225540.225541"},{"key":"e_1_3_2_1_28_1","volume-title":"Apr.","author":"Nystrom N.","year":"2003","unstructured":"N. Nystrom , M. Clarkson , and A. Myers . Polyglot: An Extensible Compiler Framework for Java. Compiler Construction (CC'03), 2622: 138--152 , Apr. 2003 . N. Nystrom, M. Clarkson, and A. Myers. Polyglot: An Extensible Compiler Framework for Java. Compiler Construction (CC'03), 2622:138--152, Apr. 2003."},{"key":"e_1_3_2_1_30_1","volume-title":"Jython Essentials","author":"Pedroni S.","year":"2002","unstructured":"S. Pedroni and N. Rappin . Jython Essentials . O'Reilly Media, Inc. , 2002 . S. Pedroni and N. Rappin. Jython Essentials. O'Reilly Media, Inc., 2002."},{"key":"e_1_3_2_1_31_1","doi-asserted-by":"publisher","DOI":"10.1016\/S0167-6423(97)00029-4"},{"key":"e_1_3_2_1_32_1","volume-title":"Stanford University, California","author":"Seymour K.","year":"2001","unstructured":"K. Seymour and J. Dongarra . Automatic translation of Fortran to JVM bytecode. In Joint ACM Java Grande -- ISCOPE 2001 Conference , Stanford University, California , June 2-4, 2001 , New York, NY 10036, USA , 2001. ACM. 10.1145\/376656.376833 K. Seymour and J. Dongarra. Automatic translation of Fortran to JVM bytecode. In Joint ACM Java Grande -- ISCOPE 2001 Conference, Stanford University, California, June 2-4, 2001, New York, NY 10036, USA, 2001. ACM. 10.1145\/376656.376833"},{"key":"e_1_3_2_1_33_1","doi-asserted-by":"publisher","DOI":"10.1145\/505145.505148"},{"key":"e_1_3_2_1_34_1","doi-asserted-by":"publisher","DOI":"10.1023\/A:1010085415024"},{"key":"e_1_3_2_1_35_1","unstructured":"Sun Microsystems. The annotation processing tool (apt). http:\/\/java.sun.com\/j2se\/1.5.0\/docs\/guide\/apt.  Sun Microsystems. The annotation processing tool (apt). http:\/\/java.sun.com\/j2se\/1.5.0\/docs\/guide\/apt."},{"key":"e_1_3_2_1_36_1","series-title":"Lecture Notes in Computer Science","first-page":"117","volume-title":"First OOPSLA Workshop on Reflection and Software Engineering (OORaSE'99)","author":"Tatsubori M.","year":"1999","unstructured":"M. Tatsubori , S. Chiba , K. Itano , and M.-O. Killijian . OpenJava: A class-based macro system for Java . In W. Cazzola, R. J. Stroud, and F. Tisato, editors, First OOPSLA Workshop on Reflection and Software Engineering (OORaSE'99) , volume 1826 of Lecture Notes in Computer Science , pages 117 -- 133 . Springer , Nov. 1999 . M. Tatsubori, S. Chiba, K. Itano, and M.-O. Killijian. OpenJava: A class-based macro system for Java. In W. Cazzola, R. J. Stroud, and F. Tisato, editors, First OOPSLA Workshop on Reflection and Software Engineering (OORaSE'99), volume 1826 of Lecture Notes in Computer Science, pages 117--133. Springer, Nov. 1999."},{"key":"e_1_3_2_1_37_1","unstructured":"The XDoclet team. XDoclet: attribute-oriented programming. http:\/\/xdoclet.sourceforge.net\/  The XDoclet team. XDoclet: attribute-oriented programming. http:\/\/xdoclet.sourceforge.net\/"},{"key":"e_1_3_2_1_38_1","unstructured":"A. Tolmach. An external representation for the GHC core language. http:\/\/haskell.org\/ghc\/docs\/papers\/core.ps.gz September 2001.  A. Tolmach. An external representation for the GHC core language. http:\/\/haskell.org\/ghc\/docs\/papers\/core.ps.gz September 2001."},{"key":"e_1_3_2_1_39_1","first-page":"13","volume-title":"CASCON '99: Proceedings of the 1999 conference of the Centre for Advanced Studies on Collaborative research","author":"Vall\u00e9e-Rai R.","unstructured":"R. Vall\u00e9e-Rai , P. Co , E. Gagnon , L. Hendren , P. Lam , and V. Sundaresan . Soot - a Java bytecode optimization framework . In CASCON '99: Proceedings of the 1999 conference of the Centre for Advanced Studies on Collaborative research , page 13 . IBM, 1999. R. Vall\u00e9e-Rai, P. Co, E. Gagnon, L. Hendren, P. Lam, and V. Sundaresan. Soot - a Java bytecode optimization framework. In CASCON '99: Proceedings of the 1999 conference of the Centre for Advanced Studies on Collaborative research, page 13. IBM, 1999."},{"key":"e_1_3_2_1_40_1","doi-asserted-by":"publisher","DOI":"10.1016\/S0747-7171(06)80004-0"},{"key":"e_1_3_2_1_41_1","series-title":"Lecture Notes on Computer Science","doi-asserted-by":"crossref","first-page":"128","DOI":"10.1007\/3-540-45937-5_11","volume-title":"Proceedings of the 11th International Conference on Compiler Construction (CC'02)","author":"VanWyk E.","year":"2002","unstructured":"E. VanWyk , O. de Moor , K. Backhouse , and P. Kwiatkowski . Forwarding in attribute grammars for modular language design . In R. N. Horspool, editor, Proceedings of the 11th International Conference on Compiler Construction (CC'02) , volume 2304 of Lecture Notes on Computer Science , pages 128 -- 142 , London, UK , 2002 . Springer-Verlag . E. VanWyk, O. de Moor, K. Backhouse, and P. Kwiatkowski. Forwarding in attribute grammars for modular language design. In R. N. Horspool, editor, Proceedings of the 11th International Conference on Compiler Construction (CC'02), volume 2304 of Lecture Notes on Computer Science, pages 128--142, London, UK, 2002. Springer-Verlag."},{"key":"e_1_3_2_1_42_1","series-title":"Lecture Notes on Computer Science","doi-asserted-by":"crossref","first-page":"575","DOI":"10.1007\/978-3-540-73589-2_27","volume-title":"European Conference on Object Oriented Programming (ECOOP'07)","author":"Wyk E. Van","year":"2007","unstructured":"E. Van Wyk , L. Krishnan , A. Schwerdfeger , and D. Bodin . Attribute grammar-based language extensions for Java . In E. Ernst, editor, European Conference on Object Oriented Programming (ECOOP'07) , volume 4609 of Lecture Notes on Computer Science , pages 575 -- 599 . Springer Verslag , July 2007 . E. Van Wyk, L. Krishnan, A. Schwerdfeger, and D. Bodin. Attribute grammar-based language extensions for Java. In E. Ernst, editor, European Conference on Object Oriented Programming (ECOOP'07), volume 4609 of Lecture Notes on Computer Science, pages 575--599. Springer Verslag, July 2007."},{"key":"e_1_3_2_1_43_1","series-title":"Lecture Notes in Computer Science","doi-asserted-by":"crossref","first-page":"299","DOI":"10.1007\/3-540-45821-2_19","volume-title":"Generative Programming and Component Engineering (GPCE","author":"Visser E.","year":"2002","unstructured":"E. Visser . Meta-programming with concrete object syntax . In D. Batory, C. Consel, and W. Taha, editors, Generative Programming and Component Engineering (GPCE 2002 ), volume 2487 of Lecture Notes in Computer Science , pages 299 -- 315 , Pittsburgh, PA , USA, October 2002. Springer-Verlag . E. Visser. Meta-programming with concrete object syntax. In D. Batory, C. Consel, and W. Taha, editors, Generative Programming and Component Engineering (GPCE 2002), volume 2487 of Lecture Notes in Computer Science, pages 299--315, Pittsburgh, PA, USA, October 2002. Springer-Verlag."},{"key":"e_1_3_2_1_44_1","series-title":"Computer Science and Information System Reports","first-page":"15","volume-title":"J. Gray, J.-P","author":"Warmer J.","year":"2006","unstructured":"J. Warmer and A. Kleppe . Building a flexible software factory using partial domain specific models . In J. Gray, J.-P . Tolvanen, and J. Sprinkle, editors, Proceedings of the 6th OOPSLA Workshop on Domain-Specific Modeling (DSM 2006 ), volume TR-37 of Computer Science and Information System Reports , pages 15 - 22 , Finland, October 2006. University of Jyv\u00e4skyl\u00e4 . J. Warmer and A. Kleppe. Building a flexible software factory using partial domain specific models. In J. Gray, J.-P. Tolvanen, and J. Sprinkle, editors, Proceedings of the 6th OOPSLA Workshop on Domain-Specific Modeling (DSM 2006), volume TR-37 of Computer Science and Information System Reports, pages 15-22, Finland, October 2006. University of Jyv\u00e4skyl\u00e4."}],"event":{"name":"OOPSLA08: ACM SIGPLAN Conference on Object-Oriented Programming, Systems, Languages, and Applications","location":"Nashville TN USA","acronym":"OOPSLA08","sponsor":["SIGPLAN ACM Special Interest Group on Programming Languages","ACM Association for Computing Machinery"]},"container-title":["Proceedings of the 23rd ACM SIGPLAN conference on Object-oriented programming systems languages and applications"],"original-title":[],"link":[{"URL":"https:\/\/dl.acm.org\/doi\/10.1145\/1449764.1449772","content-type":"unspecified","content-version":"vor","intended-application":"text-mining"},{"URL":"https:\/\/dl.acm.org\/doi\/pdf\/10.1145\/1449764.1449772","content-type":"unspecified","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2025,6,18]],"date-time":"2025-06-18T16:22:40Z","timestamp":1750263760000},"score":1,"resource":{"primary":{"URL":"https:\/\/dl.acm.org\/doi\/10.1145\/1449764.1449772"}},"subtitle":["a case for compilation by normalization"],"short-title":[],"issued":{"date-parts":[[2008,10,19]]},"references-count":41,"alternative-id":["10.1145\/1449764.1449772","10.1145\/1449764"],"URL":"https:\/\/doi.org\/10.1145\/1449764.1449772","relation":{"is-identical-to":[{"id-type":"doi","id":"10.1145\/1449955.1449772","asserted-by":"object"}]},"subject":[],"published":{"date-parts":[[2008,10,19]]},"assertion":[{"value":"2008-10-19","order":2,"name":"published","label":"Published","group":{"name":"publication_history","label":"Publication History"}}]}}