Trigraf
En trigraf er en graf som består av en sekvens på tre tegn og representerer et fonem.
Lingvistikk
I lingvistikk er en trigraf en kombinasjon av tre bokstaver som behandles fonetisk som en enhet og representerer en enkelt lyd.
Programmeringsspråk C
Den programmeringsspråket C bruker nesten hele ASCII tegnsett.
Dette kan føre til følgende problemer:
- Noen tegn kan ikke tastes inn ved hjelp av tastaturet, eller kan bare legges inn med vanskeligheter, spesielt med mange eldre ikke-amerikanske tastaturoppsett.
- I noen tegnsett, f.eks. B. nasjonale varianter i henhold til ISO 646 , disse tegnene er ikke tilgjengelige, eller de er kodet annerledes (som i de forskjellige variantene av EBCDIC ), slik at interoperabilitetsproblemer kan oppstå ved utveksling av filer.
Det er derfor ni sekvenser med tre tegn ble definert i C, som kalles trigrafer. De starter alle med ??
, etterfulgt av en annen karakter:
Trigraf | erstattet karakter |
---|---|
??= |
#
|
??/ |
\
|
??' |
^
|
??( |
[
|
??) |
]
|
??! |
|
|
??< |
{
|
??> |
}
|
??- |
~
|
De ni utgavene erstattes av de tilsvarende enkle tegnene før andre behandlingstrinn og overalt i programteksten - spesielt i tegn og tegnstrenger - konstanter :
puts("Bitte Kennnummer eingeben (im Format ??-???-??)");
Resultatet er da:
Bitte Kennnummer eingeben (im Format ~?~]
på grunn av erstatningen av trigrafene ?? - og ??) i strengen.
Siden slutten av 1980-tallet er det ikke lenger behov for å bruke utskriftsbilder i C, ettersom alle spesialtegn nå er tilgjengelige på tastaturer og ASCII eller Unicode har etablert seg som standard.
C ++
De samme utskriftene eksisterte også i C ++, men ble ansett som foreldet der siden C ++ 11 og ble fjernet med C ++ 17 .
På grunn av dårlig lesbarhet i kildekoden og problemet med at de også er effektive i kommentarer og tegnstrengkonstanter, ble såkalte digrafer og "alternative notasjoner" (som separate nøkkelord) introdusert for noen operatører i C ++ , som også unngå kritiske tegn. I motsetning til trigraphs har digraphs og alternative skrivemåter bare sin spesielle betydning der det forventes et token .
weblenker
Individuelle bevis
- ^ British Standards Institute (red.): The C Standard - Incorporating TC1 - BS ISO / IEC 9899: 1999 . John Wiley & Sons, 2003, ISBN 0-470-84573-2 , 5.2.1.1.
- ^ Begrunnelse for C99, revisjon 5.10. (PDF; 898 kB) Hentet 17. oktober 2010 (engelsk, avsnitt 5.2.1.1).
- ↑ no.cppreference.com