Next: , Previous: Syntax Basics, Up: Syntax Tables


34.2 構文記述子

本節では、文字の構文を指定する構文クラスと構文フラグ、 それらを構文記述子(syntax descriptor)としてどのように 表現するかについて述べます。 構文記述子はLisp文字列であり、 望みの構文を指定するためにmodify-syntax-entryに渡します。

構文テーブルは、各文字の構文クラスを指定します。 ある構文テーブルでの文字のクラスと 他の構文テーブルでの当該文字のクラスとのあいだにはなんの関係も必要ありません。

各クラスはニーモニック文字(指定子)で区別します。 ニーモニック文字は、 クラスを指定する必要があるときにクラス名として働きます。 通常、指定子の文字は当該クラスによく現れるものです。 しかしながら、指定子としての意味は不変で、その文字の現在の構文とは独立です。

構文記述子は、構文クラス、(括弧のクラスの場合にのみ使われる) 釣り合う文字、フラグを指定するLisp文字列です。 最初の文字は、構文クラスを指定する文字(指定子)です。 2番目の文字はその文字に釣り合う文字ですが、使用しない場合には空白です。 そのあとに望みのフラグが続きます。 釣り合う文字やフラグが必要なければ、文字1つだけで十分です。

たとえば、Cモードにおける文字‘*’の構文記述子は ‘. 23’(句読点、釣り合う文字なし、 コメント開始の2番目の文字、コメント終了の最初の文字)であり、 ‘/’は‘. 14’(句読点、釣り合う文字なし、 コメント開始の最初の文字、コメント終了の2番目の文字)です。