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

  • 大小: 201KB
    文件類型: .rar
    金幣: 2
    下載: 1 次
    發布日期: 2021-10-11
  • 語言: 其他
  • 標簽:

資源簡介

設計一個語法制導翻譯器,將WHILE語句翻譯成四元式。要求:先確定一個定義WHILE語句的文法,為其設計一個語法分析程序,為每條產生式配備一個語義子程序,按照一遍掃描的語法制導翻譯方法,實現翻譯程序。對用戶輸入的任意一個正確的WHILE語句,程序將其轉換成四元式輸出

資源截圖

代碼片段和文件信息

#include
#include?
#include
#include?
#include
#include
#include?“conio.h“
using?namespace?std;
ofstream?coutf(“cifa.txt“ios::out);//結果輸出至文件cifa.txt
ofstream?couty(“yufa.txt“ios::out);//結果輸出至文件yufa.txt
ofstream?couts(“obj.txt“ios::out);//結果輸出至文件obj.txt
char?shuru[100]tmp;
char?sr[100];
char?b[10]op[10]rop[10];
char?a[10];
int?q=0;

struct?Table{
????char?act_0[10];
????int?act_1[10];
????int?go[4];
}action[18];

struct??sys{
char?f;
char?op1;
char?op2;
char?result;
}equ[10];

void?Init(){
????/*---------------???????ACTION??????-----------------------*/
????action[0].act_0[0]=‘s‘;???????action[0].act_1[0]=2;
????action[1].act_0[9]=‘Z‘;??????
????action[2].act_0[1]=‘s‘;???????action[2].act_1[1]=3;
????action[3].act_0[5]=‘s‘;???????action[3].act_1[5]=5;
????action[4].act_0[2]=‘s‘;???????action[4].act_1[2]=6;
????action[5].act_0[2]=‘r‘;???????action[5].act_1[2]=7;
????action[5].act_0[7]=‘s‘;???????action[5].act_1[7]=7;
????action[6].act_0[3]=‘s‘;???????action[6].act_1[3]=9;
????action[7].act_0[5]=‘s‘;???????action[7].act_1[5]=8;
????action[8].act_0[2]=‘r‘;???????action[8].act_1[2]=6;?
????action[9].act_0[5]=‘s‘;???????action[9].act_1[5]=14;
????action[10].act_0[4]=‘r‘;??????action[10].act_1[4]=3;
????action[10].act_0[5]=‘s‘;??????action[10].act_1[5]=14;
????action[11].act_0[4]=‘s‘;??????action[11].act_1[4]=12;
action[12].act_0[9]=‘r‘;??????action[12].act_1[9]=1;
????action[13].act_0[4]=‘r‘;??????action[13].act_1[4]=2;
????action[14].act_0[8]=‘s‘;??????action[14].act_1[8]=17;
????action[14].act_0[6]=‘s‘;??????action[14].act_1[6]=15;
????action[15].act_0[5]=‘s‘;??????action[15].act_1[5]=14;
action[16].act_0[4]=‘r‘;?????action[16].act_1[4]=4;
action[16].act_0[5]=‘r‘;?????action[16].act_1[5]=4;
action[17].act_0[4]=‘r‘;?????action[17].act_1[4]=5;
action[17].act_0[5]=‘r‘;?????action[17].act_1[5]=5;

????/*--------------------?????GOTO??????-------------------------*/
????action[0].go[0]=1;
????action[3].go[2]=4;;
????action[9].go[1]=11;
????action[9].go[3]=10;
????action[10].go[1]=13;
????action[10].go[3]=10;
????action[15].go[3]=16;
????
}

void?cifa()
{
int?i=0j=0k=0m=0;
????for(q=1;q????{
???? tmp=sr[q];
??????????if(tmp>=‘0‘&&tmp<=‘9‘||tmp>=‘a‘&&tmp<=‘z‘||tmp>=‘A‘&&tmp<=‘Z‘)
???????a[i++]=tmp;
?????else?if(tmp==‘+‘||tmp==‘-‘||tmp==‘/‘||tmp==‘*‘)
?????????op[j++]=tmp;
??????else?if(tmp==‘>‘||tmp==‘<‘)
?????????????????rop[k++]=tmp;
????????????else?if(tmp==‘(‘||tmp==‘)‘||tmp==‘{‘||tmp==‘}‘||tmp==‘;‘)
?????????????????????b[m++]=tmp;??????????????????
????}
????cout<<“詞法分析完成結果輸出到文件cifa.txt“<????coutf<<“詞法分析結果:“<????coutf<<“關鍵字:“<<“w“<????coutf<<“變量名:“;
????????for(i=0;i????{?
????????coutf<????}
?????coutf<?????coutf<<“表達式運算符:“;
????for(i=0;i????{?
????????coutf<????}
????

?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----

?????文件???????9925??2009-06-21?15:22??黃金\文檔\WHILE循環語句的翻譯程序設計(LR方法、輸出四元式).txt

?????文件?????520192??2009-06-23?10:19??黃金\文檔\課設報告.doc

?????目錄??????????0??2009-06-21?22:35??黃金\文檔

?????文件???????9925??2009-06-21?22:33??黃金\源程序及輸出結果\while(LR).cpp

?????文件?????????17??2009-06-21?22:34??黃金\源程序及輸出結果\input.txt

?????文件?????????59??2009-06-21?22:34??黃金\源程序及輸出結果\obj.txt

?????文件???????1093??2009-06-21?22:34??黃金\源程序及輸出結果\yufa.txt

?????文件????????101??2009-06-21?22:34??黃金\源程序及輸出結果\cifa.txt

?????目錄??????????0??2009-06-21?22:35??黃金\源程序及輸出結果

?????目錄??????????0??2009-06-21?22:30??黃金

-----------?---------??----------?-----??----

???????????????541312????????????????????10


評論

共有 條評論

相關資源