単語を含むトークンを説明する必要があります。単語には、英語の文字やその他の特殊記号を含めることができますが、定義済みの英語の文字 (「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"])+
) > }