亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來(lái)到蟲(chóng)蟲(chóng)下載站! | ?? 資源下載 ?? 資源專(zhuān)輯 ?? 關(guān)于我們
? 蟲(chóng)蟲(chóng)下載站

?? main.cpp

?? 詞法、語(yǔ)法分析程序。 絕對(duì)不是目前網(wǎng)絡(luò)上流行的任何一個(gè)版本
?? CPP
?? 第 1 頁(yè) / 共 2 頁(yè)
字號(hào):
//規(guī)定一行可以書(shū)寫(xiě)多條語(yǔ)句,一個(gè)語(yǔ)句也可以占領(lǐng)多行書(shū)寫(xiě)

#include <stdio.h>
#include <ctype.h>
#include <string.h>
#include <process.h>

#include <fstream.h>
#include <iostream.h>

#include "my_define.h"
#include "my_globals.h"
#include "my_judge.h"
#include "my_subfunc.h"
#include "my_subfunc2.h"
//////////////////////////////////////////////////////////////////////////////

//下表為語(yǔ)法分析遞歸程序的層次結(jié)構(gòu):

void program();//程序
   void proghead();//程序首部
      //保留字PROGRAM
      //變量名(標(biāo)識(shí)符)
      //保留字;
   void block();//程序塊
      void consexpl();//常量說(shuō)明部分
	     //保留字CONST
         void consdefi();//常量定義
		    //變量名(標(biāo)識(shí)符)
		    //保留字=
            //常量
         void conssuff();//常量定義后綴
            //保留字,
		    void consdefi();//常量定義
            void conssuff();//常量定義后綴
			//保留字;
      void varexpl();//變量說(shuō)明部分
	     //保留字VAR
         void vardefi();//變量定義部分
		    //變量名(標(biāo)識(shí)符) 
		    void idsuff();//標(biāo)識(shí)符后綴
            //保留字:
            void typeil();//類(lèi)型
            //保留字;
         void varsuff();//變量定義后綴部分(由"變量定義部分"和"變量定義后綴部分"構(gòu)成,或?yàn)榭?
		    void vardefi();//變量定義部分
            void varsuff();//變量定義后綴部分
      void procdefi();//過(guò)程說(shuō)明部分
         void procedh();//過(guò)程首部
		    //保留字PROCEDURE
		    //變量名(標(biāo)識(shí)符) 
		    void argument();//參數(shù)部分
            //保留字;
         void block();//程序塊
         //保留字;
         void procsuff();//過(guò)程后綴
		    void procedh();//過(guò)程首部
            void block();//程序塊
            //保留字;
            void procsuff();//過(guò)程后綴
      void compsent();
	     //保留字BEGIN
         void sentence();//語(yǔ)句
		    //或賦值結(jié)構(gòu)
		    void assipro();
		       //變量名(標(biāo)識(shí)符) 
			   void suffix();//賦值后綴,分直接賦值和調(diào)用過(guò)程賦值兩種
			      //或者保留字:=
			           void express();//表達(dá)式 
					      //保留字ADD或SUB(正負(fù)號(hào))
                          void term();//項(xiàng)
			                 void factor();//因子
                             void factsuff();//因子后綴
                          void termsuff();//項(xiàng)后綴
			                 //保留字ADD或SUB(加型運(yùn)算符)
			                 void factor();//因子
                             void factsuff();//因子后綴
                  //或者保留字(
                       void express();//表達(dá)式 
                       //保留字)
		    //或if結(jié)構(gòu)
            void ifsent();
		       //保留字IF
		       void conditio();//條件分兩種情況:ODD作用在表達(dá)式上,或者兩個(gè)表達(dá)式進(jìn)行比較
			      //或者
			      //保留字
			      void express();//表達(dá)式 
				  //或者
                  void express();//表達(dá)式 
				  void respoper();//6種比較運(yùn)算符
			   //保留字THEN
               void sentence();//語(yǔ)句
		    //或while結(jié)構(gòu)
            void whilsent();
		       //保留字WHILE
			   void conditio();//條件
               //保留字DO
               void sentence();//語(yǔ)句
		    //或Read()
            void read();
		       //保留字READ
			   //保留字(
               //變量名(標(biāo)識(shí)符) 
               void idsuff();//標(biāo)識(shí)符后綴
               //保留字)
		    //或Write()
            void write();
		       //保留字WRITE
			   //保留字(
               void express();//表達(dá)式
               void exprsuff();//表達(dá)式后綴
			      //保留字,
			      void express();//表達(dá)式
                  void exprsuff();//表達(dá)式后綴
               //保留字)
		    //或復(fù)合語(yǔ)句
			void compsent();
         void sentsuff();//語(yǔ)句后綴
		    //保留字;
		    void sentence();//語(yǔ)句
            void sentsuff();//語(yǔ)句后綴
         //保留字END
   //標(biāo)識(shí)符.
 
