【文件属性】:
文件名称:c++简单词法分析(编译原理)
文件大小:4KB
文件格式:CPP
更新时间:2012-06-14 13:42:41
词法分析
#include
#include
#include
#include
using namespace std;
char * isnumber(char * q );
char * iskeywords( char * q );
char * isvariable(char * q ) ;
char * isoperator(char * q ) ;
char * isdefinite(char * q );
int count=1;
int bj=0;
int main()
{
char file[1000],*q;
char filename[20];
int i;
for(i=0;i<1000;i++)
file[i]='\0';
//读取文件
cout<<"请输入源文件名(包括路径和后缀名):";
cin>>filename;
ifstream infile(filename,ios::in);
if (!infile)
{
cout<<"无法打开文件 !!!"<='A'&&*q<='Z'||*q>='a'&&*q<='z')
{
q=iskeywords( q );
if(bj) continue;
q=isvariable(q);
continue;
}
if(*q>='0'&&*q<='9')
{
q=isnumber(q);
continue;
}
if(*q=='\n') { q++; continue;} //如果是空格跳过
q=isoperator(q);
if(bj) continue; //判断是否是运算符
q=isdefinite(q);
if(bj) continue;
cout<<" 字符 "<<*q<<" 不是正确单词 "<