Unbuntu下使用bison編寫文字直譯器的方法

2021-07-04 08:28:01 字數 561 閱讀 2572

語法分析和詞法分析很多時候作用不僅僅是高階語言。也可以是用於文字直譯器,比如解析sql 語法或者指令碼語言等。從頭實現詞法和語法分析代價太大,可以借助工具,bison就是這樣的乙個工具。bison工具可以進行通過編寫簡單的文字規則和詞法規則,然後生成程式進行自動解析。不僅解析效率高,擴充套件也非常容易。bison支援的平台包括windows和linux平台。

unbuntu下是使用bison的大體步驟如下。

1)安裝flex,執行命令 sudo apt-get install flex

2)安裝bison,執行命令 sudo apt-get install bison

3)編寫自己的詞法分析規則檔案,如parse.l檔案(需要熟悉正規表示式,以及flex的一些規則,flex有相關文件說明)

5)編寫makefile檔案,詞法解析類似flex parse.l,即會生成詞法解析的c檔案。語法分析類似bison -d parse.y,生成語法分析的c檔案。

6)在工程中加入詞法和語法分析生成的.h和.c檔案。(加入的.c或者.h可能需要必要的**調整,比如資料結構或者定義等,以便適應原有**工程的執行環境,比如嵌入式等)

unbuntu使用小技巧

安裝vmware tools 在終端輸入 sudo passwd root 安裝flash linux windows雙系統啟動時,需要以uefi引導,我是用legacy引導時是沒有secure boot 選項的 ubuntu對某些驅動 比如網絡卡或顯示卡驅動 的支援是放在核心裡面的,所以有時需要安...

unbuntu下的軟體安裝方式

ubuntu下軟體安裝與解除安裝 一 unbuntu下的軟體安裝方式 或者 python 軟體名.py 二 終端安裝與解除安裝的常見命令 安裝軟體 apt get install softname1 softname2 softname3 解除安裝軟體 apt get remove softname...

windows 下 bison 命令列呼叫

目標 將bison整合到visual studio中 做法 以cygwin下bison為例。1.新建乙個批處理檔案 bison.bat,內如如下 set bison dir e sdk cygwin bin set path path bison dir rem bison command line...