R6RS:翻訳:Standard Libraries:12.9 Syntax violations

R6RS:翻訳:Standard Libraries:12.9 Syntax violations

12.9 構文違反

[procedure] (syntax-violation who message form)

[procedure] (syntax-violation who message form subform)

who は #f ないしは文字列ないしはシンボルである。message は文字列である。 form は構文オブジェクトないしはデータ値である。 subform は構文オブジェクトないしはデータ値である。 syntax-violation 手続きは例外を通知し、構文違反を報告する。 who は例外を検出したマクロ変換子の説明である。 message 引き数はその違反の内容についての説明である。 form はエラーを起こした構文オブジェクトないしはフォームを表すデータ値である。省略可能な subform は構文オブジェクトないしはフォームを表すデータ値で、より精確な違反の場所を示すものである。

who が #f である場合、syntax-violation 手続きは、コンディションオブジェクトに適切な値を推測しようとする。 form が識別子、ないしはリスト構造の構文オブジェクトであり、その最初の要素が識別子である場合、推測される値は識別子のシンボルである。さもなくは、コンディションオブジェクトの一部として who の値は提供されない。

ここで通知された例外(R6RS:翻訳:Standard Libraries:7 Exceptions and conditions参照)とともに与えられたコンディションオブジェクトは以下のコンディション型を持つ。


Last modified : 2017/01/23 07:50:40 UTC