read line para a lista atômica no prólogo

Preciso ler qualquer linha (de user_input) em uma lista atômica, por exemplo

Example line, which contains any ASCII chars.

para dentro

[Example,'line,',which,contains,any,ASCII,'chars.']

o que eu tenho até agora:

read_line_to_codes(user_input, Input),
atom_codes(IA,Input),
atomic_list_concat(AlistI,' ',IA).

mas isso só funciona com palavras simples, devido a atom_codes. read / 2 também reclama de espaços, então existe alguma maneira de fazer isso?

oh e, em seguida, dividir em vírgula em listas 2D, acrescentando o ponto / ponto de exclamação / ponto de interrogação, por exemplo

[[Example,line],[which,contains,any,ASCII,chars],'.']

BTW: isso é SWI-prólogo.

EDIT: encontrou a solução:

read_line_to_codes(user_input, Input),
string_to_atom(Input,IA),
atomic_list_concat(AlistI,' ',IA),

não consigo responder minha própria pergunta porque não tenho 100 reputação: - /

questionAnswers(1)

yourAnswerToTheQuestion