1
我的JavaCC項目出現了一些問題。我試圖識別一個變量聲明,它有一個可能的「變量」前綴,一種變量名稱和變量(id)。但解析器將第一個單詞識別爲kind,並且不會繼續執行該行的其餘部分。JavaCC在令牌中識別令牌
它說:
Exception in thread "main" ParseException: Encountered " <KIND> "char "" at line 2, column 9.
Was expecting one of:
<VARIABLE> ...
這裏是我的令牌如何申報
TOKEN :
{
<START: "start"> {debugStream.println("start");}
| <END: "end"> {debugStream.println("end");}
| <VARIABLE: ("variable" <KIND> <ID>) | (<KIND> <ID>)> {debugStream.println("variable decl");}
| <KIND: "integer"|"real"|"logic"|"char"|"text"> {debugStream.println("kind");}
| <ID: (["a"-"z","_"])+> {debugStream.println("id");}
}
我也試圖把種類和ID爲special_tokens,然後解析器不用錯誤,但不要也不承認變量聲明。
編輯:
這裏的輸入字符串
start
char sex
integer num
end
你沒有說什麼定義'TYPE'。你也可以顯示輸入字符串。 – 2014-10-18 17:58:01
對不起@TheodoreNorvell。我已編輯帖子以添加輸入字符串。這是一個非常簡單的。沒有TYPE,它只是一個錯字。 – bfagundes 2014-10-18 22:01:19