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

3. 字句構造

3.1. Unicode

3.2. 字句変換

3.3. Unicodeエスケープ

3.4. 行終端子

3.5. 入力要素とトークン

エスケープ処理され入力行認識された入力文字と行終端子を入力要素(input element)の列に分解します。

Input:
  InputElements opt Sub opt

InputElements:
  InputElement
  InputElements InputElement

InputElement:
  WhiteSpace
  Comment
  Token

Token:
  Identifier
  Keyword
  Literal
  Separator
  Operator

Sub:
  the ASCII SUB character, also known as "control-Z"

空白でもコメントでもない入力要素がトークン(token)であり、構文文法で使用する終端記号です。

空白コメントは隣接していると判断されるトークンを仕切るのに使用します。例えば入力中のASCII文字-と=はその間に空白もコメントもない時のみ演算子トークン-=として扱われます。

特定のOSとの互換性のため、エスケープ処理された入力ストリームの最後の文字がASCII SUB文字(\u001a}いわゆる"control-Z")であればそれを無視します。

入力として2つのトークンxyがあるとします。もしxyより先ならば、xyの左、yxの右と表します。

例えば、次の簡単なコードを考えます。:

class Empty {
}

{ トークンはテキスト上は2次元的に { トークンの左下にありますが、 { トークンの右です。左や右という表現は例えば単項演算子の右オペランドとか代入の左辺という言い方を可能にします。

3.6. 空白

3.7. コメント

3.8. 識別子

3.9. キーワード

3.10. リテラル

3.11. 分離子

3.12. 演算子