!PAMSET: set user selection of GROUPSEP and KEYFLAG %include "inc:util.imp" %begin %integer i,j,k %integer char1,char2,sym %predicate ok(%integer char) %false %if char < ' ' %false %if 'a' <= char!32 <= 'z' %false %if '0' <= char <= '9' %false %if char = '!' %or char = ',' %true %end prompt("GroupSeparator then Keyflag:") %cycle %cycle readsymbol(sym); char1 = sym %if char1 >= ' ' %start readsymbol(sym); char2 = sym %if char2 >= ' ' %start readsymbol(sym) %exit %if sym = nl %finish %finish printstring(" Definition must be precisely two symbols then RETURN") newline %repeat %if ok(char1) %start %if ok(char2) %start %if char2 # ' ' %start %exit %if char2 # char1 printstring(" Choices must be different") %else printstring(" Keyword flag cannot be space") %finish %else printstring(" ".tostring(char2)." is not a valid choice") %finish %else printstring(" ".tostring(char1)." is not a valid choice") %finish newline readsymbol(sym) %while sym # nl %repeat pam_groupsep = char1 pam_keyflag = char2 %endofprogram