[英]Testing ANTLR Grammar
所以我一直在使用ANTLR v3.4在Eclipse中制作語法,我已經制作了一個可行的語法,我想確保在編輯它時一切仍然有效。 我每次都可以進入解釋器,但這似乎是浪費時間。
問題:我已經閱讀了關於gunit但是下載gUnit的鏈接:( http://antlr.org/hudson/job/gUnit/org.antlr $ gunit / lastSuccessfulBuild /)不起作用。 我怎樣才能獲得gUnit。 測試語法的最佳方法是什么? 它實際上是gUnit還是我應該像jUnit測試一樣進行java測試?
我最近使用Eclipse完成了兩項ANTLR3任務(我正在攻讀計算機科學碩士學位)。 我發現沒有一個文檔有一個在Eclipse中安裝,配置,編寫和調試語法的過程。 因此,在解決了各種問題之后,我發現最簡單的事情就是留在Eclipse中進行測試。
要使用我開始使用的過程(如下所述),您必須先安裝ANTLR IDE v2.1.2。 從Eclipse Indigo中添加它: http : //antlrv3ide.sourceforge.net/updates 。 該站點還有一些關於使用ANTLR IDE的有用文檔。 安裝后,必須配置IDE。 視頻教程有點過時但很有幫助。 查看有關如何在Eclipse中配置ANTLR IDE的詳細指南。 主要配置項是java輸出文件夾。 在Eclipse中執行此操作,方法是轉到Windows,首選項,ANTLR,代碼生成器,檢查項目相關文件夾,然后在輸出文件夾名稱框中鍵入文件夾名稱(我的名稱為“antlr-java”,其他人使用“generated”)。
使用ANTLR IDE在Eclipse Indigo中測試/調試ANTLR的過程
問題是陳舊的,但我要留下完整性的參考:
對我來說,gUnit毫無用處。 所以我設法找到了如何只測試Lexer然后只測試解析器。
我在這里回答: https : //stackoverflow.com/a/53884851/976948
基本上,有2篇文章的鏈接有關如何測試它:
這是我第一次聽說gUinit並閱讀它。 (我不太使用ANTLR。)聽起來很有趣,但是一半沒用。
我驗證語法的方法是用“正常”單元測試來實際驗證整個解析器。 問題是,無論如何你都應該進行單元測試,檢查語法回歸的測試只需將其添加到那里。 根據我的經驗,大多數錯誤都來自語義分析和縮減,而不是語法。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.