/////////////////////////////////////////////////////////////////////////////



void main()
{
//詞法分析部分:
//////////////////////////////////////////////////////////////////////
    cout<<"詞法分析開(kāi)始!!"<<endl;
	if((f1=fopen("input.txt","r"))==NULL)
	{
		cout<<"不能打開(kāi)輸入文件!"<<endl;
	    exit(0);
	}
	cout<<"輸入文件為"<<"input.txt"<<endl;
	if((f2=fopen("output.txt","w"))==NULL)
	{
		cout<<"不能打開(kāi)輸出文件!"<<endl;
	    exit(0);
	}
    cout<<"輸出文件為"<<"output.txt"<<endl;
	ofstream onfile;
    onfile.open("output.txt");
    while(fgets(buff,80,f1)!=NULL)
    {
      I=0;
      while(I<=strlen(buff)-2)
	  {
        Get_A_Word(onfile);
	  }
	}
    fclose(f1); fclose(f2);
    onfile.close();
    cout<<"詞法分析完畢!!"<<endl;
//////////////////////////////////////////////////////////////////////
//
//語(yǔ)法分析部分:
//////////////////////////////////////////////////////////////////////
	cout<<endl;
    cout<<"語(yǔ)法分析開(kāi)始!!"<<endl;
//	ifstream infile("output.txt",ios::in|ios::nocreate);
	if (!infile)
	{
	  cout<<"不能打開(kāi)輸入文件:\n";
	  exit(1);
	}
    cout<<"輸入文件為"<<"output.txt"<<endl;
	if((f2=fopen("output2.txt","w"))==NULL)
	{
		cout<<"不能打開(kāi)輸出文件!"<<endl;
	    exit(0);
	}
    cout<<"輸出文件為"<<"output2.txt"<<endl;
    onfile.open("output2.txt");
/**/infile>>Code;
/**/infile>>buff;cout<<buff<<endl;
/**/program();
/**/cout<<"該程序語(yǔ)法正確!"<<endl;
    infile.close();
	fclose(f2);
    onfile.close();
}

///////////////////////////////////////////////////////////

/////////////////////////////////////
//程序構(gòu)成:
//   程序首部+程序塊+.
//  
void program()//程序
{
  proghead();
  block();
  if(Code==DOT)
  { 
	infile>>Code;
    infile>>buff;cout<<buff<<endl; 
  }
  else { error(2); }
};
//////

/////////////////////////////////////
//程序塊構(gòu)成:
//   常量說(shuō)明部分
//   變量說(shuō)明部分
//   過(guò)程說(shuō)明部分
//   語(yǔ)句部分
//
void block()//程序塊
{ 
  consexpl();//常量說(shuō)明部分
  varexpl();//變量說(shuō)明部分
  procdefi();//過(guò)程說(shuō)明部分
  compsent();//語(yǔ)句部分
};
//////

/////////////////////////////////////
//程序首部舉例:
//   program testexample;
//
void proghead()//程序首部
{
 if(Code==PROGRAM)
 {
   infile>>Code;
   infile>>buff;cout<<buff<<endl; 
   if(Code>=BEGIN_OF_V+1&&Code<=BEGIN_OF_V+MAX_NUM_OF_V)
   //此范圍為變量名(標(biāo)識(shí)符)的內(nèi)碼范圍
   {
     infile>>Code;
     infile>>buff;cout<<buff<<endl; 
	 if(Code==SEM)
	 {
	   infile>>Code;
       infile>>buff;cout<<buff<<endl; 
	 }
	 else
	   error(5);
   }
   else
     error(4);
 }
 else
   error(3);
};
//////

/////////////////////////////////////
//常量說(shuō)明部分構(gòu)成:
//   CONST + <常量定義> + <常量定義后綴> + ;
//   格式舉例:const  num=20, times=10, hd=0;
void consexpl()
{
  if(Code==CONST)
  {
    infile>>Code;
    infile>>buff;cout<<buff<<endl;
	consdefi();
	conssuff();
	if(Code==SEM)
	{
	  infile>>Code;
      infile>>buff;cout<<buff<<endl;
	}
	else
	{ error(6); }
  }
};
//////

