Я пытаюсь выделить все токены в тексте и должен соответствовать всем символам Ascii и Unicode, так вот как я их выложил.Как совместить символы юникода в antlr
fragment CHAR : ('A'..'Z') | ('a'..'z');
fragment DIGIT : ('0'..'9');
fragment UNICODE : '\u0000'..'\u00FF';
Теперь, если я пишу токены правила, как:
TOKEN : (CHAR|DIGIT|UNICODE)+;
я получаю «Решение может соответствовать вводу, таким как " 'A' .. 'Z'", используя несколько альтернатив: 1, 3 В результате альтернатива (-ы) 3 была отключена для этого ввода « ». Решение может соответствовать вводу, например «0» .. «9», используя несколько альтернатив: 2, 3 В результате альтернатива (-ы) 3 были отключены для этого входа "
И ничего не получается:А также, если я пишу это как
TOKEN : (UNICODE)+;
Ничего получает соответствие.
Есть ли способ сделать это.
«\ u0000» .. «\ u00FF» не распространяется на «все символы Юникода», это только охватывает первые 256. –
Это тоже. Я пропустил это! –
Правда, но я думал, что Java еще не поддерживает пятизначный Unicode. – Lezan