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

2021-07-11 18:23:44 字數 1089 閱讀 8425

版本描述

1. 文法分析器是第一次發布,屬於alpha版本,還需要大家幫忙測試一下 

2. 詞法分析器是第二次發布,該版本對字母字串進行了限制,僅允許本計算器使用的字母串運算子獲得識別,它們是cos, sin, tg, ctg, ans, ax, bx, cx, dx, ex, sto, clr, asin, acos, atg, actg, pi, e 

在上次發布的詞法分析器版本中你會發現這樣的問題,cossin會被識別為cossin乙個字母串,現在你會發現新版本會把它識別為cos和sin 

測試和使用說明

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

**************************update on 2005.6.15********************************** 

科學計算器完整測試版已經發布,請到

**************************update on 2005.2.20********************************** 

科學計算器正式版已經發布,請到

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

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

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

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

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

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