fscan:
    proc options(main);
    %replace
        true by '1'b;
    dcl
        token char(80) var
        static initial('');

    gnt:
        proc;
        dcl
            i fixed,
            line char(80) var
            static initial('');

        line = substr(line,length(token)+1);
            do while(true);
            if line = '' then
                get edit(line) (a);
            i = verify(line,' ');
            if i = 0 then
                line = '';
            else
                do;
                line = substr(line,i);
                i = verify(line,'0123456789.');
                if i = 0 then
                    token = line;
                else
                if i = 1 then
                    token = substr(line,1,1);
                else
                    token = substr(line,1,i-1);
                return;
                end;
            end;
        end gnt;

        do while(true);
        call gnt;
        put edit(''''!!token!!'''') (x(1),a);
        end;
    end fscan;
