:- initialization(run). % uncaught exception: error(type_error(chars,[]),read_term_from_chars/2) validcs --> [] | ( ";"|"A" ), validcs. run :- run(_), fail. run(T) :- _=[N,T], length(Cs,N), writeq(n(N)),nl, phrase(validcs,Cs), writeq(Cs),nl, catch(read_term_from_chars(Cs,T),error(syntax_error(_),_),fail).