R. Ferenc, S. Sim, R. Holt, R. Koschke, T. Gyimóthy
{"title":"Towards a standard schema for C/C++","authors":"R. Ferenc, S. Sim, R. Holt, R. Koschke, T. Gyimóthy","doi":"10.1109/WCRE.2001.957809","DOIUrl":null,"url":null,"abstract":"Developing a standard schema at the abstract syntax tree (AST) level for C/C++ to be used by reverse engineering and reengineering tools is a complex and difficult problem. In this paper we present a catalogue of issues that need to be considered in order to design a solution. Three categories of issues are discussed. Lexical structure is the first category and pertains to characteristics of the source code, such as spaces and comments. The second category, syntax, includes both the mundane and hard problems in the C++ programming language. The final category is semantics and covers aspects such as naming and reference resolution. Example solutions to these challenges are provided from the Datrix schema from Bell Canada and the Columbus schema from University of Szeged. The paper concludes with a discussion of lessons learnt and plans for future work on a C/C++AST standard schema.","PeriodicalId":150878,"journal":{"name":"Proceedings Eighth Working Conference on Reverse Engineering","volume":"20 5 1","pages":"0"},"PeriodicalIF":0.0000,"publicationDate":"2001-10-02","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"57","resultStr":null,"platform":"Semanticscholar","paperid":null,"PeriodicalName":"Proceedings Eighth Working Conference on Reverse Engineering","FirstCategoryId":"1085","ListUrlMain":"https://doi.org/10.1109/WCRE.2001.957809","RegionNum":0,"RegionCategory":null,"ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"","JCRName":"","Score":null,"Total":0}
引用次数: 57
Abstract
Developing a standard schema at the abstract syntax tree (AST) level for C/C++ to be used by reverse engineering and reengineering tools is a complex and difficult problem. In this paper we present a catalogue of issues that need to be considered in order to design a solution. Three categories of issues are discussed. Lexical structure is the first category and pertains to characteristics of the source code, such as spaces and comments. The second category, syntax, includes both the mundane and hard problems in the C++ programming language. The final category is semantics and covers aspects such as naming and reference resolution. Example solutions to these challenges are provided from the Datrix schema from Bell Canada and the Columbus schema from University of Szeged. The paper concludes with a discussion of lessons learnt and plans for future work on a C/C++AST standard schema.
在抽象语法树(AST)级别为C/ c++开发一个标准模式,供逆向工程和再工程工具使用是一个复杂而困难的问题。在本文中,我们提出了一个需要考虑的问题目录,以便设计一个解决方案。讨论了三类问题。词法结构是第一类,它与源代码的特征有关,比如空格和注释。第二类,语法,包括c++编程语言中常见和困难的问题。最后一类是语义,涵盖了命名和引用解析等方面。针对这些挑战的示例解决方案来自加拿大贝尔公司的Datrix模式和塞格德大学的Columbus模式。本文最后讨论了经验教训,并对C/ c++ AST标准模式的未来工作进行了规划。