Prev Next Up Home Keys Figs Search New

ISO Standard Prolog Information

Appeared in Volume 8/4, November 1995

Keywords: standard.

rss@seg.npl.co.uk
Roger Scowen
21st June 1995

I am preparing some Prolog procedures which provide an index and information about ISO Standard Prolog. There are three files:

r356iso13211 - Latex source describing the other two files

r356iso13211.chk - Latex source suggesting some consistency checks on the procedures

r356iso13211.pro - The Prolog procedures (also a Latex source file)

The procedures, being in Prolog, can be used as both documentation and as the raw data for a package to identify (some of the) features in a program which are not standard-conforming.

I append brief specifications. Eventually I will make the procedures available by FTP and WWW, but are they useful and how might they be improved? Send me email if you would like to review them.

definition(W, clause(C), page(P)): true if standard Prolog contains a definition of the word or phrase W at clause C on page P.

standard_operator(P, S, OP): true if standard Prolog contains an operator OP with priority P and specifier S.

bip_goal(G): true if standard Prolog contains a built-in predicate or control construct executed by a goal G whose dummy arguments are indicated by the arguments of G.

bip_index(G, clause(C), page(P)): true if standard Prolog contains a built-in predicate or control construct which is executed by a goal G and defined in clause C starting on page P.

bip_template(T): true if T is a template for a built-in predicate defined in standard Prolog.

bip_reexecutable(G): true if standard Prolog contains a built-in predicate or control construct which is re-executable, i.e. it may be satisfied more than once.

eval_functor_index(E, clause(C), page(P)): true if standard Prolog contains an evaluable functor evaluated by an expression E is defined in clause C starting on page P.

eval_functor_template(T): true if T is a template for an evaluable functor defined in standard Prolog.

directive_index(D, clause(C), page(P)): true if standard Prolog contains a directive D which is defined in clause C starting on page P.

flag_index(F, clause(C), page(P)): true if standard Prolog contains a flag F which is defined in clause C starting on page P.

name_term(English_name, Term): true if standard Prolog contains a control construct, built-in predicate, or evaluable functor which is executed by a predication unifying with Term, and whose name is pronounced in English as English_name.

Prev Next Up Home Keys Figs Search New