型の定義を可能にする構文拡張を作成しました
type.yjson type_name {
/* type_declaration */
}
json ファイルから直接レコード値を作成できるようにします。構文拡張は、モジュールとそのために必要な関数を挿入します。ここまでは問題ありません。構文拡張機能は、私が望んでいたことを正確に実行します。
コード内の他の場所 (つまり、関数パラメーター) で「yjson」を使用したい場合、問題が発生し始めます。
ここで私が試したこと:
EXTEND Gram
str_item:
[
[ KEYWORD "type"; KEYWORD "."; "yjson"; tdl_raw = type_declaration ->
ここで、「yjson」を関数パラメーターとして使用すると発生するエラー
[fun_binding] expected after [ipatt] (in [let_binding])
ここで何が起こっているのかよくわかりません。ルールが一致していないように見えるのに、解析エラーが発生するのはなぜですか?