home *** CD-ROM | disk | FTP | other *** search
/ Liren Large Software Subsidy 9 / 09.iso / l / l217 / 2.ddi / EXAMPLES / CH13EX04.PRO < prev    next >
Encoding:
Prolog Source  |  1990-03-26  |  597 b   |  25 lines

  1. /*
  2.    Copyright (c) 1986, 90 by Prolog Development Center
  3. */
  4.    
  5. domains
  6.    tok  = numb(integer); name(string); char(char)
  7.    toklist = tok*
  8.  
  9. predicates
  10.    scanner(string, toklist)
  11.    maketok(string, tok)
  12.  
  13. clauses
  14.    scanner("", []).
  15.    scanner(Str, [Tok|Rest]) :-
  16.       fronttoken(Str, Sym, Str1), maketok(Sym, Tok), scanner(Str1, Rest).
  17.       maketok(S, name(S)) :- isname(S).
  18.       maketok(S, numb(N)) :- str_int(S, N).
  19.       maketok(S, char(C)) :- str_char(S, C).
  20. goal
  21.    write("Enter some text:"),nl,
  22.    readln(Text),nl,
  23.    scanner(Text,T_List),
  24.    write(T_List).
  25.