Trigraph Substitutions


Prior to any other processing being performed, trigraph substitutions are made in the input stream. Following are the trigraph sequences defined for C preprocessing.

Trigraph Character Trigraph Character
??= # ??( [
??/ \ ??) ]
?? ^ ??! |

Example

Following is an example of a statement containing trigraphs.

??=if defined(A) ??!??! defined(B)

The above statement is translated as follows.

#if defined(A) || defined(B)