在參考在接受溶液:SO:expression_evaluatorC表達式求值需要2
任何人都可以提供與否定以及工作的版本?像
((!(0 or !1) and !((0 or 1 or 1) and !1))
需要工作以及。
我得到它的工作,使否定的0或1的是好的,但我不能讓它與整個羣體的否定工作(!'s的括號的開始)
我試過後否定TMP在* expr =='中返回eval =='('block .. if!在調用之前已經看到,但是沒有工作
在參考在接受溶液:SO:expression_evaluatorC表達式求值需要2
任何人都可以提供與否定以及工作的版本?像
((!(0 or !1) and !((0 or 1 or 1) and !1))
需要工作以及。
我得到它的工作,使否定的0或1的是好的,但我不能讓它與整個羣體的否定工作(!'s的括號的開始)
我試過後否定TMP在* expr =='中返回eval =='('block .. if!在調用之前已經看到,但是沒有工作
該答案中的代碼有點特設。其中的一個答案建議尋找遞歸下降解析,其次我推薦了這個建議
+1 - 沒有什麼可說的,除了應該建立一個像AST的東西,然後可以很容易計算。 – Lucero 2009-10-29 00:13:48
算法de劃線here可以處理一元運算符(具有一個操作數的運算符)以及函數。
我曾經用它作爲完整C表達式求值器的基礎,支持嵌入式系統上命令行控制檯的符號變量。我沒有使用隨附的示例代碼,而是從頭開始編寫以適合我的目的。
我這樣做:http://stackoverflow.com/questions/1465909/c-expression-evaluator/1472960#1472960 – sambowry 2009-10-29 06:52:55