c 實現科學計算器 實現篇之文法分析器

2021-04-12 13:18:32 字數 521 閱讀 4628

1. 詞法分析器專案(phraseanalyzer)預設被設定為類庫,它編譯出來的phraseanalyzer.dll將被文法分析器專案所引用,如果你 想單獨以應用程式方式編譯執行它,但這樣執行的話,需要在批處理中關閉文法分析器專案(grammeranalyzer)編譯選項

2. 詞法分析器的使用說明請見 實現篇之詞法分析器

3. 文法分析器介面十分簡單,你直接按 分析 按鈕就可以進行文法分析。

在表示式中,你可以輸入任何該計算器可以識別的符號,你可以檢視 設計篇之詞法分析器模組設計,了解哪些符號可以被識別,以下是一些表示式範例:

(1) (1.0+2/3.5-4)*cos8

(2) ((1.5-sintg5)/ctg6.0-atg6^3)-9

如果表示式正確,則會在結果框中顯示「正確」,否則會顯示在xx附近存在語法錯誤(與mssql的文法檢查有點類似)

4. 由於**還在測試階段,如果大家發現有錯誤的文法沒有報錯,或者正確的文法卻報錯了,可以向我反映。當然,如果大家在演算法效率或者檢測方法上有更好的建議可以向我提出。

C 實現科學計算器 實現篇之文法分析器

版本描述 1.文法分析器是第一次發布,屬於alpha版本,還需要大家幫忙測試一下 2.詞法分析器是第二次發布,該版本對字母字串進行了限制,僅允許本計算器使用的字母串運算子獲得識別,它們是cos,sin,tg,ctg,ans,ax,bx,cx,dx,ex,sto,clr,asin,acos,atg,a...

c 實現科學計算器 實現篇之文法分析器

1.詞法分析器專案 phraseanalyzer 預設被設定為類庫,它編譯出來的phraseanalyzer.dll將被文法分析器專案所引用,如果你想單獨以應用程式方式編譯執行它,但這樣執行的話,需要在批處理中關閉文法分析器專案 grammeranalyzer 編譯選項 2.詞法分析器的使用說明請見...

c 實現科學計算器 設計篇之優先順序表設計

為了引入優先順序概念,我們首先來看乙個簡單的表示式,如下 1 2 3 用於開頭和結尾,並作為表示式內容 常識告訴我們,我們會先算2 3然後計算1 6,但實際上,如果直接從語法角度看,該表示式存在兩種含義 一種含義就是我們所認為的1 2 3 另一種含義則是 1 2 3 這就是說表示式存在二義性,為了消...