Go to the first, previous, next, last section, table of contents.
1つの文字に対する構文テーブルのエントリには6つの情報があります.
-
その文字の構文的クラス(小さい整数で表現).
-
対応する区切り.ただし区切り文字についてのみ.`('に対応する区切りは
`)'.逆も同様.
-
その文字が2文字のコメント開始列の第1文字かを示すフラグ.
-
その文字が2文字のコメント開始列の第2文字かを示すフラグ.
-
その文字が2文字のコメント終了列の第1文字かを示すフラグ.
-
その文字が2文字のコメント終了列の第2文字かを示すフラグ.
構文クラスは,内部では小さい整数で表現されていますが利用者に表示したり,
利用者が指定するときには文字で表します.たとえば`('は構文開始文字の
構文クラスを指定するのに用いられます.下の表に構文クラスとそれを指定する
文字を示します.
- ` '
-
空白文字のクラス.
- `w'
-
単語の構成文字のクラス.
- `_'
-
シンボル名の一部だが単語の一部ではない文字のクラス.このクラスは`_'
で表現されます.なぜなら`_'はCでもLispでもこのクラスになるからです.
- `.'
-
他のどのクラスにもはいらない句読点文字のクラス.
- `('
-
構文開始区切り文字のクラス.
- `)'
-
構文終了区切り文字のクラス.
- `''
-
式と結び付く文字のクラス.あるシンボルの中やその隣にあるときはそのシンボ
ルの一部となり,ある式のすぐ前にあるときにはその式の一部となり,両側が空
白なら空白として扱われる文字のクラス.
- `"'
-
文字列区切り文字のクラス.これは2つで一組となっていて,そのペアの間にあ
る文字はエスケープ文字の`\'と`/'クラスを除いてすべて構文的な意
味を失います.エスケープ文字は文字列の中にさらに文字列区切りを含ませるた
めに用いることができます.
- `$'
-
自己対応区切りのクラス.これはTeXの`$'を意図しています.これは
mathモードにはいったりそこから抜けるのに用いられます.したがってmathモー
ドのTeX入力は一組の`$'で囲まれます.隣あった`$'文字は対応の
ためには1つの`$'として扱われます.
- `/'
-
これに続く文字の構文的意味を失わせるエスケープ文字のクラス.エスケープ文
字の次の文字は常に単なる文字として扱われます.
- `\'
-
Cスタイルのエスケープ文字のクラス.実際にはこれは`/'のクラスと同じ
に扱われます.というのはCのエスケープの特別なケース(数字があとに続くよう
な場合)は,どこでそれを含む式が終了しているかには何ら影響を与えないから
です.
- `<'
-
コメント開始文字のクラス.1文字だけでコメントが開始するもの(たとえばLisp
モードでの`;'など)だけがこのクラスで表現されます.
- `>'
-
コメント終了文字のクラス.Lispモードでの改行はこのクラスにはいります.
2文字のコメント区切り列のフラグのついた文字は,ほとんどの場合,別の構
文機能を持ちます.たとえばCコードにおける`/'と`*'は別々に現わ
れたときにはコメントとは何の関係もありません.コメント区切りは文字のペア
が正しい順序で現われたときにのみ意味があります.リストとS式コマンドだけ
がコメントを見つけるのに構文テーブルを使用します.コメント用のこれらのコ
マンドには,コメントを探すかどうかを指定する変数もあります.リストとS式
コマンドは,parse-sexp-ignore-comments
がnil
でないときに限
りコメントを考慮します.この変数はコメントがないところでコメント終了の列
が現われがちなときに,モードによってnil
に設定されます.たとえば,
Lispモードではコメント終了は改行ですが,改行がいつもコメントの終りである
とは限りません.
Go to the first, previous, next, last section, table of contents.