首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >扩展DCG测试用例

扩展DCG测试用例
EN

Stack Overflow用户
提问于 2011-12-09 01:06:30
回答 1查看 270关注 0票数 3

我正在寻找扩展的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

例如,它有:

代码语言:javascript
复制
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中。因此,扩展测试套件会更方便。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-01-05 21:46:24

刚刚完成了几个extensional DCG test cases。测试用例确实涵盖了以下内容:

谓词。/ 4:终端

谓词(-->) / 2:非终结符

谓词(,)/ 4:连接词

谓词(;) / 4:析取

谓词(->) / 4:含义

谓词(+) / 3:否定为失败

谓词!/ 2: Cut

谓词{} / 3:辅助条件

一些测试用例检查稳定性。测试用例总数为: 56。

测试用例不包括DCG内部的推送和元调用。测试用例在这里使用@/3,这样当使用listing/0,1时,可以看到原始的DCG代码,而不是它的扩展。@/3的定义如下:

代码语言:javascript
复制
@(X) --> X.

测试用例的灵感来自: Moura,P. ed。(2010年):Prolog,第3部分:确定从句语法规则,草案,ISO/IEC DTR 13211 3:2006,2010年4月1

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/8434772

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档