【发布时间】:2010-07-14 13:21:10
【问题描述】:
我正在尝试学习解析器,用于 Python、C 和 C++ 源代码(我自己的,而不是学校项目)。这是我想做的总结: 1) 在 Python 中读取 .c/.cpp/.py 源文件 2) 获取源文件中所有函数的列表,以及它们在行号方面的定义范围。
为了说明我的问题,请考虑文件“helloWorld.cpp”中的以下代码(在 python 中阅读):
//start
#include <iostream>
#include <string>
using namespace std;
int main(int argc, char** argv)
{
string str = "Hello World";
cout << str << endl;
return 0;
}
//end
我想要得到的是一些东西: 功能列表: int main(int argc, char** argv) 开始:第 7 行 结束:第 12 行
关于如何实现这一点的任何想法(一些代码示例将不胜感激)?
【问题讨论】:
-
见【有没有可以解析C++的好Python库? ](stackoverflow.com/questions/1444961/…) 和 [ Python - 解析 .py 文件,读取 AST,修改它,然后写回修改后的源代码 ](stackoverflow.com/questions/768634/…)。