xxxx18一60岁hd中国/日韩女同互慰一区二区/西西人体扒开双腿无遮挡/日韩欧美黄色一级片 - 色护士精品影院www

  • 大小: 3KB
    文件類型: .cpp
    金幣: 1
    下載: 0 次
    發布日期: 2024-01-20
  • 語言: C/C++
  • 標簽: LR分析器??c++??

資源簡介

這是我自己用c++編的LR分析器,下載后即用。對編譯時出現的各種錯誤都能糾正,很好用,希望能夠幫助大家。 另外補充一下:此編譯器實現功能主要是+*()的操作。

資源截圖

代碼片段和文件信息

#include
#include
#include

using?namespace?std;

char?f[9]={‘i‘‘+‘‘*‘‘(‘‘)‘‘#‘‘E‘‘T‘‘F‘};

/*將產生式左部寫在前,逆序存放產生式內容*/
char?anal[8][2]=
{
{‘E‘‘E‘}??????//?1?E->E+T
{‘E‘‘T‘}????//?2?E->T
{‘T‘‘T‘}?????//?3?T->T*F
{‘T‘‘F‘}????//?4?T->F
{‘F‘‘(‘}?????//?5?F->(E)
{‘F‘‘i‘}????//?6?F->i
};

void?display(int?lr)
{
cout<<“按“;
switch(lr)
{
case?1:cout<<“E->E+T“;break;
case?2:cout<<“E->T“;break;
case?3:cout<<“T->T*F“;break;
case?4:cout<<“T->F“;break;
case?5:cout<<“F->(E)“;break;
case?6:cout<<“F->i“;break;
}
cout<<“歸約“<}

//LR分析表(個位表狀態,十位1表r,十位2表s)
int?LR[12][9]=
{
{25-1-124-2-1123}
{-3260-3-2100000}
{-31227-31212000}
{-3141401414000}
{25-1-124-2-1823}
{-3161601616000}
{25-1-124-2-1093}
{25-1-124-2-10010}
{-3260-331-4000}
{-31127-31111000}
{0131301313000}
{0151501515000}
};

int?anal_f(char?c)//由符號判斷分析表的列
{
switch(c)
{
case?‘i‘:return?0;break;
case?‘+‘:return?1;break;
case?‘*‘:return?2;break;
case?‘(‘:return?3;break;
case?‘)‘:return?4;break;
case?‘#‘:return?5;break;
case?‘E‘:return?6;break;
case?‘T‘:return?7;break;
case?‘F‘:return?8;break;
}
}

void?main()
{
queuewenfa;//輸入
stackzhan_s;//棧中的數字--狀態
stackzhan_f;//棧中的字符
????
char?ss[10];
char?idtf;
int?numtsjksym;
cout<<“------>>歡迎使用LR文法<<-------\n“<<“請輸入文法串:“;

while(id!=‘#‘)
{
cin>>id;
wenfa.push(id);
}
????cout< zhan_s.p

評論

共有 條評論