Кіріспе
Екі немесе үш таңба, бір таңба ретінде қарастырылады. Компьютерлік бағдарламалауда диграфтар мен триграфтар – бастапқы кодта кездесетін екі және үш таңбадан тұратын тізбектер. Бағдарламалау тілінің сипаттамасына сәйкес, олар бір таңба ретінде қарастырылуы тиіс. Триграфтар C++ тілінен алынып тасталды және C23 нұсқасынан бастап C тілінен де жойылатын болады, сондықтан олар C және басқа да кең таралған тілдерде көп қолданылмайды (J тілінде қолданылуы – ерекше жағдай). Қазіргі Unicode/UTF-8 (немесе тіпті ASCII) әлемінде тілді жобалауда триграфтардың қажеті жоқ, олар ауыртпалық деп есептелген, сондай-ақ диграфтар да, олардың қолданушылары азайып барады, кем дегенде аталған тілдерде. Диграфтар мен триграфтарды қолданудың түрлі себептері бар: пернетақтада тілдің барлық таңбаларын қамтитын пернелер болмауы мүмкін, арнайы таңбаларды енгізу қиын болуы мүмкін, мәтіндік редакторлар кейбір таңбаларды арнайы мақсаттар үшін резервтеуі мүмкін және т.б. Триграфтар { және } сияқты таңбалары жоқ кейбір EBCDIC кодтық кестелерінде де қолданылуы мүмкін.
In computer programming, digraphs and trigraphs are sequences of two and three characters, respectively, that appear in source code and, according to a programming language's specification, should be treated as if they were single characters. Trigraphs have been removed from the C++ language, and will be from C as of C23, thus likely aren't used much in practice in C already, nor in any other mainstream language (use of them in the language J is an exception). In the modern world of Unicode/UTF 8 (even just with ASCII) there's no need for trigraphs in language design, which were considered a burden, and neither really digraphs, that likely have very few users, at least in those languages. Various reasons exist for using digraphs and trigraphs: keyboards may not have keys to cover the entire character set of the language, input of special characters may be difficult, text editors may reserve some characters for special use and so on. Trigraphs might also be used for some EBCDIC code pages that lack characters such as { and }.
Тарих
C бағдарламалау тілінің негізгі таңбалар жиынтығы – ASCII таңбалар жиынтығының бір бөлігі болып табылады, және ISO 646 инвариантты таңбалар жиынтығына кірмейтін тоғыз таңбаны қамтиды. Егер қолданылып жатқан кодтау (немесе мүмкін пернетақта) осы тоғыз таңбаның ешқайсысын қолдамаса, бұл бастапқы кодты жазуда мәселе тудыруы мүмкін. ANSI C комитеті ISO 646 таңбалар жиынтығының кез келген нұсқасын қолдайтын пернетақталарды пайдаланып бастапқы кодты енгізу үшін триграфтарды ойлап тапты.