next up previous contents
Next: Formalisms Up: Toward a finite state Previous: Prolog preliminaries

The database: definition of automaton

%% Query generator

fsa_init :-
 initial(Node),
 fsa(Node,CharList),
 list2string(CharList,String),
 write(String),nl,fail.

list2string(CharList,String) :-
  l2s(CharList,AsciiList),
  name(String,AsciiList).

string2list(String,CharList) :-
  name(String,AsciiList),
  l2s(CharList,AsciiList).

l2s([],[]) :- !.

l2s([CharHead|CharRest],[AsciiHead|AsciiRest]) :-
   name(CharHead,[AsciiHead]),
   l2s(CharRest,AsciiRest).

%% Main caller programme:

:-
  perform(fsa_init),
  halt.

Output of query generator:

sp, st, sk, sm, sn, str, p, t, k, b, d, g, m, n.



Dafydd Gibbon
Fri Nov 28 02:24:58 MET 1997