[英]I cant generate CUP parser and JFlex scanner in cmd
我是編譯器新手。 我讀過我可以通過此代碼在cmd中生成xxx.flex文件:
java JFlex.Main xxx.flex
但我得到這個錯誤:
錯誤:找不到或加載主類JFlex.Main
為了生成yyy.cup,我輸入了:
java java_cup.Main yyy.cup
但我也收到此錯誤:
錯誤:找不到或加載主類java_cup.Main
我感到困惑...我該怎么辦?
調用時
java JFlex.Main xxx.flex
您要求Java加載JFlex.Main
類並傳遞xxx.flex
作為參數。 由於您沒有告訴Java JFlex.Main
類在哪里,因此Java在其類路徑中搜索它,如果您沒有將JFlex jar文件添加到類路徑中,則會導致錯誤消息
Error: Could not find or load main class JFlex.Main
順便說一句,類名和名稱空間區分大小寫:在JFlex jar文件中, Main
類位於jflex
目錄中,而不是JFlex
因此您需要調用jflex.Main
類...除非您以前使用的是JFlex版本到1.5(在JFlex
合法的情況下)。
要讓Java查找類:
$CLASSPATH
或%CLASSPATH%
) -cp
參數的java
命令的jar文件的位置 例如:
java -cp path/to/jflex-1.6.0.jar jflex.Main xxx.jflex
如果罐子在當前目錄中,則可以使用
java -cp jflex-1.6.0.jar jflex.Main xxx.jflex
或者更簡單地說,因為它是一個可執行的jar,所以您可以省略主類
java -jar jflex-1.6.0.jar xxx.jflex
同樣,似乎Java在處理yyy.cup
文件時缺少CUP jar文件,您可以像使用JFlex那樣修復它
java -cp java-cup-11a.jar java_cup.Main yyy.cup
要么
java -jar java-cup-11a.jar java_cup.Main yyy.cup
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.