Bernd Walter <ticso(at)cicely12.cicely.de> wrote:
> Ich habe ein C Programm, in welchem ich zu Beginn folgendes setze:
> setlocale(LC_CTYPE, "de_DE.ISO8859-1");
>
> Ein Configfile wird nun per lex/yacc eingelesen und benutzt im
> Lexer [:graph:].
> Eigendlich hätte ich jetzt erwartet, dass [:graph:] auch Umlaute
> beinhaltet, aber der Matched trotzdem nur auf ASCII-Zeichen.
> Dummerweise brauche ich Support für Latin1-Zeichen im Konfigfile.
Ich bin nicht sicher, aber kann es sein, daß das Locale
zu dem Zeitpunkt entscheidend ist, wenn der Lex-Scanner
generiert wird? Immerhin werden Character-Classes in
Form von konstanten Tables im Scanner abgelegt, glaube
ich (aber ich mag mich irren).
Auf jeden Fall ist die Problematik nicht unbekannt:
http://lists.gnu.org/archive/html/help-flex/2003-10/msg00005.html
Übrigens: Bist Du sicher, daß Du einen 8-Bit-Scanner er-
zeugst? Manche flex-Optionen schalten implizit auf 7-Bit
um, vornehmlich -CF und -Cf (und natürlich -7).
Gruß
Olli
-- Oliver Fromme, secnetix GmbH & Co. KG, Marktplatz 29, 85567 Grafing Dienstleistungen mit Schwerpunkt FreeBSD: http://www.secnetix.de/bsd Any opinions expressed in this message may be personal to the author and may not necessarily reflect the opinions of secnetix in any way. "The last good thing written in C was Franz Schubert's Symphony number 9." -- Erwin Dieterich To Unsubscribe: send mail to majordomo(at)de.FreeBSD.org with "unsubscribe de-bsd-questions" in the body of the messageReceived on Fri 23 Sep 2005 - 13:07:55 CEST