Trigraph

aus Wikipedia, der freien Enzyklopädie
Wechseln zu: Navigation, Suche

Ein Trigraph ist eine Folge von drei Symbolen, zum Beispiel Buchstaben oder Zahlen.

Sprachwissenschaft[Bearbeiten | Quelltext bearbeiten]

Als Trigraph bezeichnet man in der Sprachwissenschaft eine Kombination aus drei Buchstaben, die phonetisch als Einheit behandelt werden und einen einzelnen Laut repräsentieren. Siehe auch Digraph (Linguistik), Sch.

Programmiersprache C[Bearbeiten | Quelltext bearbeiten]

Die Programmiersprache C verwendet nahezu den kompletten ASCII-Zeichensatz.[1][2]

Das kann zu folgenden Problemen führen:

  • Manche Zeichen können nicht oder nur umständlich über die Tastatur eingegeben werden, insbesondere bei vielen älteren nicht-US-Amerikanischen Tastaturbelegungen.
  • In manchen Zeichensätzen, z. B. nationale Varianten nach ISO 646, sind diese Zeichen nicht vorhanden, oder sie werden unterschiedlich kodiert (wie in den verschiedenen Varianten von EBCDIC), so dass Interoperabilitätsprobleme beim Dateiaustausch auftreten können.

Darum wurden in C neun Drei-Zeichen-Sequenzen definiert, die als Trigraphen bezeichnet werden. Sie beginnen alle jeweils mit ??, gefolgt von einem weiteren Zeichen:

Trigraph ersetztes Zeichen
??= #
??/ \
??' ^
??( [
??) ]
??! |
??< {
??> }
??- ~

Seit Ende der 1980er Jahre besteht keine Notwendigkeit mehr zur Verwendung von Trigraphen in C, da auf Tastaturen heutzutage alle Sonderzeichen vorhanden sind und sich ASCII bzw. Unicode als Standard etabliert haben.

C++[Bearbeiten | Quelltext bearbeiten]

Die gleichen Trigraphen existierten auch in C++, galten dort aber seit C++11 als veraltet und sind mit C++17 entfernt worden.[3] In C++ gibt es zudem noch sogenannte Digraphen und „alternative Schreibweisen“ für manche Operatoren, die ebenfalls die kritischen Zeichen vermeiden. Im Gegensatz zu den Digraphen und alternativen Schreibweisen, die nur dort verwendet werden können, wo ein Token erwartet wird, wurden die neun Trigraphen allerdings vor jedem anderen Verarbeitungsschritt und überall im Programmtext durch die entsprechenden einfachen Zeichen ersetzt - insbesondere auch in Zeichen- und Zeichenketten-Konstanten:

puts("Bitte Kennnummer eingeben (im Format ??-???-??)");

Die Ausgabe ist dann:

Bitte Kennnummer eingeben (im Format ~?~]

wegen der Ersetzungen der Trigraphen ??- und ??)in der Zeichenkette.

Weblinks[Bearbeiten | Quelltext bearbeiten]

 Wiktionary: Trigraph – Bedeutungserklärungen, Wortherkunft, Synonyme, Übersetzungen

Einzelnachweise[Bearbeiten | Quelltext bearbeiten]

  1. British Standards Institute (Hrsg.): The C Standard – Incorporating TC1 – BS ISO/IEC 9899:1999. John Wiley & Sons, 2003, ISBN 0-470-84573-2, 5.2.1.1.
  2. Rationale für C99, Revision 5.10. Abgerufen am 17. Oktober 2010 (PDF; 898 kB, englisch, Abschnitt 5.2.1.1).
  3. en.cppreference.com