我有以下正则表达式
TOKEN:{
<CONSTANT:(<DIGIT>)+>
| <ID:<LETTER>(<LETTER> | <DIGIT>)*>
| <#DIGIT:["0"-"9"]>
| <#LETTER:["a"-"z","A"-"Z","_"]>
}
现在我想知道如何检查当前令牌是ID还是CONSTANT
public class eg1 {
public static void main(String args[]) throws ParseException {
eg1 parser = new eg1(System.in);
Token token = parser.getNextToken();
if(token is ID) System.out.print("Token is ID");
else System.out.print("Token is CONSTANT");
}
}
如何在JavaCC中表达(令牌是ID)?
非常感谢。
答案 0 :(得分:1)
您在eg1Constants.java中定义了int ID
并与token.kind
进行了比较,因此您正在寻找
if(token.kind == eg1Constants.ID)System.out.print(“Token is ID”);
有关详细信息,请参阅JavaCC FAQ。