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

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

資源簡介

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

資源截圖

代碼片段和文件信息

#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‘&&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();

評論

共有 條評論