GNU Emacs 32.0.50 (9008bf64c3) のマニュアルを PLaMo 翻訳で機械翻訳したものです。誤訳を含むことがあります。原文: https://www.gnu.org/software/emacs/manual/html_node/elisp/Parsing-Expressions.html ・ emacs-doc.conao3.com

36.6 構文解析式

本節では、バランスの取れた式を解析・走査するための関数について説明します。これらの関数はLisp以外の言語に対しても適用可能ですが、Lispの用語に従い、こうした式をsexpと呼びます。基本的に、sexpとは、バランスの取れた括弧によるグループ化、文字列、またはシンボル(すなわち、構文が単語構成要素またはシンボル構成要素である文字列)のいずれかです。ただし、式の接頭辞構文クラス(構文クラス表を参照)に属する文字がsexpの隣に現れる場合、それらはsexpの一部として扱われます。

構文テーブルは文字の解釈を制御するため、これらの関数はLispモードではLisp式に、CモードではC式に使用できます。バランス式を移動するための便利な高レベル関数については、バランス式の移動を参照してください。

文字の構文は、状態そのものを記述するのではなく、パーサーの状態をどのように変化させるかを制御します。例えば、文字列区切り文字はパーサーの状態を「文字列内」と「コード内」で切り替えますが、文字の構文自体は、それが文字列内にあるかどうかを直接的に示すものではありません。例えば(15は汎用的な文字列区切り文字の構文コードであることに注意してください)、

(put-text-property 1 9 'syntax-table '(15 . nil))

現在のバッファの先頭8文字が文字列であることをEmacsに伝えるのではなく、それらがすべて文字列の区切り文字であることを伝えています。その結果、Emacsはこれらを4つの連続する空文字列定数として扱います。