scan: proc; %replace true by '1'b, false by '0'b; dcl f_stack(8) file variable external, f_top fixed external, accum char (128) var external, line char (128) var static init(''); dcl c char(1), i fixed; do while(true); if length(line) = 0 then get file(f_stack(f_top)) edit(line) (a); else line = substr(line,length(accum)+1); i = verify(line,' '); if i = 0 then line = ''; else do; line = substr(line,i); accum = substr(line,1,1); if index('[]->;().,"',accum) ~= 0 then return; do i = 2 to length(line); c = substr(line,i,1); if index(' []->;().,',c) ~= 0 then do; accum = substr(line,1,i-1); if c ~= '.' then return; if verify(accum,'0123456789') ~= 0 then return; end; end; accum = line; return; end; end; end scan;