Trigraph
Un trigrafo è un grafico costituito da una sequenza di tre glifi e rappresenta un fonema.
Linguistica
In linguistica, un trigrafo è una combinazione di tre lettere che vengono trattate foneticamente come un'unità e rappresentano un singolo suono.
Linguaggio di programmazione C
Il linguaggio di programmazione C utilizza quasi l'intero set di caratteri ASCII.
Questo può portare ai seguenti problemi:
- Alcuni caratteri non possono essere inseriti utilizzando la tastiera o possono essere inseriti solo con difficoltà, soprattutto con molti layout di tastiera non statunitensi meno recenti.
- In alcuni set di caratteri, ad es. B. Varianti nazionali secondo ISO 646 , questi caratteri non sono disponibili o sono codificati in modo diverso (come nelle diverse varianti di EBCDIC ), in modo che possano sorgere problemi di interoperabilità durante lo scambio di file.
Questo è il motivo per cui in C sono state definite nove sequenze di tre caratteri, chiamate trigrafi. Iniziano tutti con ??, seguiti da un altro personaggio:
| Trigraph | carattere sostituito |
|---|---|
??= |
#
|
??/ |
\
|
??' |
^
|
??( |
[
|
??) |
]
|
??! |
|
|
??< |
{
|
??> |
}
|
??- |
~
|
I nove trigrafi vengono sostituiti dai corrispondenti caratteri semplici prima di qualsiasi altra fase di elaborazione e ovunque nel testo del programma, specialmente nelle stringhe di caratteri e di caratteri , costanti :
puts("Bitte Kennnummer eingeben (im Format ??-???-??)");
L'output è quindi:
Bitte Kennnummer eingeben (im Format ~?~]
a causa della sostituzione dei trigrafi ?? - e ??) nella stringa.
Dalla fine degli anni '80 non è più necessario utilizzare i trigrafi in C, poiché tutti i caratteri speciali sono ora disponibili sulle tastiere e ASCII o Unicode si sono affermati come standard.
C ++
Gli stessi trigrafi esistevano anche in C ++, ma erano considerati obsoleti da C ++ 11 e furono rimossi con C ++ 17 .
A causa della scarsa leggibilità del codice sorgente e del problema che sono efficaci anche nei commenti e nelle costanti delle stringhe di caratteri, sono stati introdotti i cosiddetti digrafi e "notazioni alternative" (come parole chiave separate) per alcuni operatori in C ++ , che anche evitare i personaggi critici. Contrariamente ai trigrafi, i digrammi e le ortografie alternative hanno il loro significato speciale solo dove è previsto un segno .
link internet
Prove individuali
- ^ British Standards Institute (a cura di): The C Standard - Incorporating TC1 - BS ISO / IEC 9899: 1999 . John Wiley & Sons, 2003, ISBN 0-470-84573-2 , 5.2.1.1.
- ^ Rationale for C99, revisione 5.10. (PDF; 898 kB) Estratto il 17 ottobre 2010 (in inglese, sezione 5.2.1.1).
- ↑ it.cppreference.com