「3.5. 入力要素とトークン」の編集履歴(バックアップ)一覧はこちら

3.5. 入力要素とトークン」(2012/09/05 (水) 22:33:40) の最新版変更点

追加された行は緑色になります。

削除された行は赤色になります。

*[[3. 字句構造]] **[[3.1. Unicode]] **[[3.2. 字句変換]] **[[3.3. Unicodeエスケープ]] **[[3.4. 行終端子]] **3.5. 入力要素とトークン [[エスケープ処理>3.3. Unicodeエスケープ]]され[[入力行認識>3.4. 行終端子]]された入力文字と行終端子を入力要素(input element)の列に分解します。 #divstyle(background-color:#f0f0f0;border:1px solid red;padding 4px){ &i(){Input}:   &i(){InputElements&sub(){opt}} &i(){Sub&sub(){opt}} &i(){InputElements}:   &i(){InputElement}   &i(){InputElements} &i(){InputElement} &i(){InputElement}:   &i(){WhiteSpace}   &i(){Comment}   &i(){Token} &i(){Token}:   &i(){Identifier}   &i(){Keyword}   &i(){Literal}   &i(){Separator}   &i(){Operator} &i(){Sub}:   the ASCII SUB character, also known as "control-Z" } [[空白>3.6. 空白]]でも[[コメント>3.7. コメント]]でもない入力要素がトークン(token)であり、[[構文文法>2.3. 構文文法]]で使用する終端記号です。 [[空白>3.6. 空白]]と[[コメント>3.7. コメント]]は隣接していると判断されるトークンを仕切るのに使用します。例えば入力中のASCII文字-と=はその間に空白もコメントもない時のみ[[演算子>3.12. 演算子]]トークン-=として扱われます。 特定のOSとの互換性のため、エスケープ処理された入力ストリームの最後の文字がASCII SUB文字(&tt(){\u001a}}いわゆる"control-Z")であればそれを無視します。 入力として2つのトークン&i(){x}と&i(){y}があるとします。もし&i(){x}が&i(){y}より先ならば、&i(){x}を&i(){y}の左、&i(){y}を&i(){x}の右と表します。 #divstyle(background-color:#f0f0ff;border:1px solid black;padding 4px){ &i(){&small(){例えば、次の簡単なコードを考えます。:}} class Empty { } {&i(){&small(){トークンはテキスト上は2次元的に}}{&i(){&small(){トークンの左下にありますが、}}{&i(){&small(){トークンの右です。左や右という表現は例えば単項演算子の右オペランドとか代入の左辺という言い方を可能にします。}} } **[[3.6. 空白]] **[[3.7. コメント]] **[[3.8. 識別子]] **[[3.9. キーワード]] **[[3.10. リテラル]] **[[3.11. 分離子]] **[[3.12. 演算子]]
*[[3. 字句構造]] **[[3.1. Unicode]] **[[3.2. 字句変換]] **[[3.3. Unicodeエスケープ]] **[[3.4. 行終端子]] **3.5. 入力要素とトークン [[エスケープ処理>3.3. Unicodeエスケープ]]され[[入力行認識>3.4. 行終端子]]された入力文字と行終端子を&i(){入力要素(input element)}の列に分解します。 #divstyle(background-color:#f0f0f0;border:1px solid red;padding 4px){ &i(){Input}:   &i(){InputElements&sub(){opt}} &i(){Sub&sub(){opt}} &i(){InputElements}:   &i(){InputElement}   &i(){InputElements} &i(){InputElement} &i(){InputElement}:   &i(){WhiteSpace}   &i(){Comment}   &i(){Token} &i(){Token}:   &i(){Identifier}   &i(){Keyword}   &i(){Literal}   &i(){Separator}   &i(){Operator} &i(){Sub}:   the ASCII SUB character, also known as "control-Z" } [[空白>3.6. 空白]]でも[[コメント>3.7. コメント]]でもない入力要素が&i(){トークン(token)}であり、[[構文文法>2.3. 構文文法]]で使用する終端記号です。 [[空白>3.6. 空白]]と[[コメント>3.7. コメント]]は隣接していると判断されるトークンを仕切るのに使用します。例えば入力中のASCII文字-と=はその間に空白もコメントもない時のみ[[演算子>3.12. 演算子]]トークン-=として扱われます。 特定のOSとの互換性のため、エスケープ処理された入力ストリームの最後の文字がASCII SUB文字(&tt(){\u001a}}いわゆる"control-Z")であればそれを無視します。 入力として2つのトークン&i(){x}と&i(){y}があるとします。もし&i(){x}が&i(){y}より先ならば、&i(){x}を&i(){y}の左、&i(){y}を&i(){x}の右と表します。 #divstyle(background-color:#f0f0ff;border:1px solid black;padding 4px){ &i(){&small(){例えば、次の簡単なコードを考えます。:}} class Empty { } {&i(){&small(){トークンはテキスト上は2次元的に}}{&i(){&small(){トークンの左下にありますが、}}{&i(){&small(){トークンの右です。左や右という表現は例えば単項演算子の右オペランドとか代入の左辺という言い方を可能にします。}} } **[[3.6. 空白]] **[[3.7. コメント]] **[[3.8. 識別子]] **[[3.9. キーワード]] **[[3.10. リテラル]] **[[3.11. 分離子]] **[[3.12. 演算子]]

表示オプション

横に並べて表示:
変化行の前後のみ表示:
目安箱バナー