The paper addresses the problem of parsing a C++ software system that is known to compile correctly, but for which some header files are unavailable. A C++ program file typically depends on numerous included header files from the same system, a third party library, or the operating system standard libraries. It is not possible with a conventional parser to analyze C++ source code without obtaining the complete environment where the program is to be compiled. The paper studies the parsing ambiguities resulting from missing header files and proposes a special parser which uses additional rules and type inference in order to determine the missing declarations. This new parser has achieved 100% accuracy on a large system with numerous missing header files.
展开▼
机译:该文件解决了解析已知正确编译的C ++软件系统的问题,但是某些头文件不可用。 C ++程序文件通常取决于来自同一系统,第三方库或操作系统标准库的众多包含的头文件。传统的解析器无法分析C ++源代码,而无需获取要编译程序的完整环境。本文研究了来自缺失的标题文件产生的解析歧义,并提出了一个使用其他规则和类型推断的特殊解析器,以确定丢失的声明。这个新的解析器在具有众多缺失的头文件的大型系统上实现了100%的准确性。
展开▼