📄 main.cpp
字号:
#include "stdafx.h"
#include "FenXi.h"
#include <stdio.h>
void main()
{
CStdioFile sf;
CString temp,strOut;
CFenXi m_fenxi;
if(sf.Open("Test.txt",CFile::modeRead))
{
while(sf.ReadString(temp))
{
strOut+=temp;
strOut+="\r\n";
}
//m_pEditSrc->SetWindowText(strOut);
//printf("%s",strOut);
sf.Close();
}
//char buf[10000];
//int sz=m_pEditSrc->GetWindowText(buf,10000); //获得源代码
CString str, strTemp;
::strcpy(m_fenxi.m_str,strOut);
m_fenxi.CiFaFenXi(); //进行词法分析
CIFA * * p=m_fenxi.m_cifa;
int s=0;
int a=p[s]->nType;
while ((p[s]->nType)>=0)
s++;
char (*ep)[100];
ep=m_fenxi.m_szErrMsg;
int ErrorCount=0;
str.Format("\r\n\t\t词法分析结果\r\n\r\n\r\n输出格式:二元式序列(类型,值)单词\r\n\r\n");
for (int i=0;i<s;i++)
{
if (p[i]->nType>0)
{
strTemp.Format("(%d,%d)\t%s\r\n",p[i]->nType,p[i]->nValue,p[i]->szText);
str+=strTemp;
}
else
{
ErrorCount++;
if (p[i]->nValue==2 && (p[i]->szText[0]>126 || p[i]->szText[0]<32))
{
strTemp.Format("错误号:%d %s 【 无法显示该字符! 】\r\n", p[i]->nValue,ep[p[i]->nValue]);
str+=strTemp;
}
else
{
strTemp.Format("错误号:%d %s 【 %s 】\r\n",p[i]->nValue,ep[p[i]->nValue],p[i]->szText);
str+=strTemp;
}
}
}
strTemp.Format("\r\n 发现 %d 个错误!\r\n",ErrorCount);
str+=strTemp;
printf("%s",str);
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -