ANTLR: Escaneo de caracteres Unicode

Problema: no se puede imprimir el carácter Unicode correctamente.

Aquí está mi gramática:

options { k=1; filter=true;
 // Allow any char but \uFFFF (16 bit -1)
charVocabulary='\u0000'..'\uFFFE'; 
}

ANYCHAR :'

Fragmento de código del método principal que invoca al lexer:

public static void main(String[] args) {
SimpleLexer simpleLexer = new SimpleLexer(System.in);
while(true) {
try {
Token t = simpleLexer.nextToken();
System.out.println("Token : "+t);

} catch(Exception e) {}

}
}

Para la entrada"ठ", Obtengo el siguiente resultado:

Found unicode: 
Token : ["à",<5>,line=1,col=7]
Found unicode: 
Token : ["¤",<5>,line=1,col=8]
Found unicode:  
Token : [" ",<5>,line=1,col=9]

Parece que el lexer está tratando a Unicode char "ठ" como tres caracteres separados. Mi objetivo es escanear e imprimir "ठ".

| '_' { System.out.println("Found underscore: "+getText()); } | 'a'..'z' { System.out.println("Found alpha: "+getText()); } | '\u0080'..'\ufffe' { System.out.println("Found unicode: "+getText()); } ;

Fragmento de código del método principal que invoca al lexer:

public static void main(String[] args) {
SimpleLexer simpleLexer = new SimpleLexer(System.in);
while(true) {
try {
Token t = simpleLexer.nextToken();
System.out.println("Token : "+t);

} catch(Exception e) {}

}
}

Para la entrada"ठ", Obtengo el siguiente resultado:

Found unicode: 
Token : ["à",<5>,line=1,col=7]
Found unicode: 
Token : ["¤",<5>,line=1,col=8]
Found unicode:  
Token : [" ",<5>,line=1,col=9]

Parece que el lexer está tratando a Unicode char "ठ" como tres caracteres separados. Mi objetivo es escanear e imprimir "ठ".

Respuestas a la pregunta(1)

Su respuesta a la pregunta