※上記の広告は60日以上更新のないWIKIに表示されています。更新することで広告が下部へ移動します。

3. 字句構造

3.1. Unicode

3.2. 字句変換

3.3. Unicodeエスケープ

3.4. 行終端子

3.5. 入力要素とトークン

3.6. 空白

3.7. コメント

2種類のコメント(comment)があります。

  • /* text */
 伝統的コメント: ASCII文字/*とASCII文字*/の間の全てのテキストは無視されます(CやC++と同じ)。

  • // text
 行末コメント: ASCII文字//から行の終わりまでの全てのテキストは無視されます(C++と同じ)。

Comment:
  TraditionalComment
  EndOfLineComment

TraditionalComment:
  / * CommentTail

EndOfLineComment:
  / / CharactersInLineopt

CommentTail:
  * CommentTailStar
  NotStar CommentTail

CommentTailStar:
  /
  * CommentTailStar
  NotStarNotSlash CommentTail

NotStar:
  InputCharacter but not *
  LineTerminator

NotStarNotSlash:
  InputCharacter but not * or /
  LineTerminator

CharactersInLine:
  InputCharacter
  CharactersInLine InputCharacter

これらの生成規則は次の意味も含んでいます。:

  • コメントは入れ子にできません。
  • /**///で始まるコメントの中では特別な意味を持ちません。
  • ///*/**で始まるコメントの中では何ら特別な意味は持ちません。

結果として、テキスト:

/* this comment /* // /** ends here: */

は完全に単一のコメントです。

字句文法ではコメントは文字リテラル文字列リテラルの内部に書くことはできません。

3.8. 識別子

3.9. キーワード

3.10. リテラル

3.11. 分離子

3.12. 演算子