1. 程式人生 > >編譯原理-詞法分析器1(lex實現)

編譯原理-詞法分析器1(lex實現)

編譯原理課實驗一是詞法分析器,但是在網上查了很多資料,發現用lex實現還要用Linux,Windows可以用對應的flex實現,但是網上的資料很零散,所以整理了一下從安裝到配置,到實現一個詞法分析器的過程

一、 安裝

在這裡插入圖片描述

在這裡插入圖片描述 在這裡插入圖片描述 在這裡插入圖片描述 在這裡插入圖片描述

  1. 開啟安裝好的軟體,選Basic Setup,在右側選擇mingw32-gcc-g++,滑鼠右鍵點選Mark for Installation,然後點選左上角的Installation按鈕,選擇Apply Changes,彈出對話方塊點選Apply,安裝對應的編輯器
  2. 設定環境變數 進入MinGW的安裝路徑E:\lex\GnuWin32,將bin的絕對路徑新增到path中(E:\lex\GnuWin32\bin) 我的電腦(右鍵)->屬性->高階->環境變數->系統變數->path值
  3. 檢查安裝完成 開啟cmd,輸入gcc -v,顯示如下即為安裝成功 在這裡插入圖片描述 四、 Parser Generator的配置
  4. 開啟Parser Generator
  5. 選單project->LibBuilder選第一個

在這裡插入圖片描述 在這裡插入圖片描述 3. 配置好後點擊built 在這裡插入圖片描述 4. 建立一個project <1>project->ParserWizard <2>工程設定(語言可選C/C++/JAVA) <3>工程設定(是否帶main函式的YACC檔案或LEX檔案) <4>YACC檔案設定 <5>LEX檔案設定 <6>編輯好程式碼後project->Rebuild All 上圖: 在這裡插入圖片描述

在這裡插入圖片描述 在這裡插入圖片描述 在這裡插入圖片描述 在這裡插入圖片描述

五、 配置VC6.0

  1. 開啟cmd,一直到1.l存在的資料夾的目錄下 在這裡插入圖片描述
  2. Flex 1.l,此時再開啟1.l的資料夾會發現出現lex.yy.c檔案 在這裡插入圖片描述
  3. 那麼現在開始配置VC,首先匯入Parser Generator的庫檔案和原始檔 Tools->Options,設定Iuclude files,library files,Source files

在這裡插入圖片描述 在這裡插入圖片描述 在這裡插入圖片描述 4. project->Settings Win32 Debug C/C++ -> preprocessor definitions新增巨集定義,YYDEBUG Link -> Object/Library Modules 加yld,lib Win32 Release Link -> Object/Library Modules 加yld,lib

在這裡插入圖片描述 在這裡插入圖片描述 在這裡插入圖片描述

  1. 將lex.yy.c新增到Source Files 將1.h新增到Header Files 在這裡插入圖片描述
  2. 編譯執行就OK啦
  3. 或者在DOS下執行 在這裡插入圖片描述