CMU Artificial Intelligence Repository
ATN: Prolog transition net interpreter.
lang/prolog/code/ext/atn/
This package is for those occasions when you need to represent a
program as a network of labels and gotos. For example, it is useful
when implementing a finite state machine or other transition networks.
ATN defines predicates for loading and interpreting such networks.
Here is an example network:
go ::
to count(1).
count(10) ::
write( 'Done.' ), nl
to success.
count(N) ::
write( 'N = ' ), write( N ), write('.'), nl,
Rem is N mod 2
to odd(N) if Rem=1
to even(N).
odd(N) ::
write( 'That is even.' ), nl
to inc(N).
even(N) ::
write( 'That is odd.' ), nl
to inc(N).
inc(N) ::
Ni is N+1
to count(Ni).
To run it, you would load it, and then call
?- do_node( go ).
Origin:
src.doc.ic.ac.uk:packages/prolog-pd-software/ (146.169.2.1)
as atn.tar.Z
Version: 11-JAN-91
Ports: Edinburgh-compatible Prologs.
CD-ROM: Prime Time Freeware for AI, Issue 1-1
Author(s): Jocelyn Paine
Department of Experimental Psychology
Oxford University
South Parks Road
Oxford OX1 3UD
Tel: (0865) 271444
Fax: (0865) 310447
Keywords:
ATN Interpreter, Authors!Paine, Finite State Machines, GOTO,
Labels, Oxford, Prolog!Code, Prolog!Extensions
References:
Some documentation is included in the distribution.
Last Web update on Mon Feb 13 10:33:33 1995
AI.Repository@cs.cmu.edu