Knowledge

Digraphs and trigraphs (programming)

Source 📝

1205: 47: 1034:. This passed a committee vote, and trigraphs (but not the additional tokens) are removed from C++17 despite the opposition from IBM. Existing code that uses trigraphs can be supported by translating from the source files (parsing trigraphs) to the basic source character set that does not include trigraphs. 611:
trigraph can be used to introduce an escaped newline for line splicing; this must be taken into account for correct and efficient handling of trigraphs within the preprocessor. It can also cause surprises, particularly within comments. For example:
256:. Some compilers support an option to turn recognition of trigraphs off, or disable trigraphs by default and require an option to turn them on. Some can issue warnings when they encounter trigraphs in source files. 1030:, speaking on behalf of itself and other users of C++, and as a result trigraphs were retained in C++11. Trigraphs were then proposed again for removal (not only deprecation) in 1904: 179:) 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. 660:
which is a correctly formed block comment. The concept can be used to check for trigraphs as in the following C99 example, where only one return statement will be executed.
355:
were and still are in wide use. However, many compilers treat them as a different type of commenting block rather than as actual digraphs, that is, a comment started with
551:
A programmer may want to place two question marks together yet not have the compiler treat them as introducing a trigraph. The C grammar does not permit two consecutive
167:, 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 1014:
and of course several primary tokens contain two characters. Nonetheless, those alternative tokens that aren't lexical keywords are colloquially known as "digraphs".
64: 567:
may be used as a file type or creator. To safely place two consecutive question marks within a string literal, the programmer can use string concatenation
1223: 163:'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 544:) replaces all occurrences of the nine trigraph sequences in this table by their single-character equivalents before any other processing (until 111: 1599: 391:(colon) characters are used to inflect ASCII symbols, effectively interpreting unigraphs, digraphs or rarely trigraphs as standalone "symbols". 1869: 1628: 1567: 1535: 1504: 1065:, followed by two other ASCII characters vaguely resembling the glyph to be substituted. All other characters can be entered using the special 83: 1378: 1010:
The term "digraph" (token consisting of two characters) is not perfectly descriptive, since one of the alternative preprocessing-tokens is
90: 1739: 1891: 241:
committee invented trigraphs as a way of entering source code using keyboards that support any version of the ISO 646 character set.
800:. If a digraph sequence occurs inside another token, for example a quoted string, or a character constant, it will not be replaced. 97: 1293: 1844: 79: 1793: 1559:
Wong, Michael; Tong, Hubert; Klarer, Robert; McIntosh, Ian; Mak, Raymond; Cambly, Christopher; LaBonté, Alain (2009-06-19).
284:
predated the standardized ASCII and EBCDIC character sets, and were typically implemented using a manufacturer-specific
1687: 555:
tokens, so the only places in a C file where two question marks in a row may be used are in multi-character constants,
1819: 1950: 1480: 1472: 1355: 1186: 130: 292:
in the available character set or were not supported by peripherals, leading to a number of substitutions including
1727: 789: 1764: 104: 1190: 68: 317: 264:), to be used only when trigraph processing is desired (the rationale was to maximise speed of compilation). 1955: 1339: 1210: 182:
Various reasons exist for using digraphs and trigraphs: keyboards may not have keys to cover the entire
376: 17: 1840: 999:
is treated as a preprocessing token by itself and not as the first character of the alternative token
1595: 545: 164: 35: 1865: 1621: 1560: 1528: 1497: 1258: 1371: 31: 1900: 57: 969:) behaves like C, including the C99 additions, but with additional tokens listed in the table. 372: 285: 214: 1960: 1322: 1233: 785:, included in C99, supplied digraphs as more readable alternatives to five of the trigraphs. 190:
may reserve some characters for special use and so on. Trigraphs might also be used for some
152: 1347: 1238: 809: 407: 160: 144: 8: 1046: 383:. Because the printable range of ASCII is smaller than APL's specialized set of symbols, 1301: 1049:
language and input method provide support for a large number of trigraphs (also called
272:
Different systems define different sets of digraphs and trigraphs, as described below.
1476: 1464: 1351: 1125: 1101: 1054: 792:, and any digraph must always represent a full token by itself, or compose the token 234: 1931: 1699: 1428:
ISO/IEC 9899:1990/Amd 1:1995 - Programming languages — C — Amendment 1: C Integrity
1105: 1789: 1723: 1683: 1656: 1228: 1042: 572: 1935: 1719:
HP 50g / 49g+ / 48gII graphing calculator advanced user's reference manual (AUR)
1109: 1003:. This is done so certain uses of templates are not broken by the substitution. 1070: 560: 556: 533: 1944: 1104:
text editor supports digraphs for actual entry of text characters, following
183: 1717: 1677: 584:
is not itself a trigraph sequence, but when followed by a character such as
1815: 1074: 1426: 1402: 1218: 1182: 1166: 1113: 226: 187: 156: 1620:
Wong, Michael; Tong, Hubert; Bhakta, Rajan; Inglis, Derek (2014-10-10).
1006:
The C++ Standard makes this comment with regards to the term "digraph":
1450: 1140: 1083: 1078: 380: 253: 1686:. December 1994 . pp. 2–5, 27–16. HP 00048-90126, (00048-90104). 1756: 289: 194: 1204: 46: 1057:
on foreign platforms, and to ease keyboard input without using the
782: 250: 230: 1372:"Rationale for International Standard - Programming Languages - C" 221:
character set that includes nine characters which lie outside the
1622:"IBM comment on preparing for a Trigraph-adverse future in C++17" 1031: 1023: 1019: 962: 257: 222: 168: 237:) being used does not support any of these nine characters. The 1053:) to reliably transcribe non-seven-bit ASCII characters of the 238: 191: 186:
of the language, input of special characters may be difficult,
976:
is treated as a single token, rather than two occurrences of
958: 537: 395: 281: 225:
invariant character set. This can pose a problem for writing
218: 176: 172: 1260:
Rationale for International Standard—Programming Languages—C
1338: 398:, there are no single-character equivalents to these in J. 707:
Alternative digraphs introduced in the C standard in 1994
1344:
The C Standard - Incorporating TC1 - BS ISO/IEC 9899:1999
1170: 1027: 632: 1185:
to allow easier input of many special characters of the
631:
which is a single logical comment line (used in C++ and
260:
supplied a separate program, the trigraph preprocessor (
1279:
The New C Standard: An Economic and Cultural Commentary
1061:
application. The first character of all TIO codes is a
559:, and comments. This is particularly a problem for the 1558: 1498:"Working Draft, Standard for Programming Language C++" 347:
respectively. Unlike all other cases mentioned here,
1619: 1200: 1457: 71:. Unsourced material may be challenged and removed. 1726:. 2009-07-14 . pp. J-1, J-2. HP F2228-90010. 1448: 781:In 1994, a normative amendment to the C standard, 617:// Will the next line be executed????????????????/ 394:Unlike the use of digraphs and trigraphs in C and 1124:by default. The list of all possible digraphs in 674:// returns 0 or 1; language standard C99 or later 1942: 1224:List of XML and HTML character entity references 1903:, Corvallis Division. June 1991 . F0001-90003. 1364: 796:replacing the preprocessor concatenation token 249:Trigraphs are not commonly encountered outside 1883: 788:Unlike trigraphs, digraphs are handled during 1783: 1781: 1659:. August 1989. HP reorder number 82240-90014. 1645: 1534:. 2009-01-30. SC22/WG21 N2837 comment UK 11. 1451:"A brief description of Normative Addendum 1" 1069:TIO code syntax with nnn being a three-digit 379:but uses the ASCII character set rather than 288:. A number of ALGOL operations either lacked 1807: 1712: 1710: 1708: 1706: 1672: 1670: 1668: 1666: 1018:Trigraphs were proposed for deprecation in 536:(used for C and with slight differences in 1787: 1778: 1561:"Comment on Proposed Trigraph Deprecation" 1463: 1751: 1749: 1747: 1703: 1332: 131:Learn how and when to remove this message 80:"Digraphs and trigraphs" programming 1663: 1589: 1587: 1841:"Vim documentation: *digraphs-default*" 1813: 1495: 1489: 1285: 987:if the subsequent character is neither 596:, as in the example below which has 16 320:programming language supports digraphs 27:Two or three characters, treated as one 14: 1943: 1858: 1744: 1679:HP 48G Series – User's Guide (UG) 1090: 1613: 1593: 1584: 1552: 1529:"C++0X, CD 1, National Body Comments" 1521: 1496:Du Toit, Stefanus, ed. (2012-01-16). 69:adding citations to reliable sources 40: 1833: 1077:if necessary) of the corresponding 1055:calculators' extended character set 267: 24: 1899:(2 ed.). Corvallis, OR, USA: 1655:(1 ed.). Corvallis, OR, USA: 244: 25: 1972: 1925: 1473:Addison-Wesley Publishing Company 1449:Clive D.W. Feather (2010-09-12). 1276: 1187:Lotus International Character Set 1081:(thereby formally representing a 1866:"Digraph - Screen User's Manual" 1814:Finseth, Craig A. (2012-02-25). 1277:Jones, Derek M. "Sentence 117". 1270: 1266:. Revision 5.10. pp. 20–21. 1203: 1143:has a digraph command, bound to 45: 1910:from the original on 2016-11-28 1872:from the original on 2018-12-31 1847:from the original on 2018-12-20 1822:from the original on 2017-12-21 1796:from the original on 2016-08-02 1788:Heinz, Sr., Michael W. (2005). 1767:from the original on 2016-05-23 1730:from the original on 2018-07-08 1690:from the original on 2016-08-06 1634:from the original on 2018-09-11 1602:from the original on 2018-07-09 1573:from the original on 2017-08-01 1541:from the original on 2017-08-01 1510:from the original on 2019-05-08 1384:from the original on 2016-06-06 1291: 966: 213:The basic character set of the 155:, respectively, that appear in 151:are sequences of two and three 56:needs additional citations for 1442: 1419: 1395: 1315: 1251: 1191:Lotus Multi-Byte Character Set 13: 1: 1594:Smith, Richard (2014-05-06). 1244: 1135: 680:// are trigraphs available??/ 197:that lack characters such as 7: 1469:Design and Evolution of C++ 1340:British Standards Institute 1211:Computer programming portal 1196: 1128:can be displayed by typing 1112:. The entry of digraphs is 1045:calculators supporting the 10: 1977: 1653:HP 82240B Infrared Printer 807: 588:it will be interpreted as 405: 208: 29: 311: 308:(greater than or equal). 1951:C (programming language) 1790:"HP-ASCII and Trigraphs" 1161: 1022:, which was released as 662: 637: 614: 541: 275: 1901:Hewlett-Packard Company 1596:"Removing trigraphs??!" 1323:"Removing trigraphs??!" 1095: 1037: 1026:. This was opposed by 1016: 803: 373:J programming language 359:cannot be closed with 286:six-bit character code 215:C programming language 149:digraphs and trigraphs 1348:John Wiley & Sons 1234:Escape sequences in C 1008: 563:, where the constant 1893:HP 95LX User's Guide 1377:. 5.10. April 2003. 1239:C alternative tokens 810:C alternative tokens 408:C alternative tokens 401: 366: 161:programming language 159:and, according to a 145:computer programming 65:improve this article 30:For other uses, see 1627:. IBM paper N4210. 1091:Application support 708: 375:is a descendant of 217:is a subset of the 1956:Character encoding 1757:"HP RPL TIO Table" 1465:Stroustrup, Bjarne 706: 668:trigraphsavailable 280:Early versions of 956: 955: 779: 778: 530: 529: 300:(assignment) and 141: 140: 133: 115: 16:(Redirected from 1968: 1919: 1918: 1916: 1915: 1909: 1898: 1887: 1881: 1880: 1878: 1877: 1862: 1856: 1855: 1853: 1852: 1837: 1831: 1830: 1828: 1827: 1811: 1805: 1804: 1802: 1801: 1785: 1776: 1775: 1773: 1772: 1753: 1742: 1738: 1736: 1735: 1714: 1701: 1698: 1696: 1695: 1674: 1661: 1660: 1649: 1643: 1642: 1640: 1639: 1633: 1626: 1617: 1611: 1610: 1608: 1607: 1591: 1582: 1581: 1579: 1578: 1572: 1565: 1556: 1550: 1549: 1547: 1546: 1540: 1533: 1525: 1519: 1518: 1516: 1515: 1509: 1502: 1493: 1487: 1486: 1461: 1455: 1454: 1446: 1440: 1439: 1437: 1436: 1423: 1417: 1416: 1414: 1413: 1399: 1393: 1392: 1390: 1389: 1383: 1376: 1368: 1362: 1361: 1336: 1330: 1329: 1327: 1319: 1313: 1312: 1310: 1309: 1300:. Archived from 1289: 1283: 1282: 1274: 1268: 1267: 1265: 1255: 1213: 1208: 1207: 1068: 1064: 1060: 1013: 1002: 998: 994: 990: 986: 983:In the sequence 979: 975: 952: 947: 940: 935: 928: 923: 916: 911: 904: 899: 892: 887: 880: 875: 868: 863: 856: 851: 844: 839: 832: 827: 814: 813: 799: 795: 775: 770: 763: 758: 751: 746: 739: 734: 727: 722: 709: 705: 702: 699: 696: 693: 690: 687: 684: 681: 678: 675: 672: 669: 666: 656: 653: 650: 647: 644: 641: 627: 624: 621: 618: 610: 603: 599: 595: 591: 587: 583: 577: 570: 566: 554: 526: 521: 514: 509: 502: 497: 490: 485: 478: 473: 466: 461: 454: 449: 442: 437: 430: 425: 412: 411: 390: 386: 363:and vice versa. 362: 358: 354: 350: 346: 342: 338: 335: 331: 327: 323: 307: 303: 299: 295: 268:Language support 263: 204: 200: 175:(even just with 136: 129: 125: 122: 116: 114: 73: 49: 41: 21: 1976: 1975: 1971: 1970: 1969: 1967: 1966: 1965: 1941: 1940: 1928: 1923: 1922: 1913: 1911: 1907: 1896: 1889: 1888: 1884: 1875: 1873: 1864: 1863: 1859: 1850: 1848: 1839: 1838: 1834: 1825: 1823: 1812: 1808: 1799: 1797: 1786: 1779: 1770: 1768: 1755: 1754: 1745: 1733: 1731: 1724:Hewlett-Packard 1716: 1715: 1704: 1693: 1691: 1684:Hewlett-Packard 1676: 1675: 1664: 1657:Hewlett-Packard 1651: 1650: 1646: 1637: 1635: 1631: 1624: 1618: 1614: 1605: 1603: 1592: 1585: 1576: 1574: 1570: 1563: 1557: 1553: 1544: 1542: 1538: 1531: 1527: 1526: 1522: 1513: 1511: 1507: 1500: 1494: 1490: 1483: 1462: 1458: 1447: 1443: 1434: 1432: 1425: 1424: 1420: 1411: 1409: 1401: 1400: 1396: 1387: 1385: 1381: 1374: 1370: 1369: 1365: 1358: 1337: 1333: 1325: 1321: 1320: 1316: 1307: 1305: 1290: 1286: 1275: 1271: 1263: 1257: 1256: 1252: 1247: 1229:Escape sequence 1209: 1202: 1199: 1180: 1176: 1164: 1157: 1153: 1150: 1146: 1138: 1131: 1123: 1119: 1098: 1093: 1066: 1062: 1058: 1043:Hewlett-Packard 1040: 1011: 1000: 996: 992: 988: 984: 977: 973: 950: 945: 938: 933: 926: 921: 914: 909: 902: 897: 890: 885: 878: 873: 866: 861: 854: 849: 842: 837: 830: 825: 812: 806: 797: 793: 773: 768: 761: 756: 749: 744: 737: 732: 725: 720: 704: 703: 700: 697: 694: 691: 688: 685: 682: 679: 676: 673: 670: 667: 664: 658: 657: 654: 651: 648: 645: 642: 639: 629: 628: 625: 622: 619: 616: 608: 601: 597: 593: 589: 585: 581: 575: 573:escape sequence 568: 564: 557:string literals 552: 524: 519: 512: 507: 500: 495: 488: 483: 476: 471: 464: 459: 452: 447: 440: 435: 428: 423: 410: 404: 388: 384: 369: 360: 356: 352: 348: 344: 340: 337: 333: 329: 325: 321: 314: 305: 301: 297: 293: 278: 270: 261: 247: 245:Implementations 211: 202: 198: 137: 126: 120: 117: 74: 72: 62: 50: 39: 28: 23: 22: 15: 12: 11: 5: 1974: 1964: 1963: 1958: 1953: 1939: 1938: 1927: 1926:External links 1924: 1921: 1920: 1890:"Appendix F". 1882: 1857: 1843:. 2011-01-15. 1832: 1806: 1777: 1743: 1740:Searchable PDF 1722:(2 ed.). 1702: 1682:(8 ed.). 1662: 1644: 1612: 1583: 1551: 1520: 1488: 1481: 1471:(1 ed.). 1467:(1994-03-29). 1456: 1441: 1418: 1407:whitefiles.org 1394: 1363: 1356: 1331: 1314: 1284: 1269: 1249: 1248: 1246: 1243: 1242: 1241: 1236: 1231: 1226: 1221: 1215: 1214: 1198: 1195: 1178: 1174: 1163: 1160: 1155: 1151: 1148: 1144: 1137: 1134: 1129: 1121: 1117: 1097: 1094: 1092: 1089: 1071:decimal number 1039: 1036: 954: 953: 948: 942: 941: 936: 930: 929: 924: 918: 917: 912: 906: 905: 900: 894: 893: 888: 882: 881: 876: 870: 869: 864: 858: 857: 852: 846: 845: 840: 834: 833: 828: 822: 821: 818: 805: 802: 777: 776: 771: 765: 764: 759: 753: 752: 747: 741: 740: 735: 729: 728: 723: 717: 716: 713: 663: 638: 615: 561:classic Mac OS 534:C preprocessor 528: 527: 522: 516: 515: 510: 504: 503: 498: 492: 491: 486: 480: 479: 474: 468: 467: 462: 456: 455: 450: 444: 443: 438: 432: 431: 426: 420: 419: 416: 403: 400: 368: 365: 313: 310: 277: 274: 269: 266: 246: 243: 233:(and possibly 210: 207: 139: 138: 121:September 2008 53: 51: 44: 26: 9: 6: 4: 3: 2: 1973: 1962: 1959: 1957: 1954: 1952: 1949: 1948: 1946: 1937: 1933: 1930: 1929: 1906: 1902: 1895: 1894: 1886: 1871: 1867: 1861: 1846: 1842: 1836: 1821: 1817: 1810: 1795: 1791: 1784: 1782: 1766: 1762: 1758: 1752: 1750: 1748: 1741: 1729: 1725: 1721: 1720: 1713: 1711: 1709: 1707: 1700: 1689: 1685: 1681: 1680: 1673: 1671: 1669: 1667: 1658: 1654: 1648: 1630: 1623: 1616: 1601: 1597: 1590: 1588: 1569: 1562: 1555: 1537: 1530: 1524: 1506: 1499: 1492: 1484: 1482:0-201-54330-3 1478: 1474: 1470: 1466: 1460: 1452: 1445: 1430: 1429: 1422: 1408: 1404: 1403:"File Basics" 1398: 1380: 1373: 1367: 1359: 1357:0-470-84573-2 1353: 1349: 1345: 1341: 1335: 1324: 1318: 1304:on 2019-04-02 1303: 1299: 1298:jsoftware.com 1295: 1288: 1280: 1273: 1262: 1261: 1254: 1250: 1240: 1237: 1235: 1232: 1230: 1227: 1225: 1222: 1220: 1217: 1216: 1212: 1206: 1201: 1194: 1192: 1188: 1184: 1172: 1168: 1159: 1142: 1133: 1127: 1115: 1111: 1107: 1103: 1088: 1086: 1085: 1080: 1076: 1075:leading zeros 1072: 1056: 1052: 1048: 1044: 1035: 1033: 1029: 1025: 1021: 1015: 1007: 1004: 981: 970: 968: 964: 960: 949: 944: 943: 937: 932: 931: 925: 920: 919: 913: 908: 907: 901: 896: 895: 889: 884: 883: 877: 872: 871: 865: 860: 859: 853: 848: 847: 841: 836: 835: 829: 824: 823: 819: 816: 815: 811: 801: 791: 786: 784: 772: 767: 766: 760: 755: 754: 748: 743: 742: 736: 731: 730: 724: 719: 718: 714: 711: 710: 661: 636: 634: 613: 605: 600:s before the 579: 574: 562: 558: 549: 547: 543: 539: 535: 523: 518: 517: 511: 506: 505: 499: 494: 493: 487: 482: 481: 475: 470: 469: 463: 458: 457: 451: 446: 445: 439: 434: 433: 427: 422: 421: 417: 414: 413: 409: 399: 397: 392: 382: 378: 374: 364: 319: 309: 291: 287: 283: 273: 265: 259: 255: 252: 242: 240: 236: 232: 228: 224: 220: 216: 206: 196: 193: 189: 185: 184:character set 180: 178: 174: 170: 166: 162: 158: 154: 150: 146: 135: 132: 124: 113: 110: 106: 103: 99: 96: 92: 89: 85: 82: –  81: 77: 76:Find sources: 70: 66: 60: 59: 54:This article 52: 48: 43: 42: 37: 33: 19: 1961:Input/output 1912:. Retrieved 1892: 1885: 1874:. Retrieved 1860: 1849:. Retrieved 1835: 1824:. Retrieved 1809: 1798:. Retrieved 1769:. Retrieved 1760: 1732:. Retrieved 1718: 1692:. Retrieved 1678: 1652: 1647: 1636:. Retrieved 1615: 1604:. Retrieved 1575:. Retrieved 1554: 1543:. Retrieved 1523: 1512:. Retrieved 1491: 1468: 1459: 1444: 1433:. Retrieved 1431:. March 1995 1427: 1421: 1410:. Retrieved 1406: 1397: 1386:. Retrieved 1366: 1343: 1334: 1317: 1306:. Retrieved 1302:the original 1297: 1294:"Vocabulary" 1292:Hui, Roger. 1287: 1278: 1272: 1259: 1253: 1165: 1158:by default. 1139: 1099: 1082: 1050: 1041: 1017: 1009: 1005: 982: 971: 957: 790:tokenization 787: 780: 659: 630: 606: 580: 569:"...?""?..." 550: 531: 393: 370: 315: 279: 271: 262:TRIGRAPH.EXE 248: 212: 188:text editors 181: 148: 142: 127: 118: 108: 101: 94: 87: 75: 63:Please help 58:verification 55: 1761:holyjoe.org 1219:Compose key 1189:(LICS) and 1183:compose key 1167:Lotus 1-2-3 972:As a note, 820:Equivalent 715:Equivalent 576:"...?\?..." 418:Equivalent 381:APL symbols 254:test suites 227:source code 157:source code 1945:Categories 1914:2016-11-27 1876:2019-05-12 1851:2019-05-12 1826:2017-12-21 1800:2016-08-02 1771:2015-01-23 1734:2015-10-10 1694:2015-09-06 1638:2019-05-12 1606:2019-05-12 1577:2019-05-12 1545:2019-05-12 1514:2019-05-08 1435:2024-05-30 1412:2024-05-08 1388:2010-10-17 1308:2015-04-16 1245:References 1141:GNU Screen 1136:GNU Screen 1084:tetragraph 1079:code point 879:&& 808:See also: 406:See also: 387:(dot) and 290:codepoints 195:code pages 153:characters 91:newspapers 18:C trigraph 1598:. N3981. 1566:. N2910. 1503:. N3337. 1193:(LMBCS). 1051:TIO codes 961:(through 229:when the 1905:Archived 1870:Archived 1845:Archived 1820:Archived 1794:Archived 1765:Archived 1728:Archived 1688:Archived 1629:Archived 1600:Archived 1568:Archived 1536:Archived 1505:Archived 1379:Archived 1342:(2003). 1197:See also 415:Trigraph 251:compiler 235:keyboard 231:encoding 36:Trigraph 1816:"chars" 712:Digraph 649:comment 635:), and 258:Borland 223:ISO 646 209:History 169:Unicode 105:scholar 32:Digraph 1934:  1479:  1354:  1108:  1073:(with 995:, the 985:<:: 965:, see 946:not_eq 934:xor_eq 915:&= 910:and_eq 850:bitand 692:return 683:return 571:or an 565:'????' 540:; see 508:??> 496:??< 318:Pascal 312:Pascal 239:ANSI C 192:EBCDIC 107:  100:  93:  86:  78:  1908:(PDF) 1897:(PDF) 1632:(PDF) 1625:(PDF) 1571:(PDF) 1564:(PDF) 1539:(PDF) 1532:(PDF) 1508:(PDF) 1501:(PDF) 1382:(PDF) 1375:(PDF) 1326:(PDF) 1264:(PDF) 1173:uses 1162:Lotus 1114:bound 1059:CHARS 1032:C++17 1024:C++11 1020:C++0x 1001:<: 967:below 963:C++14 922:or_eq 862:bitor 855:& 826:compl 817:Token 757:%> 745:<% 733::> 721:<: 542:below 302:>= 282:ALGOL 276:ALGOL 219:ASCII 177:ASCII 173:UTF-8 112:JSTOR 98:books 1936:1345 1477:ISBN 1352:ISBN 1169:for 1152:Ctrl 1145:Ctrl 1130::dig 1118:Ctrl 1110:1345 1100:The 1067:\nnn 1012:%:%: 997:< 993:> 991:nor 974:%:%: 794:%:%: 652:*??/ 640:/??/ 607:The 532:The 371:The 351:and 343:and 336:for 332:and 316:The 304:for 296:for 201:and 84:news 34:and 1932:RFC 1181:as 1175:Alt 1171:DOS 1126:Vim 1116:to 1106:RFC 1102:Vim 1096:Vim 1087:). 1047:RPL 1038:RPL 1028:IBM 959:C++ 898:xor 874:and 838:not 804:C++ 783:C95 665:int 633:C99 609:??/ 594:??- 582:??? 548:). 546:C23 538:C++ 520:??- 484:??! 472:??) 460:??( 448:??' 436:??/ 424:??= 396:C++ 377:APL 165:C23 143:In 67:by 1947:: 1868:. 1818:. 1792:. 1780:^ 1763:. 1759:. 1746:^ 1705:^ 1665:^ 1586:^ 1475:. 1405:. 1350:. 1346:. 1296:. 1179:F1 1132:. 980:. 978:%: 951:!= 939:^= 927:|= 891:|| 886:or 798:## 769:%: 671:() 623:++ 604:. 592:+ 578:. 357:(* 353:*) 349:(* 339:, 334:*) 330:(* 328:, 326:.) 324:, 322:(. 294::= 205:. 147:, 1917:. 1879:. 1854:. 1829:. 1803:. 1774:. 1737:. 1697:. 1641:. 1609:. 1580:. 1548:. 1517:. 1485:. 1453:. 1438:. 1415:. 1391:. 1360:. 1328:. 1311:. 1281:. 1177:+ 1156:V 1154:+ 1149:A 1147:+ 1122:K 1120:+ 1063:\ 989:: 903:^ 867:| 843:! 831:~ 774:# 762:} 750:{ 738:] 726:[ 701:} 698:; 695:1 689:; 686:0 677:{ 655:/ 646:A 643:* 626:; 620:a 602:/ 598:? 590:? 586:- 553:? 525:~ 513:} 501:{ 489:| 477:] 465:[ 453:^ 441:\ 429:# 402:C 389:: 385:. 367:J 361:} 345:} 341:{ 306:≥ 298:← 203:} 199:{ 171:/ 134:) 128:( 123:) 119:( 109:· 102:· 95:· 88:· 61:. 38:. 20:)

Index

C trigraph
Digraph
Trigraph

verification
improve this article
adding citations to reliable sources
"Digraphs and trigraphs" programming
news
newspapers
books
scholar
JSTOR
Learn how and when to remove this message
computer programming
characters
source code
programming language
C23
Unicode
UTF-8
ASCII
character set
text editors
EBCDIC
code pages
C programming language
ASCII
ISO 646
source code

Text is available under the Creative Commons Attribution-ShareAlike License. Additional terms may apply.