Я ищу дополнительные тестовые случаи DCG.Означает тестовые случаи, которые проверяют правильное функционирование процессора DCG с точки зрения поведения результирующих преобразованных правил, а не с точки зрения его возможности обессеривания.
Я думаю, что я видел некоторые такие тестовые случаи однажды в сети,Но я потерял их след.Теперь я нахожу только следующие тестовые случаи:
http://www.sju.edu/~jhodgson/wg17/Drafts/DCGs/test_cases
(То же самое здесь: http://www.sju.edu/~jhodgson/wg17/dcgs.pdf)
Но они только периферические и интенсиональные, то есть они проверяют, не обесценивается ли преобразование, преобразование, завершается успешно или выдает ошибку. Они даже не показывают, каким должен быть результат преобразования, что меня не беспокоит, так как я все равно ищу экстенсиональные тесты DCG.
Любые указатели приветствуются.
Пока
PS: Это показывает преобразование, но оно все еще является внутренним, а не экстенсионным:
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. Поэтому набор тестов расширения был бы более удобным.