nd_search/3, nd_search/4

a family of Non-deterministic search predicates, implemented in Assembly Language.

These predicates have many variants:

nd_search(STRING,CHAR,INTEGER) -(i,i,o)

Searches a string(arg.1) non-deterministically for a given char(arg.2), producing all the positions(arg.3) inside the string where the char occurs.

nd_search(STRING,STRING,INTEGER) -(i,i,o)

Searches a string(arg.1) non-deterministically for a given substring(arg.2), producing all the positions(arg.3) inside the string where the substring occurs.

nd_search(STRING,CHAR,INTEGER,INTEGER) -(i,i,i,o)

Searches a string(arg.1) non-deterministically for a given char(arg.2), starting from an initial position(arg.3) producing all the positions(arg.4) inside the string where the char occurs.

nd_search(STRING,STRING,INTEGER,INTEGER) -(i,i,i,o)

Searches a string(arg.1) non-deterministically for a given substring(arg.2), starting from an initial position(arg.3) producing all the positions(arg.4) inside the string where the substring occurs.

This family of predicates has been implemented in Pure 32-bit Assembly.