ADDED mttroot/mtt/bin/trans/m/subs_arg.m Index: mttroot/mtt/bin/trans/m/subs_arg.m ================================================================== --- /dev/null +++ mttroot/mtt/bin/trans/m/subs_arg.m @@ -0,0 +1,51 @@ +function args_out = subs_arg(args,Args) +% subs_arg - substitutes arguments into args from Args +% FS defaults to `;'. +% +% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% %%%%% Model Transformation Tools %%%%% +% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% +% Matlab function subs_arg.m +% args = subs_arg(args,Args) +% Copyright (c) P.J. Gawthrop, 1996. + + +% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% %% Version control history +% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% %% $Id$ +% %% $Log$ +% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +% Symbolic argument sign +S = '$'; + + +args_out = ''; +if strcmp(args,'')==0 + L = length(args); + args_count = 1; + num_count=0; + while args_count <= L + ch = str2ch(args,args_count); + if ch~=S % copy character + args_out = [args_out, ch]; + args_count = args_count+1; + else % find argument number + args_count = args_count+1; + ch = str2ch(args,args_count); + i=0; + while (ch>='0') & (ch<='9') + i = 10*i + abs(ch)-abs('0'); + if args_count==L + args_count = args_count+1; + break + end; + args_count = args_count+1; + ch = str2ch(args,args_count); + end; + args_out = [args_out, args2arg(Args,i)]; + end; + end; +end;