次の方法で共有


C++ トークン

トークンは、コンパイラにとって意味がある、C ++ プログラムの最小要素です。 C++ パーサーが認識するトークンの種類は、識別子、キーワード、リテラル、演算子、句読記号、およびその他の区切り記号です。 これらのトークンのストリームが、翻訳単位を構成します。

トークンは通常、"空白" で区切られます。 空白は、次のうちの 1 つ以上です。

  • スペース

  • 水平または垂直タブ

  • 改行

  • フォームフィード

  • コメント

次のものは、トークンと見なされます。

keywordidentifierconstantoperatorpunctuator

次のものは、プリプロセス トークンと見なされます。

header-nameidentifierpp-numbercharacter-constantstring-literaloperatorpunctuator 上記のいずれでもない、各非空白文字

パーサーが入力ストリームからのトークンを区切るときには、左から右にスキャンした入力文字列を使用して、できるだけ長いトークンを作成します。 次のコード片の場合を考えてみます。

a = i+++j;

コードを記述したプログラマは、次の 2 つのステートメントのいずれかを意図していた可能性があります。

a = i + (++j)

a = (i++) + j

パーサーは入力ストリームから最長のトークンを作成しようとするため、2 つ目の解釈が選択され、トークンは i++、+、および j になります。

参照

関連項目

構文規則