📄 cmain.cpp
字号:
//CMain.cpp
#include <iostream.h>
#include <fstream.h>
#include <stdlib.h>
#include <stdio.h>
#include "CFenCi.h"
void main()
{
FILE* fin = fopen("pascal.txt","r");//导入文件用的变量
FILE* fout= fopen("cifafenxi.txt","w");//导出文件用的变量
//ofstream out("cifafenxi.txt");
CFenXi fenxi;
bool bFlagCiFa=true;
bool bFlagYuFa=true;
for(int i=0; i<20000; i++)
{
char ch;
if(i>1998)
break;
fscanf(fin,"%c",&ch);
fenxi.m_str[i]=ch;
if(ch=='#')
break;
}
fclose(fin);
cout<<"按任意键开始词法分析"<<endl;
system("pause");
bFlagCiFa=fenxi.CiFaFenXi();
for(i=0; i<fenxi.nLength;i++ )
{
fprintf(fout,"%d%20s%15s\n",(fenxi.m_cifa[i])->nLineNo+1,(fenxi.m_cifa[i])->szDesc,(fenxi.m_cifa[i])->szText);//常数
}
fclose(fout);
system("cls");
cout<<"词法分析结束,"<<endl;
cout<<"现在可以查看词法分析结果,按下任意键盘开始语法分析"<<endl;
system("pause");
cout<<"**********************************************************"<<endl;
cout<<endl<<endl;
system("cls");
if(!bFlagCiFa)
cout<<"词法分析有错,不进行语法分析"<<endl;
else
{
bFlagYuFa=fenxi.YuFaFenXi();
if(!bFlagYuFa)
{
cout<<"语法分析出错:";
fenxi.ShowCurrentError();
}
else
cout<<"语法分析正确"<<endl;
}
system("pause");
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -