91av视频/亚洲h视频/操亚洲美女/外国一级黄色毛片 - 国产三级三级三级三级

  • 大小: 1.25MB
    文件類型: .zip
    金幣: 2
    下載: 0 次
    發(fā)布日期: 2023-08-09
  • 語言: 其他
  • 標(biāo)簽: c++??

資源簡介

1、 理解自底向上語法分析方法; 2、 用LR分析技術(shù)實(shí)現(xiàn)語法分析器; 3、 熟練掌握LR分析程序的構(gòu)造方法。

資源截圖

代碼片段和文件信息

#include?
#include
#include?
#include
#include?
#include?
using?namespace?std;
string?temp[20];
int?c;
ofstream?out(“output.txt“ios::app);
string?output;

void??ReadDataFromFileLBLIntoString()
{
????string?total?=?““;
????int?i?=?0;
????ifstream?fin(?“input.txt“?);?
????while(fin.good()?&&?i?????????getline(fintemp[i]);
????????total?+=?temp[i];?
????????i++;
c=i;
????}
}

char?input[10];?????????????????
void?inputcode(string?x){
for(int?m=0;m{
input[m]=x[m];
}
}


string?action[12]?[6]={
{“s5“?“error““error“?“s4“?“error“?“error“}?
{“error““s6“?“error“?“error“?“error““acc“}
{“error““r2“?“s7“?“error“?“r2““r2“}
{“error“?“r4““r4““error““r4““r4“}
{“s5““error“?“error““s4““error“?“error“}
{“error““r6““r6““error““r6““r6“}
{“s5“?“error““error“?“s4“?“error““error“}
{“s5“?“error““error“?“s4“?“error“?“error“}
{“error““s6“?“error““error“?“s11““error“}
{“error““r1“?“r7““error“?“r1?““r1“}
{“eror““r3“?“r3“?“error““r3““r3“}
{“eror““r5“?“r5“?“error““r5““r5“}
};

string?go[12][3]={
{“1““2““3“}
{“error““error““error“}
{“error““error““error“}
{“error““error““error“}
{“8““2““3“}
{“error““error““error“}
{“error““9““3“}
{“error““error““10“}
{“error““error““error“}
{“error““error““error“}
{“error““error““error“}
{“error““error““error“}
};

char?Vt[6]={‘i‘‘+‘‘*‘‘(‘‘)‘‘#‘};
string?LR[6]={“E->E+T““E->T““T->T*F““T->F““F->(E)““F->i“};
stackS;?????????????????????
stackX;?????????????????????

int?num(string?s){???//判斷字符串中的數(shù)字???????????
int?i;
string?str=““;
for(int?j=0;j if(s[j]>=‘0‘&&s[j]<=‘9‘)
str=str+s[j];
}
i=atoi(str.c_str());
return?i;
}

//剩余輸入串的輸出
void?print(int?ichar*c)
{
for(int?j=i;j<10;j++){
cout< out?< }

cout<<‘\t‘;
out?<<‘\t‘<}

//查找終結(jié)符
int?same(char?a){??????
for(int?i=0;i<6;i++){
if(a==Vt[i])
return?i;
}
}


void?analyse(string?x){
????bool?flag=true;?//循環(huán)條件???
int?step=1point=0state=0;??//步驟?指針?狀態(tài)
char?ch1ch2;
int?mnl;?????//用于判斷終結(jié)符,分析表,表達(dá)式右部的長度?
string?str1;???//用于判斷對(duì)應(yīng)分析表中的符號(hào)
string??str2=“#“str3=“0“;???//記錄符號(hào)棧、狀態(tài)棧中的所有元素
inputcode(x);
X.push(‘#‘);
S.push(0);

cout<<“步驟“<<‘\t‘<<“狀態(tài)棧“<<‘\t‘<<“符號(hào)棧“<<‘\t‘<<“輸入串????????“<<‘\t‘<<“動(dòng)作“< out?<<“步驟“<<‘\t‘<<“狀態(tài)棧“<<‘\t‘<<“符號(hào)棧“<<‘\t‘<<“輸入串????????“<<‘\t‘<<“動(dòng)作“< out?< cout< ?
print(pointinput);
cout<<“初始化“< out<<“初始化“<
while(flag)
{
state=S.top();
ch1=input[point];
m=same(ch1);
str1=action[state][m];


if(str1[0]==‘s‘)
{
n=num(str1);
S.push(n);
X.push(ch1);
str2=str2+ch1;
ch2=n+48;
str3=str3+ch2;

?屬性????????????大小?????日期????時(shí)間???名稱
-----------?---------??----------?-----??----
?????目錄???????????0??2018-12-05?19:14??自底向上語法分析--LR分析\
?????文件???????38912??2018-12-05?19:14??自底向上語法分析--LR分析\4實(shí)驗(yàn)四?自底向上語法分析--LR分析.doc
?????目錄???????????0??2018-12-02?11:06??自底向上語法分析--LR分析\Debug\
?????文件??????598101??2018-12-02?11:06??自底向上語法分析--LR分析\Debug\LR分析.exe
?????文件??????845624??2018-12-02?11:06??自底向上語法分析--LR分析\Debug\LR分析.ilk
?????文件??????398160??2018-12-02?11:06??自底向上語法分析--LR分析\Debug\LR分析.obj
?????文件?????2391428??2018-11-29?00:32??自底向上語法分析--LR分析\Debug\LR分析.pch
?????文件?????1180672??2018-12-02?11:06??自底向上語法分析--LR分析\Debug\LR分析.pdb
?????文件???????91136??2018-12-02?11:06??自底向上語法分析--LR分析\Debug\vc60.idb
?????文件??????126976??2018-12-02?11:06??自底向上語法分析--LR分析\Debug\vc60.pdb
?????文件??????????56??2018-11-29?01:29??自底向上語法分析--LR分析\input.txt
?????文件????????4778??2018-12-02?10:20??自底向上語法分析--LR分析\LR分析.cpp
?????文件???????42447??2018-12-05?19:13??自底向上語法分析--LR分析\LR分析.docx
?????文件????????3403??2018-12-02?11:06??自底向上語法分析--LR分析\LR分析.dsp
?????文件?????????537??2018-12-02?11:06??自底向上語法分析--LR分析\LR分析.dsw
?????文件???????41984??2018-12-02?11:06??自底向上語法分析--LR分析\LR分析.ncb
?????文件???????48640??2018-12-02?11:06??自底向上語法分析--LR分析\LR分析.opt
?????文件????????1300??2018-12-02?11:06??自底向上語法分析--LR分析\LR分析.plg
?????文件???????13716??2018-12-02?11:06??自底向上語法分析--LR分析\output.txt

評(píng)論

共有 條評(píng)論