dcaton at shorelinesoftware.com
Mon Jan 30 05:57:49 PST 2006
I know the subject of Unicode comes up now and again, but it seems to me
that at best, the offered solutions are a hack.
It seems that it would be difficult, it not impossible to create a Unicode
parser and lexer from Antlr, given the way it currently generates code (I'm
talking specifically about C++ output here).
The C++ code generator insists on using string, rather than a typedef or
#define that could be set to string or wstring. And throughout the
generated code as well as the static code, char * is assumed rather than
TCHAR *, single byte literal strings are used, etc. etc.
What's the rationale for this? Is there something obvious I'm overlooking?
Unicode isn't exactly a new concept. Why are we limited to the relatively
ancient world of 7 or 8 bit character sets?
It seems to me that a few typedefs or #defines would make creating true
Unicode lexers and parsers a no-brainer and wouldn't break anything for
those who still need ansi parsers.
BTW, I know you can get a true Unicode parser from the C# code generator,
but I need C++.
More information about the antlr-interest