flex與bison的結合使用(計算器例子)
flex與bison的結合使用
1.詳介
對於怎麼讓flex與bison結合到一起,有兩種方法。一種是在VC6中建立一個工程,不過VC6工程中要做一些設定,才能順利編譯,所以第一種我就沒采納。
另外一種就是在bison的輔助性c語言例程部分加一個#include "lex.yy.c"就可以了。在CMD命令中,我們就可以先編譯flex,>flex name.l 。
然後會生成lex.yy.c檔案,不過在用編譯器編譯的時候會報錯,原因我相信也是好理解的。因為在flex我們會返回bison中出現的終結符,即詞法單元。在我們還沒有編譯bison檔案的時候肯定是不認識的,所以報錯。
我們無需理會錯誤(除非是真的自己寫錯了,看好錯誤的情況),繼續在CMD中執行>bison -d name.y 命令。這樣就預設完成連線,並且執行完了程式。
bison 工具包>地址<
2.細節
一些基本的過程就不說了,在前面已經提及了。
不明白的去看一下就好了。
網址:>基本過程<
現在我就講一下不同的地方,
(1).我們肯定在資料夾裡要匯入bison的包,才能進行的編譯。
(2).工具已經準備就緒,我們開啟CMD命令(注意細節),執行>flex name.l 命令
(3).我們去資料夾看一下會有一個lex.yy.c檔案,用編譯器開啟執行一下,會發現報錯(一般是正常現象):
(4).執行 bison -d name.y 命令,在去資料夾看會有name_table.c檔案。
(5).用編譯器開啟並執行name_tab.c程式,就可以實現了(這個程式可以直接在執行.c程式生成的對話方塊上操作就可以)。
相關文章
- Windows下 flex + bison 小例子WindowsFlex
- flex bisonFlex
- ANTLR flex/bisonFlex
- Win flex-bison 的簡單使用Flex
- Flex & Bison 開始Flex
- ANTLR VS FLEX&BISONFlex
- 有沒有JdonFramework與struts2結合的例子?Framework
- 使用netty結合Protostuff傳輸物件例子Netty物件
- 計算時間的例子
- 雲端計算與虛擬化結合技術分析
- swift 3.0 閉包,專案使用例子,結合GCDSwiftGC
- 資料要素流通與隱私增強計算的結合實踐
- flex結合servlet檔案上傳FlexServlet
- 提供流批結合計算能力
- 雲端計算雲智慧,智慧與雲的結合改變了什麼?
- 一個使用執行緒計數器的例子執行緒
- PHP語法分析器:RE2C && BISON 總結PHP語法分析
- 北鯤雲超算平臺如何將雲端計算與高效能運算結合
- C++結合QT實現帶有優先順序的計算器C++QT
- JAVA與groovy指令碼的結合使用Java指令碼
- 大模型API與前端的結合使用大模型API前端
- 計算機器與智慧計算機
- 盒模型的相關計算及flex佈局的不常見規律總結模型Flex
- 數值計算 插值與擬合
- 使用vue寫的計算器demoVue
- rem與em的區別||結合使用rem與emREM
- Parcel 與React 結合使用的小練手React
- 計算機組成與系統結構 cache 原理與計算計算機
- 深入理解 Flex 佈局以及計算Flex
- flex結合媒體查詢佈局程式碼Flex
- 《計算機組成與體系結構》——8.2機器指令計算機
- 計算機處理器結構計算機
- 拓撲學與物理學結合,量子計算機正在成為現實計算機
- 技術革命——雲端計算結合人工智慧人工智慧
- 關於flex-shrink如何計算的冷知識Flex
- CSS > Flex 佈局中的放大和收縮計算CSSFlex
- spark的計算器與廣播變數Spark變數
- FLEX合併陣列Flex陣列