{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2024,1,13]],"date-time":"2024-01-13T22:52:50Z","timestamp":1705186370997},"reference-count":18,"publisher":"Elsevier BV","issue":"2","license":[{"start":{"date-parts":[[2007,9,1]],"date-time":"2007-09-01T00:00:00Z","timestamp":1188604800000},"content-version":"tdm","delay-in-days":0,"URL":"https:\/\/www.elsevier.com\/tdm\/userlicense\/1.0\/"},{"start":{"date-parts":[[2013,7,17]],"date-time":"2013-07-17T00:00:00Z","timestamp":1374019200000},"content-version":"vor","delay-in-days":2146,"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":[[2007,9]]},"DOI":"10.1016\/j.scico.2006.04.010","type":"journal-article","created":{"date-parts":[[2007,5,6]],"date-time":"2007-05-06T21:41:52Z","timestamp":1178487712000},"page":"64-78","source":"Crossref","is-referenced-by-count":12,"title":["High-fidelity C\/C++ code transformation"],"prefix":"10.1016","volume":"68","author":[{"given":"Daniel","family":"Waddington","sequence":"first","affiliation":[]},{"given":"Bin","family":"Yao","sequence":"additional","affiliation":[]}],"member":"78","reference":[{"key":"10.1016\/j.scico.2006.04.010_b1","series-title":"Proceedings of the International Workshop on Principles of Software Evolution","first-page":"48","article-title":"DMS: Program transformations for practical scalable software evolution","author":"Baxter","year":"2002"},{"issue":"1","key":"10.1016\/j.scico.2006.04.010_b2","doi-asserted-by":"crossref","first-page":"97","DOI":"10.1016\/0096-0551(91)90019-6","article-title":"TXL: A rapid prototyping system for programming language dialects","volume":"16","author":"Cordy","year":"1991","journal-title":"Computer Languages"},{"key":"10.1016\/j.scico.2006.04.010_b3","doi-asserted-by":"crossref","unstructured":"G. Necula, S. McPeak, S. Rahul, W. Weimer, CIL: Intermediate language and tools for analysis and transformation of C programs, in: Proceedings of Conference on Compiler Construction, CC, 2002","DOI":"10.1007\/3-540-45937-5_16"},{"key":"10.1016\/j.scico.2006.04.010_b4","doi-asserted-by":"crossref","first-page":"357","DOI":"10.1007\/3-540-45127-7_27","article-title":"Stratego: A language for program transformation based on rewriting strategies","volume":"2051","author":"Visser","year":"2001","journal-title":"Lecture Notes in Computer Science"},{"key":"10.1016\/j.scico.2006.04.010_b5","doi-asserted-by":"crossref","unstructured":"M. Vittek, Refactoring browser with preprocessor, in: Proceedings of 7th European Conference on Software Maintenance and Reengineering, 2003, pp. 101\u2013110","DOI":"10.1109\/CSMR.2003.1192417"},{"key":"10.1016\/j.scico.2006.04.010_b6","doi-asserted-by":"crossref","first-page":"767","DOI":"10.1016\/S0950-5849(02)00103-9","article-title":"The documentary structure of source code","volume":"44","author":"Vanter","year":"2002","journal-title":"Information and Software Technology"},{"key":"10.1016\/j.scico.2006.04.010_b7","doi-asserted-by":"crossref","unstructured":"A. Malton, K. Schneider, J. Cordy, T. Dean, D. Cousineau, J. Reynolds, Processing software source text in automated design recovery and transformation, in: Proceedings of the IEEE 9th International Workshop on Program Comprehension, 2001, pp. 127\u2013134","DOI":"10.1109\/WPC.2001.921724"},{"key":"10.1016\/j.scico.2006.04.010_b8","doi-asserted-by":"crossref","unstructured":"L. Aversano, M.D. Penta, I. Baxter, Handling preprocessor-conditioned declarations, in: Proceedings Second IEEE International Workshop on Source Code Analysis and Manipulation, 2002, pp. 83\u201392","DOI":"10.1109\/SCAM.2002.1134108"},{"key":"10.1016\/j.scico.2006.04.010_b9","doi-asserted-by":"crossref","unstructured":"I. Baxter, M. Mehlich, Preprocessor conditional removal by simple partial evaluation, in: Proceedings Eighth Working Conference on Reverse Engineering, 2001, pp. 281\u2013290","DOI":"10.1109\/WCRE.2001.957833"},{"key":"10.1016\/j.scico.2006.04.010_b10","unstructured":"A. Garrido, R. Johnson, Handling preprocessor macros in refactoring, in: ACM SIGPLAN Conference on Programming Language Design and Implementation, 2004"},{"key":"10.1016\/j.scico.2006.04.010_b11","unstructured":"S. McCamant, Handling the complexities of a real-world language: A harmonia language module for C, Technical Report, University of California, Berkeley CSD-02-1192"},{"key":"10.1016\/j.scico.2006.04.010_b12","doi-asserted-by":"crossref","first-page":"94","DOI":"10.1145\/24645.24651","article-title":"An environment for Ada software development based on formal specification","volume":"7","author":"Luckham","year":"1987","journal-title":"Ada Letters"},{"key":"10.1016\/j.scico.2006.04.010_b13","unstructured":"M.G.J. van den Brand, J. Vinju, Rewriting with layout, in: Proceedings of the 1st International Workshop on Rule-Based Programming, RULE\u201900. URL: http:\/\/citeseer.ist.psu.edu\/vandenbrand00rewriting.html, 2000"},{"issue":"3","key":"10.1016\/j.scico.2006.04.010_b14","doi-asserted-by":"crossref","first-page":"259","DOI":"10.1002\/(SICI)1097-024X(200003)30:3<259::AID-SPE298>3.0.CO;2-Y","article-title":"Efficient annotated terms","volume":"30","author":"van den Brand","year":"2000","journal-title":"Software Practice and Experience"},{"key":"10.1016\/j.scico.2006.04.010_b15","unstructured":"I. 14882, Programming languages \u2014 C++, International Standard"},{"key":"10.1016\/j.scico.2006.04.010_b16","unstructured":"I. 9899, Programming languages \u2014 C, International Standard"},{"key":"10.1016\/j.scico.2006.04.010_b17","series-title":"Compiler Construction","first-page":"365","article-title":"The ASF+SDF meta-environment: A component-based language development environment","volume":"vol. 2027","author":"Brand","year":"2001"},{"key":"10.1016\/j.scico.2006.04.010_b18","doi-asserted-by":"crossref","unstructured":"A. Cox, C. Clarke, Relocating XML elements from preprocessed to unprocessed code, in: Proceedings of 10th International Workshop on Program Comprehension, 2002, pp. 229\u2013238","DOI":"10.1109\/WPC.2002.1021344"}],"container-title":["Science of Computer Programming"],"original-title":[],"language":"en","link":[{"URL":"https:\/\/api.elsevier.com\/content\/article\/PII:S0167642307000718?httpAccept=text\/xml","content-type":"text\/xml","content-version":"vor","intended-application":"text-mining"},{"URL":"https:\/\/api.elsevier.com\/content\/article\/PII:S0167642307000718?httpAccept=text\/plain","content-type":"text\/plain","content-version":"vor","intended-application":"text-mining"}],"deposited":{"date-parts":[[2019,4,27]],"date-time":"2019-04-27T18:52:18Z","timestamp":1556391138000},"score":1,"resource":{"primary":{"URL":"https:\/\/linkinghub.elsevier.com\/retrieve\/pii\/S0167642307000718"}},"subtitle":[],"short-title":[],"issued":{"date-parts":[[2007,9]]},"references-count":18,"journal-issue":{"issue":"2","published-print":{"date-parts":[[2007,9]]}},"alternative-id":["S0167642307000718"],"URL":"https:\/\/doi.org\/10.1016\/j.scico.2006.04.010","relation":{},"ISSN":["0167-6423"],"issn-type":[{"value":"0167-6423","type":"print"}],"subject":[],"published":{"date-parts":[[2007,9]]}}}