区切り子

区切り子 は、コンパイラーに対して構文上意味を持つトークンですが、 正確な重要度はコンテキストによって異なります。区切り子は、プリプロセッサーの構文で使用するトークンとすることもできます。 C89 言語レベルで、 区切り子はアクションを起こしません。例えば、コンマは、引き数リストまたは初期化指定子リストの区切り子ですが、 括弧で囲んだ式の中で使用される場合は演算子です。

C89 言語レベルで、区切り子は、以下のようなトークンを分離する文字とすることができます。


[     ]
(     )
{     }
, : ;

または、以下のもの。


* = ... #    

C89 では、番号記号 # の使用は、プリプロセッサー・ディレクティブのみに制限されています。

C99 言語レベルでは、区切り子の適正なトークンまたはプリプロセス・トークンの数は増加し、 C 演算子を包含します。 実行するオペレーションを指定する区切り子は、 演算子 として知られます。区切り子と演算子の区別は、 C++ によっても使用されます。 C89 区切り子に加え、 C99 は以下のトークンを区切り子、演算子、またはプリプロセス・トークンとして定義します。


. -> ++ -- ##  
& + - ~ !  
/ % << >> !=  
< > <= >= ==  
^ | && || ?  
*= /= %= += -=  
<<= >>= &= ^= |=  
<: :> <% %> %: %:%:

C++ C99 プリプロセス・トークン、演算子、および区切り子に加え、 C++ は以下のトークンを区切り子として許可します。

:: .* ->* new delete  
and and_eq bitand bitor comp  
not not_eq or or_eq xor xor_eq

関連参照

IBM Copyright 2003