2008-11-13 40 views
-1

如何將擴展綴和堆棧優先事項包括經營者<><=>===!=!&&||如何將中綴和堆棧優先級擴展到其他操作員?

當分析中綴表達式時,例如:P + (Q – F)/Y#,每個符號都有一個與其操作順序相關的優先級。 /*具有比+-更高的優先級。

這裏是我/的優先事項的理解:

Priority */+ - () # 

Infix 2 2 1 1 3 0 0 

Stack 2 2 1 1 0 n/a 0 
+0

這聽起來像逐字引述一門功課的問題... – 2008-11-13 23:41:30

+0

不它取決於所使用的編程語言?我的意思是這只是公約,對吧? – Trilarion 2015-02-13 15:29:05

回答

1

你想要什麼重點,這取決於,對不對?除非你以特定的語言詢問優先事項(如果是這樣,詳細說明)。

反正<,>,< =和> =並不適用於布爾值,==和!=適用於任何東西,!,& &和||僅適用於布爾值。但是他們都會返回布爾值,因此您想要先應用那些不適用於布爾值的值,然後再應用於布爾值的值,最後是那些僅適用於布爾值的值。至於最後!優先於& &和||。雖然沒有必要,但我會讓& &優先於||,因爲有些邏輯符號以這種方式工作。

所以優先級會被清盤:

(
*/
+ - 
< > <= >= 
== != 
! 
&& 
|| 
) #