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

📄 main.cpp

📁 实现编译器的词法分析
💻 CPP
字号:
#include "Global.h"
#include "Symbol.h"
#include "Lexical.h"
#include "Parser.h"
	
int main()
{   

    
    Parser ParserInc;
    std::ifstream  inputfile;
	inputfile.open("text.txt");
	 Lexical LexicalInc(&inputfile);
	 

	
	while(LexicalInc.eof==0)
	{
	
	 switch(LexicalInc.nexttoken())
	  {
	  case ID :  std::cout<<"<ID,"<< LexicalInc.Symtable[ LexicalInc.value-1].lexptr<<">"<<std::endl; break;
	  case NUMBER : std::cout<<"<NUMBER,"<< LexicalInc.Symtable[ LexicalInc.value-1].lexptr<<">"<<std::endl; break;
	  case RELOP : std::cout<<"<RELOP,"<< LexicalInc.value<<">"<<std::endl; break;
	  case ADD_OP:std::cout<<"<ADD_OP,"<< (char)LexicalInc.value<<">"<<std::endl; break;
	  case MULT_OP:std::cout<<"<MULT_OP,"<< (char)LexicalInc.value<<">"<<std::endl; break;
	  case ASSIGN_OP :std::cout<<"<ASSIGN_OP, >"<<std::endl; break;
	  case CONST: std::cout<<"<CONST, >"<<std::endl; break;
	  case VAR: std::cout<<"<VAR, >"<<std::endl; break;
	  case PROCEDURE: std::cout<<"<PROCEDURE, >"<<std::endl; break;
	  case CALL: std::cout<<"<CALL, >"<<std::endl; break;
	  case BEGIN: std::cout<<"<BEGIN, >"<<std::endl; break;
	  case END: std::cout<<"<END, >"<<std::endl; break;
	  case DO: std::cout<<"<DO, >"<<std::endl; break;
	  case WHILE: std::cout<<"<WHILE, >"<<std::endl; break;
	  case IF: std::cout<<"<IF, >"<<std::endl; break;
	  case THEN: std::cout<<"<THEN, >"<<std::endl; break;
	  case ODD: std::cout<<"<ODD, >"<<std::endl; break;
	  case DECLAER: std::cout<<"<DECLAER, >"<<std::endl; break;
	  case PROEND : std::cout<<"<PROEND, >"<<std::endl; break;




	  }


	}
	return 0;
}

⌨️ 快捷键说明

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