/////////////////////////////////////
// <常量定義> 格式:
//  <標(biāo)識(shí)符> = 數(shù)
void consdefi()
{
  if(Code>=BEGIN_OF_V+1&&Code<=BEGIN_OF_V+MAX_NUM_OF_V)
  //此范圍為變量名(標(biāo)識(shí)符)的內(nèi)碼范圍
  {
    infile>>Code;
    infile>>buff;cout<<buff<<endl;
	if(Code==EQU)
	{
	  infile>>Code;
      infile>>buff;cout<<buff<<endl;
	  if(Code>=BEGIN_OF_C+1&&Code<=BEGIN_OF_C+MAX_NUM_OF_C)
      //此范圍為常量的內(nèi)碼范圍
	  {
	    infile>>Code;
        infile>>buff;cout<<buff<<endl;
	  }
	  else
	   error(9);
	}
	else
	 error(8);
  }
  else
   error(7);
}
/////////////////////////////////////
void conssuff()
{
  if(Code==COM)
  {
    infile>>Code;
    infile>>buff;cout<<buff<<endl;
	consdefi();
	conssuff();
  }
  //當(dāng)Code!=COM時(shí), void conssuff()不執(zhí)行, 
  //此時(shí)只定義了一個(gè)常量
}
/////////////////////////////////////
void varexpl()
{
  if(Code==VAR)
  {
    infile>>Code;
    infile>>buff;cout<<buff<<endl;
	vardefi();
	varsuff();
  }
}
/////////////////////////////////////
void vardefi()
{
 if(Code>=BEGIN_OF_V+1&&Code<=BEGIN_OF_V+MAX_NUM_OF_V)
 //此范圍為變量名(標(biāo)識(shí)符)的內(nèi)碼范圍
 {
   infile>>Code;
   infile>>buff;cout<<buff<<endl;
   idsuff();
   if(Code==COL)
   {
     infile>>Code;
     infile>>buff;cout<<buff<<endl;
	 typeil();
	 if(Code==SEM)
	 {
	   infile>>Code;
       infile>>buff;cout<<buff<<endl;
	 }
	 else
		 error(12);
   }
   else
	   error(11);
 }
}
/////////////////////////////////////
void varsuff()
{
  if(Code>=BEGIN_OF_V+1&&Code<=BEGIN_OF_V+MAX_NUM_OF_V)
  //此范圍為變量名(標(biāo)識(shí)符)的內(nèi)碼范圍
  {
    vardefi();
	varsuff();
  }
}
/////////////////////////////////////
void typeil()
{
  if(Code==INTEGER||Code==LONG)
  {
    infile>>Code;
    infile>>buff;cout<<buff<<endl; 
  }
  else
  error(13);
}
/////////////////////////////////////
void procdefi()
{
  if(Code==PROCEDURE)
  {
    procedh();
	block();
	if(Code==SEM)
	{
	  infile>>Code;
      infile>>buff;cout<<buff<<endl;  
	  procsuff();
	}
	else
	  error(14);
  }
}
/////////////////////////////////////
void procedh()
{
  if(Code==PROCEDURE)
  {
	infile>>Code;
    infile>>buff;cout<<buff<<endl;  
	if(Code>=BEGIN_OF_V+1&&Code<=BEGIN_OF_V+MAX_NUM_OF_V)
    //此范圍為變量名(標(biāo)識(shí)符)的內(nèi)碼范圍
	{
	  infile>>Code;

?? 快捷鍵說(shuō)明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
一本久久a久久免费精品不卡| 亚洲综合精品自拍| 国产精品久久国产精麻豆99网站 | 欧美一区二区在线播放| 欧美欧美欧美欧美| 欧美大片一区二区| 国产午夜精品一区二区三区视频 | 亚洲午夜精品久久久久久久久| 一区二区三区在线看| 视频一区视频二区中文字幕| 久久99这里只有精品| 国产麻豆精品theporn| av电影天堂一区二区在线| 欧美最猛性xxxxx直播| 欧美视频完全免费看| 欧美一卡二卡在线观看| 国产丝袜在线精品| 一区二区三区高清不卡| 日韩电影在线免费| 国产白丝网站精品污在线入口| 色婷婷综合久色| 日韩欧美国产系列| 亚洲国产高清在线| 亚洲超碰97人人做人人爱| 黄色日韩网站视频| 色综合视频在线观看| 69堂国产成人免费视频| 欧美一二三区精品| 国产精品久久夜| 天堂午夜影视日韩欧美一区二区| 久久99国产乱子伦精品免费| 国产高清久久久久| 在线精品视频免费播放| 欧美变态tickling挠脚心| 亚洲图片欧美激情| 久久av中文字幕片| 色婷婷综合久久| 欧美一区二区视频观看视频| 国产精品传媒入口麻豆| 久久99国内精品| 欧美日韩在线免费视频| 国产精品视频一区二区三区不卡| 亚洲第一搞黄网站| av网站免费线看精品| 欧美一区2区视频在线观看| 亚洲日本在线天堂| 狠狠v欧美v日韩v亚洲ⅴ| 欧美丝袜第三区| 亚洲国产精品黑人久久久| 青青草视频一区| 91蜜桃在线免费视频| 亚洲精品一区二区三区在线观看| 最新国产成人在线观看| 天天综合网 天天综合色| 国产成人超碰人人澡人人澡| 欧美精品久久久久久久多人混战 | 日韩网站在线看片你懂的| 亚洲日本一区二区三区| 国产永久精品大片wwwapp| 欧美日韩国产大片| 尤物在线观看一区| 成人在线一区二区三区| 欧美日韩视频不卡| 亚洲欧美激情小说另类| 国产91富婆露脸刺激对白| 精品日韩在线观看| 亚洲一区二区三区在线| 大胆亚洲人体视频| 精品久久久久一区二区国产| 亚洲精品一二三| 成人免费高清在线| 久久久高清一区二区三区| 亚洲成av人片在线| 91亚洲永久精品| 亚洲国产精品激情在线观看| 国产在线精品一区二区夜色| 91精品婷婷国产综合久久竹菊| 亚洲成人综合网站| 99精品热视频| 亚洲色图一区二区三区| 99精品欧美一区| 中文字幕制服丝袜成人av| 国产福利视频一区二区三区| 有坂深雪av一区二区精品| 色综合天天综合在线视频| 国产精品超碰97尤物18| 99久久精品国产网站| 亚洲人xxxx| 在线观看日韩一区| 亚洲第一成人在线| 欧美日韩激情一区二区| 日本伊人色综合网| 欧美一区二区三区四区视频| 日日夜夜精品视频天天综合网| 欧美三级乱人伦电影| 亚洲成人资源在线| 欧美美女一区二区在线观看| 亚洲电影在线免费观看| 日本高清不卡视频| 亚洲h在线观看| 91精品国产综合久久婷婷香蕉 | 久久99精品久久久久久国产越南| 精品福利av导航| 国产麻豆精品久久一二三| 日本一区二区免费在线| 大胆亚洲人体视频| 亚洲免费观看高清完整版在线观看| 日本精品一级二级| 午夜精品久久久久久久久久久| 欧美精品三级日韩久久| 久久av资源网| 国产精品毛片久久久久久久| 色婷婷av一区二区三区软件| 亚洲国产综合色| 精品久久久久香蕉网| 国产白丝精品91爽爽久久| 亚洲欧美激情视频在线观看一区二区三区| 91亚洲精品乱码久久久久久蜜桃 | 日本精品视频一区二区三区| 亚洲国产成人av网| 91精品国模一区二区三区| 久久精品国产77777蜜臀| 国产亚洲午夜高清国产拍精品 | 欧美激情中文字幕| 99久久精品久久久久久清纯| 日本免费新一区视频| 久久免费看少妇高潮| 不卡在线观看av| 亚洲午夜免费电影| 欧美国产精品v| 欧美久久婷婷综合色| 成人黄色综合网站| 五月激情丁香一区二区三区| 国产精品视频看| 日韩你懂的电影在线观看| 日本久久电影网| 国产成人精品一区二区三区四区 | 91日韩精品一区| 激情六月婷婷久久| 亚洲电影第三页| 中文字幕一区二区三区精华液 | 国内精品第一页| 亚洲成人av电影在线| 中文字幕日韩欧美一区二区三区| 日韩片之四级片| 欧洲国产伦久久久久久久| 国产成人免费在线视频| 五月婷婷综合网| 亚洲视频一区在线| 久久午夜色播影院免费高清| 欧美伦理视频网站| 91美女蜜桃在线| 国产999精品久久| 另类小说综合欧美亚洲| 一区二区国产视频| 国产精品麻豆99久久久久久| 精品国产精品一区二区夜夜嗨| 欧美男同性恋视频网站| 91高清在线观看| av不卡在线播放| 久久精品一二三| 欧美大尺度电影在线| 欧美老肥妇做.爰bbww视频| 91麻豆文化传媒在线观看| 国产精品一区2区| 久久99日本精品| 免费观看成人鲁鲁鲁鲁鲁视频| 亚洲国产精品人人做人人爽| 亚洲综合色成人| 亚洲日本一区二区| 亚洲色图丝袜美腿| 日韩毛片精品高清免费| 亚洲欧美综合在线精品| 欧美激情一区二区三区四区| 久久久精品2019中文字幕之3| 精品国产乱码久久久久久免费 | 国产裸体歌舞团一区二区| 久久疯狂做爰流白浆xx| 麻豆国产91在线播放| 蜜桃av一区二区| 麻豆成人久久精品二区三区红 | 国产天堂亚洲国产碰碰| 精品电影一区二区| 欧美精品一区二区高清在线观看 | 粉嫩13p一区二区三区| 国产精品一线二线三线| 国产精品主播直播| 国产成人av网站| 成人app网站| 日本福利一区二区| 欧美日韩另类一区| 欧美一级精品在线| 久久综合九色综合欧美亚洲| 久久精品一区二区| 中文字幕在线观看一区二区| 成人免费在线视频| 亚洲综合图片区| 免费观看在线综合| 国产不卡视频在线播放| 91丨porny丨户外露出|