高手帮帮忙,

来源:百度知道 编辑:UC知道 时间:2024/07/04 07:57:33
要写一个程序 ,打个一个文档(假设为c:\test.txt),这个文档中存有随便一个C++程序。我需要做的是写一个程序对test文档中的程序进行插桩(设用数组FLAG[]),插桩规则是: 读入test 文档中的程序,在 if else , while case 这样的会产生分支的语句前插入FLAG[],其中main前要先做一个插桩

最近太忙了,不过我想这个程序对你可能有用,改一改就行。
这是一个词法分析器程序,同样是文档中随便一个C/C++程序,读取这个程序,然后分析程序里面的关健字,保留字,运算符等等,进行归类。
稍微改一下就行。
#include <iostream>
#include <vector>
#include <utility>
#include <string>
#include <fstream>
#include <algorithm>
#include <cstdlib>
using namespace std;

//用来存储目标文件名
string file_name;

//提取文本文件中的信息。
string GetText();

//获得一个单词符号,从位置i开始查找。
//并且有一个引用参数j,用来返回这个单词最后一个字符在str的位置。
string GetWord(string str,int i,int& j);

//这个函数用来除去字符串中连续的空格和换行
//第一个参数为目标字符串,第二个参数为开始位置
//返回值为连续的空格和换行后的第一个有效字符在字符串的位置
int DeleteNull(string str,int i);

//判断i当前所指的字符是否为一个分界符,是的话返回真,反之假
bool IsBoundary(string str,int i);

//判断i当前所指的字符是否为一个运算符