2011-12-08 6 views
3

エクステンデッドDCGテストケースを探しています。なく、その脱糖 能力の点で得 変換ルールの挙動の点でDCG プロセッサの正しい機能をチェック テストケースを意味します。エクステンションDCGテストケース

私はネット上で一度このようないくつかのテストケースを見ましたと思います。 しかし、私はそれらのトラックを失った。 (同じここで:http://www.sju.edu/~jhodgson/wg17/dcgs.pdf

http://www.sju.edu/~jhodgson/wg17/Drafts/DCGs/test_cases

をしかし、彼らは、彼らは脱糖、変換は、 を成功または与えますかどうかをテストすなわち 、唯一perphericallyと内包されている今、私は、次の テストケースを見つけますエラー。私は だからこそ、拡張DCGテストケースを探しているので、変換が何であるかを示すことさえできません。

任意のポインタを歓迎します。

さようなら

PS: は、この1つは、変換を示し、それはまだ内包 なく伸びている。
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では、端末には別のアプローチ、 否定などを使用します。したがって、拡張テストスイートは がより便利になります。

答えて

2

ただextensional DCG test casesのカップルを完了しました。

述語:テストケース は、次のカバーを行います。/4:端末
述語( - >)/ 2:非末端
述語(、)/ 4:接続詞
述語(;)/ 4:論理和
述語( - >)/ 4:含意
プレディケート(+)/ 3:ネガティオとして失敗0​​ 述語!/2:Cut
述語{}/3:補助条件

一部のテストケースでは、堅牢性をチェックしています。テストケースの総数 です:56

テストケースは、DCG内部プッシュバックとメタ電話をカバーしていません。 テストケースは、を利用する@/3ここで、次に、リスト/ [0,1] を使用する場合、元のDCGコードがそれの拡張見られないように。

@(X) --> X. 

テストケースがに触発されています:以下のように@/3 が定義されている モウラ、P.編。 (2010):Prolog、パート3:確定句文法規則、ドラフト、ISO/IEC DTR 13211 3:2006、April 1、2010