A punctuator is also a token and it also defined in compiler like keywords. A punctuator can also be a token that is used in the syntax of the preprocessor. some Operator or punctuator alternative representations for some operators and punctuators.
Punctuator
Operator | Meanning |
[ ] | Array subscript Operator |
( ) | Parentheses Operator |
{ } | Braces |
= | Equal sign |
, | Comma Operator (or) Punctuator |
: | Colon |
; | Semicolon |
* | Astrisk |
" " | Quotes |
' ' | Ellipsis |
C and C++ ( C99 ) provide the following alternative representations for some operators and punctuators.
Operator or punctuator |
Alternative Representation |
# | %: |
## | %:%: |
{ | <% |
} | %> |
[ | <: |
] | :> |
Example for using Alternative representation.
// Alternative Representation Example
%:include<stdio.h>
int main()
<% // Open Brace {.
char a<:5:>="MDSN"; // Array subscript operator Ex: a[5]="MDSN"
printf("%s",a); // Output MDSN
return 0;
%> // Close Brace {.
Some more alternative representation defined as macros in the header file " iso646.h".
Operator or punctuator |
Alternative Representation |
& | bitand |
&& | and |
&= | and_eq |
| | bitor |
|| | or |
|= | or_eq |
^ | xor |
^= | xor_eq |
! | not |
!= | not_eq |
~ | compl |
Example:
%:include<stdio.h> // # preprocessor
%:include<iso646.h>
int main()
<% // Open Brace {.
int a=5,b=5,c=2;
if((a==5)and(a==b)) //if((a==5)&&(a==b))
{printf("a=5 and a=b\n");}
if(a not_eq c) //if(a != c)
{printf("a is not equal to c\n");}
return 0;
%> // Close Brace {.