當前位置:編程學習大全網 - 編程語言 - 如何使用JFlex、JavaCUP(詳細代碼模版) by 踏雪赤兔

如何使用JFlex、JavaCUP(詳細代碼模版) by 踏雪赤兔

編譯原理的實驗要求我們用JFlex和JavaCUP來對語言進行分析處理,JavaCUP有壹個User's Manual教妳怎樣做,上面還有壹個簡單的計算器作為例子,但壹試之下,卻發現那個例子有不少錯誤,結果改了我n久才完成~當然馬上就決定寫壹篇博客告訴大家怎樣做才是正確的,以免像我那樣白走許多彎路。我也不知是不是我找的那份不好,如果妳有更好的manual,記得告訴我。

撰寫本文的目的:  給出使用JFlex、JavaCUP來為壹個計算器建立分析器的示例的完整代碼,使讀者能充分領會JavaCUP的使用方法。雖然本文僅僅給出了計算器的代碼,但只要妳會寫妳的語言的翻譯模式,則只要照抄這個模版,並改改相應動作就可以了。

引用到的資料:

《CUP User's Manual》,作者:

Scott E. Hudson

地址為李老師那裏下載下來的JavaCUP-11a.rar\CUP-develop.tar.gz\develop\manual.html,有詳細的英文說明和示例代碼,但有很多錯。本文中簡稱為《手冊》。

《使用CUP進行語法分析》

詳細步驟:1、準備工作。

JavaCUP和JFlex壹樣,壓縮包裏邊有許多的文件夾和文件,我不知道正統的做法是否要求使用javaCUP也像Jflex壹樣要設置壹堆path啊、classpath啊、jflex_home之類的環境變量,但如果妳像我壹樣只打算用它幾次,妳只要執行下述的兩個簡單步驟就可以了,它並不需要妳設置任何的環境變量(以下假設妳的工作目錄是work\):

1)將JavaCUP壓縮包裏的java-cup-11a.jar解壓到work\下。

2)將JavaCUP壓縮包裏的CUP-develop.tar.gz\develop\src下的java_cup文件夾整個解壓到work\下。

現在妳可以使用JavaCUP了。

2、為這個計算器寫壹個詞法分析器。或者用JFlex生成壹個詞法分析器

兩種方法都可以生成詞法分析器,其中,直接寫分析器的代碼如下:

  • 上一篇:廣西武鳴縣城廂鎮第三小學的學校榮譽
  • 下一篇:新東方培訓機構電話
  • copyright 2024編程學習大全網