2013-12-19 57 views
0

我知道它有做編譯器轉換表達式後綴前綴東西(我不知道是哪一個確切),我認爲編譯器這樣做,因爲在後綴和前綴表達式括號是不需要強調運營商的優先級。所以任何人都可以告訴我爲什麼以及計算機如何評估數學表達式?
對所有的編程語言編譯器來說都是一樣的過程嗎?編譯器如何評估數學表達式?

+0

這裏的問題是,方法在某種意義上是統一的,但個別實現差異很大。參加一個編譯器課程,甚至只是閱讀克雷肖的*讓我們編譯一個編譯器*,你就會得到廣泛的圖片。 – dmckee

+0

@dmckee謝謝。題外話題:有沒有像堆棧溢出這樣的「問答」網站,我可以提出與計算機科學相關的問題,如:什麼是ajax或什麼是學習C++和這類問題的好書。因爲我認爲這些問題在這裏不受歡迎。 – gandalf

回答

1

通常是使用操作數和運算符堆棧的後綴表示法。任何第一年的計算機科學書籍(編譯器設計)將討論細節。它與所遇到的括號以及輸入中遇到的操作符的相對優先級(和關聯性)有關。大多數計算機語言具有相似的評估,優先級和關聯性規則,並將使用類似的過程。但不是所有的!