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

  • 大小: 2KB
    文件類型: .cpp
    金幣: 1
    下載: 0 次
    發(fā)布日期: 2021-01-07
  • 語言: C/C++
  • 標簽: C/C++??

資源簡介

編譯原理課程設(shè)計-布爾表達式轉(zhuǎn)換為四元式 設(shè)計一個語法制導(dǎo)翻譯器,將布爾表達式翻譯成四元式。要求:先確定一個定義布爾表達式的文法,為其設(shè)計一個語法分析程序,為每條產(chǎn)生式配備一個語義子程序,按照一遍掃描的語法制導(dǎo)翻譯方法,實現(xiàn)翻譯程序。對用戶輸入的任意一個正確的布爾表達式,程序?qū)⑵滢D(zhuǎn)換成四元式輸出(可按一定格式輸出到指定文件中)。

資源截圖

代碼片段和文件信息

#include
#include?
#include?
using?namespace?std;

stack?s;?
void?sub_E();
void?sub_T();
void?sub_F();
void?GEQ(char);
int?????num=0;
char????QT[10][4]T=‘A‘c;


void?sub_E()
{
sub_T();
R1:?if(c==‘^‘)
{
????c=getchar();
????sub_T();
????GEQ(‘^‘);
????goto?R1;
}


}
void?sub_T()
{
sub_F();
R4:?if(c==‘&‘)
{
????c=getchar();
????sub_F();
????GEQ(‘&‘);
????goto?R4;
}

}
void?sub_F()
{
if(c>=‘a(chǎn)‘&&c<=‘z‘)
{
????s.push(c);
????c=getchar();
}
else?if(c==‘(‘)
{
????c=getchar();
????sub_E();
????if(c==‘)‘)
?????c=getchar();
????else
????{
????cout<<“括號不匹配!“<?????exit(0);
????}
}
else
{
???cout<<“非法符號!“<????exit(0);
}
}
void?GEQ(char?m)
{
QT[num][0]=m;
QT[num][2]=s.top();s.pop();

評論

共有 條評論

相關(guān)資源