對於解析測試文件,我想讓標識符以數字開頭。ANTLR可以根據以下字符區分詞法規則嗎?
我的原則是:
ID : ('a'..'z' | 'A'..'Z' | '0'..'9' | '_') ('a'..'z' | 'A'..'Z' | '0'..'9' | '_' | '&' | '/' | '-' | '.')*
;
但是我也需要在這個文件中匹配的數字爲好。我的規則是:
INT : '0'..'9'+
;
顯然Antlr不會讓我這樣做,因爲INT永遠不會匹配。
有沒有辦法讓這個?具體而言,我想匹配一個INTEGER,後面跟一個沒有空格的ID作爲一個ID,並且只有在後面跟着一個空格時才創建一個INT令牌。
例如:
3BOB -> [ID with text "3BOB"]
3 BOB -> [INT with text "3"] [ID with text "BOB"]
我不清楚這將如何幫助。這是如何讓我的標識符以數字開頭的? – chollida 2011-05-04 15:05:23
@chollida,我試着做出一個更好的解釋,看看它是否有幫助。 – ilyaigpetrov 2011-05-05 21:12:55
感謝您的澄清。 – chollida 2011-05-20 14:44:27