拡張 DCG テスト ケースを探しています。脱糖機能ではなく、結果として変換されたルールの動作に関して、DCG プロセッサの正しい機能をチェックするテスト ケースを意味します。
かつてネット上でそのようなテストケースをいくつか見たことがあると思います。しかし、私はそれらを見失いました。現在、次のテストケースのみが見つかりました。
http://www.sju.edu/~jhodgson/wg17/Drafts/DCGs/test_cases
(ここも同じ: http://www.sju.edu/~jhodgson/wg17/dcgs.pdf )
しかし、それらは表面的かつ意図的なものにすぎません。つまり、変換である脱糖が成功するか、エラーが発生するかをテストします。変換結果がどうあるべきかさえ示していませんが、とにかく拡張 DCG テストケースを探しているので気にしません。
どんなポインタも歓迎します。
さよなら
追伸: これは変換を示していますが、それでも外向的ではなく内在的です:
http://www.sju.edu/~jhodgson/wg17/GRIND.TXT
そして、例えば:
expand(( a(4)-->[98] ),
(a(4, S0, S1):- 'C'( S0,98, S1))).
expand(( a(28)--> \+b,c ),
(a(28,_608,_609):-(b(_608,_619)->fail;_617=_608),c(_617,_609))).
しかし、多くの Prolog システムでは、DCG の終端、否定などに異なるアプローチが使用されています。したがって、拡張テスト スイートの方が便利です。