Toy Prolog interpreter: negation by failure, no garbage collector, no cut! ------------------------------------------------------------------------------- To use type `Main.out < file.pro' or `Main.out' and give the Prolog "live" (not recommended) Main.P Prolog system main program *.P bits of Prolog system Examples example programs, eg.: GP.pro Grand-Parents Diff.pro Symbolic differentiator in Prolog. Diff2.pro differentiator using diff(Y,X,0) <= atomic(Y) and not equal(Y,X) *.pro other Prolog programs. Note: has negation by failure but no cut `!' ------------------------------------------------------- Program ::= [rules] query rule ::= atom. | atom <= literals. rules ::= rule [rules] query ::= ? literals. literal ::= atom | not atom literals ::= literal [ and literal ] atom ::= ident | ident(terms) eg. diff(Y, X, 0) term ::= ident | numeral | ident(terms) | IDENT terms ::= term [, terms] ------------------------------------------------------------------------------- Lloyd Allison, Dept. Computer Science, Monash University, Australia 3800. Do not remove: READ_ME released under Gnu `copyleft' General Public Licence. -------------------------------------------------------------------------------