1

在這種語法之間的指定到後綴,它的作品!除了它不包括一元 - 意義否定和一元+它並不真正做任何事情。當從綴轉換爲後綴,你怎麼一個uniary和二進制+/-

一旦轉換爲修復後,一元+將是一個p和一個一元 - 與米。例如:

3 + 3  ->  3 3 + 
+3 + 3 ->  3 p 3 + 
-(3-3) ->  3 3 - m 

所以,如果我正在讀中綴表達式,我該如何指定一元和二元正負之間?

+0

「P」 正和 「m」 爲負?好。那麼,一元+或 - 總是在數字的前面,所以如果你在數字後面找到一個,你可以確定它是二進制的。但現在我正在寫這個,這聽起來太簡單了。我會查找調車碼算法。 –

回答

0

在我看來,下面的規則將適用。

第一個+-下面的非運算符是二元運算符。後續事件(或表達式開始處的事件)是一元的。

所以,在你(和一些額外的)例子:

3 + 3    --> 3 binary+ 3 
+ 3 + 3   --> unary+ 3 binary+ 3 
- (3 - 3)  --> unary- (3 binary- 3) 
-9--4    --> unary- 9 binary- unary- 4