⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 main.cpp

📁 此应用程序是控制台应用程序
💻 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 + -