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

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? 詞法分析程序.txt

?? 我也不知道好不好的
?? TXT
字號:
這是編譯課程設計時做的一個小小的語法分析程序,程序有些冗余.實現的功能還不全,只能通過輸入文法的分析表才能給出分析過程.對于求任意文法的first集和follow集還沒實現.

/*
 * 文件名稱: 語法分析.h
 * 摘    要: 對任意輸入LL(1)文法的分析表及字符串,本程序能自動判斷所給字符串是
 *           否為該文法的句子,并能給出分析過程。
*/
#include
#include
#include
#include"ctype.h"
class string;
class stack
{
 char stck[100];
 int  top;
public:
 void init()
 {top=0;}
 void push(char ch);
 char pop();
    void showstck();                                  //顯示棧中元素
};
class string{
 int length;
 char *ptr;
public: 
 string();
 ~string()
 { }
 string(char *s);
 int getlength();
    int getlength(char *s);
    char &operator[](int);
    string &operator=(const string &ob);
    bool operator== (const string& pw);
    friend ostream& operator<<(ostream&,const string&);
 friend istream& operator>>(istream&,string&);
};
void stack::push(char ch)                               //入棧
{ 
 stck[top]=ch;
 top++;
}
char stack::pop()
{   
 if(top==0)
 {
   cout<<"stack is empty!";
   return 0;
 }
 top--;
 return stck[top];
}
void stack::showstck()
{
 int i;
 for(i=0;i cout<}
string::string()
{     length=1;
     ptr=new char[1];
     *ptr='\0';
}
string::string(char *s)
{   ptr=new char[getlength(s)+1];
     strcpy(ptr,s);
       length=getlength(s)+1;
}
int string::getlength()
{
 int len;
 len=getlength(ptr);
 return len;
}
int string::getlength(char *s)
{ int i=0;
  while(s[i]!='\0')
  {i++;
  }
  return i;
}
char &string::operator[](int j)
{
   return ptr[j];
} 
string &string::operator =(const string &ob)         //重載‘=’運算符
{if(this==&ob)
  return *this;
   delete ptr;
   ptr=new char[getlength(ob.ptr)+1];
   length=getlength(ob.ptr)+1;
  strcpy(ptr,ob.ptr);
   return *this;
}
bool string::operator== (const string &pw) 
{
 if(*ptr==*pw.ptr)
  return true;
 else
  return false;
} 
ostream& operator<<(ostream&s,const string&ob)
{
 s<    return s;
}
istream& operator>>(istream&in,string&ob)
{ 
 in>>ob.ptr ;
    return in; 
}
bool find(char c,char array[] )                     //查找函數,返回布爾值
{ 
 int i;
    bool flag=false;
 for(i=0;i<100;i++)
 {
  if(c==array[i])
   flag=true;
 }
 return flag;
}
int location(char c,char array[])                  //定位函數,指出字符所在位置
{
 int i;
 for(i=0;i<100;i++)
 {
  if(c==array[i])
   return i;
 }
}
void error()
{
   cout<<"                    出錯!"<}
void analyse(char Vn[],char Vt[],string M[100][100])
{
   int i,j,m,p,q,length,t,h;
   char w,X;
   string str;
opt0:
   cin>>str;
   for(i=0;i   {
    if(!find(str[i],Vt))
    {  cout<<"輸入字符串有誤!請重新輸入!"<    goto opt0;
    break;}
   }
   stack st;
   st.init();                       //初始化
   st.push('#');                                  
   st.push(Vn[0]);                  //#與識別符號入棧
   j=0;
   h=1;
   w=str[0];
   cout<<"步驟            "<<"分析棧                "<<"剩余輸入串           "<<" 所用產生式"<opt1:
   cout<    j++;
     w=str[j];
     goto opt1;
    }
    else 
     error();
 }
   else 
   {
    if(X=='#')
    {
         if(X==w)
   { 
    cout<<"                    "<<"接受!"<   }
       else
    error();
    }
       else  
    {
       p=location(X,Vn);
          q=location(w,Vt);
    string S("NULL");
         if(M[p][q]==S)                                             //查找二維數組中的產生式
          error();
          else
    {   
          string str0=M[p][q]; 
        cout<<"                  "<"<    if(str0=="$")
     goto opt1;
    else
    {length=str0.getlength();                                //逆序進棧
            for(m=length-1;m>=0;m--)
      {
           st.push(str0[m]);
      }
           goto opt1;
    }
            
    }
    }
   }
}
main()
{   
 int i,k,n,r;
    char Vn[100],Vt[100],select;
    string M[100][100];
    cout<<"* 文件名稱: 語法分析"<    cout<<"* 摘    要: 對任意輸入LL(1)文法的分析表及字符串,本程序能自動判斷所給字符串是"<    cout<<"*           否為該文法的句子,并能給出分析過程。"<    cout<<"*--------------------------------------------------------------------*"<    cout< opt2: 
 cout<<"請輸入非終結符個數:";
 cin>>n;
 cout<<"請輸入終結符(#號表示結束)Vt:";
 for(i=0;i<100;i++)
 {
  cin>>Vt[i];
  if(Vt[i]=='#')
  {
   r=i;
   break;
  }
 }
    for (i=0;i {
  cout<<"請輸入非終結符Vn["<  cin>>Vn[i];
        cout<<"請輸入此非終結符對應各終結符的產生式右部,$表示空串:"; 
  for(k=0;k<=r;k++)
  {
   cin>>M[i][k];
  }
 }
opt3:
    cout<<"請輸入要分析的字符串,且以#結束:";
    analyse(Vn, Vt, M);
    cout<<"             ************************請選擇***********************"<    cout<<"                                  1: 輸入字符串"                  <    cout<<"                                  2: 輸入新分析表"                <    cout<<"                                  0: 退  出"                      <opt4:
    cin>>select;
    switch(select)
 {
        case '1': {goto opt3;break;}
        case '2': {goto opt2;}
        case '0': {break;}
        default:  {cout<<"輸入錯誤!請重新選擇:"<             goto opt4;
          break;}
 }
    return 0;
}



?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产一区二区影院| 亚洲电影欧美电影有声小说| 欧美精品自拍偷拍| 色综合亚洲欧洲| 91影视在线播放| 在线看国产一区二区| 欧美伊人久久久久久久久影院 | 色天使久久综合网天天| 成人午夜电影久久影院| 成人福利在线看| 99久久99久久精品免费观看 | 亚洲精品一卡二卡| 一区二区三区精品在线| 樱桃视频在线观看一区| 亚洲综合在线观看视频| 亚洲一区二区三区四区中文字幕 | 丝袜美腿一区二区三区| 奇米精品一区二区三区在线观看| 视频精品一区二区| 黄色日韩网站视频| 丁香婷婷综合色啪| 精品视频资源站| 欧美电视剧在线观看完整版| 精品福利一区二区三区| 国产精品入口麻豆原神| 一区二区三区在线视频观看58| 亚洲成a人片在线不卡一二三区| 日韩av电影天堂| 国产一区二区三区四区五区美女 | 欧美一区二区三区四区在线观看| 亚洲精品在线电影| 亚洲欧洲性图库| 日韩成人午夜电影| 成人h精品动漫一区二区三区| 欧洲人成人精品| 2023国产精品自拍| 亚洲激情欧美激情| 国产精品一二三区在线| 欧美系列日韩一区| 欧美国产成人精品| 日韩激情一二三区| 99久久夜色精品国产网站| 在线不卡一区二区| 亚洲丝袜自拍清纯另类| 青青草国产精品亚洲专区无| av中文字幕不卡| 日韩精品一区二区三区视频| ●精品国产综合乱码久久久久| 免费的国产精品| 一本久久精品一区二区| 午夜日韩在线电影| 国产精品自拍毛片| 欧美电影一区二区| 亚洲在线免费播放| 成人av网站免费| 久久综合九色综合97_久久久| 亚洲成人免费看| 99免费精品在线| 久久久久久久久97黄色工厂| 爽好多水快深点欧美视频| 99精品视频在线播放观看| 久久久久国产精品人| 免费日韩伦理电影| 欧美乱妇20p| 亚洲午夜在线电影| 91色九色蝌蚪| 中文字幕一区二区三区av| 国产大片一区二区| 久久美女高清视频| 国内精品免费**视频| 日韩视频不卡中文| 裸体歌舞表演一区二区| 欧美日韩国产片| 亚洲午夜久久久久久久久电影院| 91性感美女视频| ...中文天堂在线一区| 99re成人精品视频| 最新热久久免费视频| 97久久精品人人澡人人爽| 成人免费在线播放视频| 92精品国产成人观看免费| 亚洲欧洲三级电影| 色欧美片视频在线观看| 亚洲精品一卡二卡| 欧美日韩国产免费| 日本一不卡视频| 精品国产一区二区三区久久影院| 狠狠色伊人亚洲综合成人| 亚洲精品国产品国语在线app| 成人av免费在线观看| 一区二区三区精品久久久| 色av成人天堂桃色av| 亚洲成a人片综合在线| 日韩一区二区三区电影 | 国产精品天天摸av网| av在线一区二区三区| 亚洲欧美二区三区| 欧美精品在线一区二区| 狠狠色丁香婷综合久久| 国产农村妇女精品| 欧美无砖专区一中文字| 久久aⅴ国产欧美74aaa| 国产精品天天摸av网| 欧美在线你懂得| 久久99深爱久久99精品| 18欧美乱大交hd1984| 欧美日韩激情在线| 经典三级视频一区| ●精品国产综合乱码久久久久 | 麻豆精品在线视频| 中文字幕在线一区二区三区| 欧美三级在线看| 国产精品羞羞答答xxdd| 夜夜嗨av一区二区三区| 日韩视频免费观看高清完整版| 丁香天五香天堂综合| 视频在线观看一区二区三区| 久久蜜桃香蕉精品一区二区三区| 在线精品观看国产| 国产精品一区二区免费不卡| 一区二区三区四区激情| 久久你懂得1024| 欧美精品在线视频| 99久久精品免费精品国产| 另类小说图片综合网| 一区二区三区精品在线观看| 国产丝袜在线精品| 91.com在线观看| 91在线观看成人| 国产福利91精品一区二区三区| 亚洲国产精品久久久男人的天堂| 欧美高清在线精品一区| 91精品国产麻豆国产自产在线 | av电影一区二区| 国产精品一区二区不卡| 日韩国产精品大片| 亚洲国产成人va在线观看天堂| 国产精品麻豆99久久久久久| 日韩女优电影在线观看| 欧美日韩一区二区三区在线| 色综合天天综合| 成人的网站免费观看| 国产酒店精品激情| 久久精品二区亚洲w码| 日韩电影免费一区| 亚洲成人资源在线| 亚洲线精品一区二区三区| 一区二区成人在线视频| 亚洲色图一区二区| 亚洲欧美偷拍三级| 亚洲丝袜精品丝袜在线| 最新久久zyz资源站| 国产精品国产三级国产| 国产精品乱码一区二区三区软件| 日本一区二区视频在线| 国产日韩欧美精品综合| 亚洲国产激情av| 国产精品人成在线观看免费| 国产精品色哟哟| 中文字幕亚洲不卡| 亚洲小少妇裸体bbw| 午夜不卡在线视频| 美女高潮久久久| 99国产精品视频免费观看| 99视频超级精品| 欧美在线影院一区二区| 欧美日韩高清影院| 精品久久久久久久一区二区蜜臀| 精品精品国产高清a毛片牛牛 | 亚洲女厕所小便bbb| 一区二区三区免费| 日韩国产欧美一区二区三区| 日本成人中文字幕| 国内精品免费在线观看| 成人黄色片在线观看| 日本丶国产丶欧美色综合| 欧美日韩电影在线| 久久亚洲综合av| 亚洲卡通欧美制服中文| 日韩中文字幕麻豆| 国产精品一线二线三线| av不卡一区二区三区| 51精品国自产在线| 久久精品夜色噜噜亚洲a∨| 亚洲黄色小视频| 黄色小说综合网站| 欧美性videosxxxxx| 久久久一区二区三区捆绑**| 国产精品福利影院| 日本aⅴ免费视频一区二区三区| 国产一区二区不卡| 欧美怡红院视频| 精品国产成人系列| 一片黄亚洲嫩模| 国模娜娜一区二区三区| 在线视频你懂得一区| 久久精品亚洲麻豆av一区二区| 亚洲成人精品一区二区| 国产资源精品在线观看| 欧美日韩国产一级片|