%begin; !TAKEIN: augment command dictionary by all .mob-files in a directory

%include "inc:util.imp"

%externalroutinespec define command symbol(%string(255)symbol,file)

%routine do directory(%string(255)dir)
%string(255)file,symbol
  %onevent 3,4,9 %start
    %return
  %finish
  %returnif dir=""
  openinput(1,dir.":"); selectinput(1)
  %cycle
    readline(file)
    %if file -> file.(";").symbol %start; %finish
    toupper(file)
    %if file -> symbol.(".MOB") %start
      define command symbol(symbol,dir.":".file)
    %finish
  %repeat
%end

%routine do directories(%string(255)s)
%string(255)one,rest
  %while s -> one.(",").rest %cycle
    do directory(one); s = rest
  %repeat
  do directory(s)
%end

  do directories(cliparam)

%end
