? Estoy tratando de seleccionar todos los tokens en un texto y necesito unir todos los caracteres Ascii y Unicode, así es como los he expuesto.¿Cómo puedo unir los caracteres unicode en antlr
fragment CHAR : ('A'..'Z') | ('a'..'z');
fragment DIGIT : ('0'..'9');
fragment UNICODE : '\u0000'..'\u00FF';
Ahora si escribo mi regla token como:
TOKEN : (CHAR|DIGIT|UNICODE)+;
consigo "Decisión puede igualar entrada como " 'A' .. 'Z'" utilizando múltiples alternativas: 1, 3 Como resultado, la (s) alternativa (s) 3 fueron deshabilitadas para esa entrada " " La decisión puede hacer coincidir la entrada como "'0' .. '9'" usando múltiples alternativas: 2, 3 Como resultado, alternativa (s) 3 fueron deshabilitados para esa entrada "
Y nada se iguala: Y también si lo escribo como
TOKEN : (UNICODE)+;
nada se emparejado.
¿Hay alguna manera de hacerlo?
'\ u0000' .. '\ u00FF' no cubren "todos los caracteres Unicode", sólo cubre los primeros 256. –
Eso también. ¡Me lo perdí! –
Es cierto, pero pensé que Java aún no es compatible con Unicode de cinco dígitos. – Lezan