Project "Contraintes" Prolog Web Pages:
Tests of Conformance to the ISO standard
This page provides links to suites that test conformance to
the ISO Prolog standard: ISO/IEC 13211-1.
In order to be able to run these suites your processor should support the
following (standard required) predicates.
- Exceptions must be thrown in the standard syntax
error(ErrorTerm, ImpDef).
- It must be possible to set a flag so that a call to an
unknown predicate throws an error. Normally this is done with the set_prolog_flag/1.
- Given the above there must be a mechanism for raising and handling exceptions.. The tests use the control constructs catch/3 and throw/1.
If your processor supports exception handling but not in this precise form you can probably adapt
things by defining catch/3 and throw/1 to invoke your processors corresponding control constructs.
The test suites
-
A test suite based on the formal specification
- This suite is designed to be easily expandable. New tests can be added to the files or new files of tests added. Documentation on the use of the test is in the README file. Emphasis is on finding all the solutions to
a given goal.
-
A test suite based on the examples in the documentation of the standard
- This suite is not as susceptible of expansion. It uses different predicates
to test for success, failure and to catch errors.
It is organised by clause of the standard. Instructions for its use are in
the README file.
Author: J.P.E. Hodgson
Saint Joseph's University
Philadelphia PA 19131
USA
Last Changed: 1 March 1999