*******************************************************************/\r
\r
\r
-:- style_check.\r
+:- style_check([+singleton, +no_effect, +var_branches, +atom, +discontiguous, \r
+ +charset]).\r
\r
:- dynamic \r
bindings/1,\r
write('Welcome to Pro-Lisp!'),nl,\r
write('This is a miniscule Lisp interpreter, written in Prolog'),nl,\r
prompt(Old, '> '),\r
- prompts(Old1, Old2),\r
- prompts('> ', '> '),\r
+ % prompts(Old1, Old2),\r
+ % prompts('> ', '> '),\r
tidy_database,\r
repeat,\r
read_eval_print(Result),\r
Result = quit,\r
prompt(_, Old),\r
- prompts(Old1, Old2).\r
+ % prompts(Old1, Old2).\r
+ true.\r
\r
\r
tidy_database:-\r
% read a line of supposed Lisp code\r
\r
read_words(Words):-\r
- get0(C),\r
+ % get0(C),\r
+ get_code(C),\r
read_words(C, Words).\r
\r
read_words(C, []):-\r
!,\r
read_rest_of_word(Chars, LeftOver),\r
name(UCWord, [C|Chars]),\r
- ( atom(UCWord) -> lwrupr(Word, UCWord)\r
+ ( atom(UCWord) -> downcase_atom(UCWord, Word)\r
; \r
Word = UCWord),\r
read_words(LeftOver, Words).\r
\r
\r
read_rest_of_word(Chars, LeftOver):-\r
- get0(C),\r
+ % get0(C),\r
+ get_code(C),\r
read_rest_of_word(C, Chars, LeftOver).\r
\r
\r
writeTokenL([Token|TokenL]):-\r
atom(Token),\r
!,\r
- lwrupr(Token, UCToken),\r
- write(UCToken),\r
+ % lwrupr(Token, UCToken),\r
+ % write(UCToken),\r
+ downcase_atom(Token, LCToken),\r
+ write(LCToken),\r
write(' '),\r
writeTokenL(TokenL).\r
writeTokenL([Token|TokenL]):-\r