
read_line(Line) :-
   get0(Char),
   read_line(Char, [], Line).

%% fim de arquivo
read_line(-1,[],-1).

%% 10 = eol  terminador
read_line(10, [], []) :-
   !.
read_line(10, Word, [A]) :-
   !,
   name(A, Word).

%% 32 = branco   separa palavras
read_line(32, Prev, [Word1 | Line]) :-
   !,
   name(Word1, Prev),
   get0(Char),
   read_line(Char, [], Line).
read_line(Char, Prev, Line) :-
   append(Prev, [Char], Prev1),
   get0(Char1),
   read_line(Char1, Prev1, Line).

