main.cpp

来自「简单的有穷自动机词法分析」· C++ 代码 · 共 66 行

CPP
66
字号
#include  <string.h>
//#include  "Classes.h"
#include  "Parsing.h"
void main()
{
	CWordAnalyzing wordAnalyzing;
	char arr[] = "     a= e + 1.0 ; \ne=(1.1+2.1);a=e*e+1.0;";
	wordAnalyzing.Create(arr,strlen(arr)+1);
	
	if(wordAnalyzing.WordAnalyzing())
	{
		SResultNode * pWord;
		int           nLength;
		wordAnalyzing.GetWords(&pWord,nLength);
		CParsing      parsing;
		parsing.Create(pWord,nLength);
		parsing.display();
		parsing.ProgramAnalyzing();
		//wordAnalyzing.DisPlayResult();
		//cout<<pWord[0].m_iCode<<endl;
		/*for(int i=0;i<nLength;i++)
		{
			cout<<pWord[i].m_iCode<<"    ";
			for(int j=0;j<pWord[i].m_nWord;j++)
			{
				cout<<pWord[i].m_pWord[j];
			}
		
			cout<<endl;
		}*/
	}
	//wordAnalyzing.DisPlayResult();

	/*SStackNode arrNode[10];
	for(int i=0;i<10;i++)
	{
		arrNode[i].fWorth = 0.0f;
		arrNode[i].iCode  = i;
		arrNode[i].iStackID = i;
	}

	CStack stack;
	stack.Create(10);
	for(i=0;i<10;i++)
	{
		if(!stack.IsFull())
		{
			stack.Push(arrNode[i]);
		}
		else 
			cout<<"full!"<<endl;
	}
	SStackNode node;
	for(i=0;i<10;i++)
	{
		if(!stack.IsEmpty())
		{
			stack.GetTop(node);
			cout<<node.fWorth<<" "<<node.iCode<<" "<<node.iStackID<<endl;
			stack.Popup();
		}
		else 
			cout<<"empty!"<<endl;
		
	}*/
}	

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?