javacc игнорировать регистр локально?
Я хочу сделать часть моих определений JavaCC регистронезависимой, но не глобально.
TOKEN [IGNORE_CASE]:
{
< STRA : "a" >
}
TOKEN :
{
< STRB : "b" >
}
Выше, кажется, делает все токены (STRA AND STRB) нечувствительными к регистру. Как сделать так, чтобы только STRB игнорировался?
Кроме того, можно ли сделать следующий регистр нечувствительным к регистру, например, только "b = <...>"?
private void expr() :
{
Token a, b;
}
{
a = < STRA > | b = < STRB>
}
Я признаю, что не могу понять это, прочитав руководство. Пожалуйста, помогите мне. Дайте мне знать, если я не объясню четко. Спасибо.
1 ответ
Составьте отдельный список токенов, чувствительных к регистру и игнорируйте токены, тогда вам не нужно объявлять оператор глобально как Ignore case = true. попробуйте код, как показано ниже,
TOKEN [IGNORE_CASE]: {
< STRB : "b" >
}
TOKEN : {
< STRA : "a" >
}