2012-05-07 1 views
0

Я следующие регулярные выраженияКак проверить, какой Регулярное выражение применяется в JavaCC

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"); 
    } 
} 

Как выразить (токен ID) в JavaCC?

Большое спасибо.

ответ

1

Вы int ID определены в eg1Constants.java и сравнивается с token.kind, так что вы ищете

если (token.kind == eg1Constants.ID) System.out.print ("токен ID «);

Подробнее см. JavaCC FAQ.

 Смежные вопросы

  • Нет связанных вопросов^_^