M 翻譯布林表示式 編譯原理機測

2021-10-25 09:40:09 字數 1074 閱讀 8800

m - 翻譯布林表示式

description

大家都學過了布林表示式的翻譯,其中有乙個拉鍊-回填技術,這次我們就練習這個技術。

input

輸入為一行字串,例如: a < b or c < d and e < f

每個符號都用空格間隔。

其中邏輯運算子包含 and 和 or , 關係運算子包含 < 、> 、<= 、 >= 、== 、 != 。

output

假鏈跳到0,真鏈跳到1,表示式序號從100開始排。
sample

input 

a < b or c < d and e < f

output

100(j<,a,b,1)

101(j,_,_,102)

102(j<,c,d,104)

103(j,_,_,0)

104(j<,e,f,100)

105(j,_,_,103)

#includeusing namespace std;

vectortt;

int main()

printf("%d(j%s,%s,%s,%d)\n",num,tt[n-2].c_str(),tt[n-3].c_str(),tt[n-1].c_str(),yes);//or\end情況 真--跳轉

yes = num++;

printf("%d(j,_,_,%d)\n",num,no);//end情況 為假 --跳轉 ||or情況 為假的 --通過 no 繼續

num++;

tt.clear();

if(s == "end")break;//需要寫終止條件

}else if(s == "and")no +=2;//存一下,去or的情況下處理再一起處理

else tt.push_back(s);

}}

編譯原理 7 4 翻譯布林表示式 A

大家都學過了布林表示式的翻譯,其中有乙個拉鍊 回填技術,這次我們就練習這個技術。注意,在布林表示式中,並且 運算的優先順序是要高於 或者 運算的。輸入為一行字串,例如 a b or c d and e f 每個符號都用空格間隔。其中邏輯運算子包含 and 和 or 關係運算子包含 假鏈跳到 真鏈跳到...

M 翻譯布林表示式(拉鍊回填)

大家都學過了布林表示式的翻譯,其中有乙個拉鍊 回填技術,這次我們就練習這個技術。輸入為一行字串,例如 a b or c d and e f 每個符號都用空格間隔。其中邏輯運算子包含 and 和 or 關係運算子包含 假鏈跳到 真鏈跳到 表示式序號從100開始排。input a b or c d an...

翻譯布林表示式

翻譯布林表示式time limit 1000 ms memory limit 65536 kib problem description 大家都學過了布林表示式的翻譯,其中有乙個拉鍊 回填技術,這次我們就練習這個技術。input 多組輸入,每組輸入為一行字串,例如 a b or c d and e ...