Мне нужно описать токен, содержащий какое-то слово.Слово может содержать английские буквы и некоторые другие специальные символы, но не должно начинаться с определенных английских букв (например, «O»).
Похоже, мне нужна операция AND_SYMBOL_IN или что-то еще, но я нене могу найти его в документации по javacc. Мне нужно поведение, подобное этому:
TOKEN : { < LETTERS: (
(~["O", "-"] AND_SYMBOL_IN ["a"-"z","A"-"Z","-",".","&","|","0"-"9"])? (["a"-"z","A"-"Z","-",".","&","|","0"-"9"])+
) > }
Я могу создать специальный токен (как показано ниже), но я верю, что есть более приятное решение, не так ли?
TOKEN : { < #LETTEREX: (
["a"-"z","A"-"N","P"-"Z",".","&","|","0"-"9","-"]) > }
TOKEN : { < LETTERS: (
(< LETTEREX > ) (< LETTEREX > | ["O"])+
) > }