load list1; dcl crlf_ , bln_ , tab_ : char ; dcl tic1, tic2 : str ; dcl dupl : char # num --> str ; dcl cmt,angle,tix1,tix2,blx,paras,brcks,brces : str --> str; dcl lpad , rpad : str # num # char --> str ; dcl oct2str : num --> str ; say tic1 <== "\'" ; say tic2 <== "\"" ; say cmt s <== blx("/*" <> blx(s) <> "*/") ; say angle s <== "<" <> s <> ">" ; say tix1 s <== "\'" <> s <> "\'" ; say tix2 s <== "\"" <> s <> "\"" ; say blx s <== " " <> s <> " " ; say paras s <== "(" <> s <> ")" ; say brcks s <== "[" <> s <> "]" ; say brces s <== "{" <> s <> "}" ; say dupl (c,n) <== when n>0 then [c] <> dupl(c , n - 1) else ""; say crlf_ <== '\n' ; say bln_ <== ' ' ; say tab_ <== ' ' ; say rpad(s,l,c) <== let k === l - length(s) in when k > 0 then s <> dupl(c,k) else s ; say lpad(s,l,c) <== let k === l - length(s) in when k > 0 then dupl(c,k) <> s else s ; say oct2str (n) <== when n < 8 then [ chr(n + asc('0')) ] else oct2str(n div 8) <> oct2str((n - (n div 8) * 8)) ;