式パーサーの最も基本的な使い方は、特定の状態で、指定された位置から開始し、指定した終了位置まで解析させるというものです。
この関数は、現在のバッファ内で start から始まる sexp を解析し、limit を越えてスキャンすることはありません。位置 limit に達したとき、または以下に述べる特定の条件が満たされたときに解析を停止し、ポイントを解析停止位置に設定します。そして、停止位置における解析状態を示すパーサー状態を返します。
第3引数 target-depth が nil
以外の場合、括弧内の深度が target-depth と等しくなるとパースが停止します。深度は 0、または
state で指定された値から始まります。
第4引数 stop-before が nil
以外の場合、sexp を開始する文字が現れた時点でパースが停止します。stop-comment が
nil 以外の場合、ネストされていないコメントの開始時点でパースが停止します。stop-comment がシンボル syntax-table
の場合、ネストされていないコメントまたは文字列の開始時点、あるいはネストされていないコメントまたは文字列の終了時点のいずれか早い方でパースが停止します。
state が nil である場合、start
は関数定義の冒頭など、括弧構造の最上位レベルにあるものとみなされます。あるいは、構造の途中でパースを再開したい場合もあるでしょう。その場合は、パースの初期状態を示す
state 引数を指定する必要があります。以前に parse-partial-sexp を呼び出した際に返された値が適しています。