C++实现词法分析
#include
#include
#include
#include
#define RWD 8
#define OPEAR 11
#define SEPAR 6
using namespace std;
//构建符号表
string Rword[RWD] = {"if","int","for","while","do","return","break","continue"};
string Opear[OPEAR] = {"+","-","*","/","=",">","="," ...
#include
#include
#include
#include
#define RWD 8
#define OPEAR 11
#define SEPAR 6
using namespace std;
//构建符号
表
关于同志近三年现实表现材料材料类招标技术评分表图表与交易pdf视力表打印pdf用图表说话 pdf
string Rword[RWD] = {"if","int","for","while","do","return","break","continue"};
string Opear[OPEAR] = {"+","-","*","/","=",">","<",">=","<=","!=","=="};
string Separ[SEPAR] = {",",";","{","}","(",")"};
void main()
{
vector input;
vector::iterator iter;
/*将源代码中的单词从文件中读出按成分存放在input中*/
ifstream myf;
string str = "";
myf.open("1.txt");
if(myf.fail())
{
cout<<"error!"<' || ch=='<' || ch=='=')//判断是否为运算符
{
if(str != "")
{
input.push_back(str);
str = "";
}
str = ch;
ch=myf.get();
if(ch == '=')
{
str += ch;
input.push_back(str);
ch=myf.get();
str = "";
}
else
{
input.push_back(str);
}
}
else if(ch=='+' || ch=='-' || ch=='*' || ch=='/')
{
if(str != "")
{
input.push_back(str);
str = "";
}
str += ch;
input.push_back(str);
ch=myf.get();
str = "";
}
else
{
str += ch;
ch=myf.get();
}
}
myf.close();
/*读文件结束*/
/*进行词法分析,并输出*/
for(iter = input.begin();iter != input.end();iter++)
{
int sign = 0;
for(int i=0;i'0' && (*iter)[0]<='9')
cout<<"(3,\""<<*iter<<"\")"<
本文档为【C++实现词法分析】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑,
图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
该文档来自用户分享,如有侵权行为请发邮件ishare@vip.sina.com联系网站客服,我们会及时删除。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。
本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。
网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。