home *** CD-ROM | disk | FTP | other *** search
/ OS/2 Shareware BBS: 18 REXX / 18-REXX.zip / rdebug21.zip / RCASE.KEX < prev    next >
Text File  |  1993-03-25  |  3KB  |  101 lines

  1. /* RCASE.KEX 08-04-92 10:09 */
  2.  /*   test seperately
  3.  signal on error
  4.  signal on halt
  5.  signal on syntax
  6.  */
  7.  Parse Value 'COMMAND SET!COMMAND X!COMMAND EXT' With dbcs'!'dbxx'!'dbce                                 /*P*/
  8.  Parse Value 'COMMAND!COMMAND SOS' With dbc'!'dbso
  9.  dbce '/FN/OPSYS'
  10.  dbme='rCASE'
  11.  dbsys=opsys.1
  12.  if dbsys='OS/2' then dbsys='OS2'     /*O*/
  13.  If arg(1)=? Then Exit tell(dbme)
  14.  'COMMAND MSG' dbme 'will change some REXX/BAT words To mixed case.',
  15.  ' Press Y to continue.'
  16.  'READV KEY'
  17.  parse upper value readv.1 with ans
  18.  if ans<>'Y' then exit
  19.  trace o?r
  20.  ret=0;
  21.  'COMMAND EXTRACT /FT/LINE/CASE/STAY/MSGMODE'
  22.  ':0 COMMAND SET MSGMODE OFF';
  23.  'COMMAND SET STAY ON';
  24.  'COMMAND SET CASE MIXED RESPECT';
  25.  line=line.1
  26.  if ftype.1='BAT' then do
  27.    listold1 =' Assign Attrib Backup Break Call Chcp Chdir If For ',
  28.    ' Cd Cdkdsk Cls Command Comp Copy Country Ctty Date Debug ',
  29.    ' Del Dir Diskcomp Diskcopy Do Doskey Dosshell Echo @Echo Echo. Edit ',
  30.    ' Edlin Erase Exit Expand Fastopen Fc Find Format Goto '
  31.    listold2 =' Help Join Keyb Label Loadfix Mem Mirror Mkdir Md Mode ',
  32.    ' More Not Nlsfunc Path Pause Print Prompt Qbasic Recover Rem  ',
  33.    ' Rename Ren Replace Restore Rd Rmdir Set Setup Setver Share ',
  34.    ' Shift Sort Subst Sys Time Tree Type Undelete Unformat Ver ',
  35.    ' Verify Vol Xcopy '
  36.  end
  37.  else do
  38.    listold1 =' If Then Else Forever Do End To By For When While Until ',
  39.    ' Otherwise Address Call Exit Leave Drop Nop Interpret Iterate ',
  40.    ' Numeric Options Procedure Pull Push Queue Return Say '
  41.    listold2 =' Parse Arg External Source Version Expose On Off ',
  42.    ' Select Signal Trace Upper Var Value With Xedit Cms Command '
  43.  end
  44.  lowercase = 'abcdefghijklmnopqrstuvwxyz'
  45.  parse Upper var lowercase Uppercase
  46.  listold1 = translate(listold1,lowercase,uppercase)
  47.  listold2 = translate(listold2,lowercase,uppercase)
  48.  list=listold1
  49.  Do 2
  50.    Do i=1 To words(list)
  51.      wordold=word(list,i)
  52.      wordupp  =wordold
  53.      Upper wordupp
  54.  /*parse Upper var wordold wordupp*/
  55.      wordnew  =left(wordupp,1)substr(wordold,2)
  56.      Call change '/ 'wordold' / 'wordnew' /* *';
  57.      Call change '/ 'wordold';/ 'wordnew';/**';
  58.    End;
  59.    list=listold2
  60.  End;
  61.  Do i=1 To words(listfunc)
  62.    wordold=word(listfunc,i)
  63.    wordnew=wordold
  64.    Call change '/'wordold'/'wordnew'/**';
  65.  End
  66.  if ftype.1='BAT' then nop
  67.  else do
  68.    /* Uppercase all program labels */
  69.    'COMMAND ALL /:  /'
  70.    if rc=0 then do
  71.      'COMMAND UPPERCASE *'
  72.      'COMMAND CHANGE /RETURN/Return/*'
  73.      'COMMAND ALL'
  74.    end
  75.  end
  76.  'COMMAND SET STAY' stay.1
  77.  'COMMAND SET CASE' case.1 case.2
  78.  'COMMAND SET MSGMODE' msgmode.1
  79.  'COMMAND LOCATE :'line
  80.  If origin='exec' & ret>0
  81.  Then 'COMMAND PFILE' ret;
  82.  Else 'COMMAND EMSG' ret 'lines changed'
  83.  Exit
  84.  
  85.  CHANGE:
  86.  Parse Arg string
  87.  'COMMAND CHANGE' string
  88.  'COMMAND EXTRACT /lastmsg'
  89.  Return
  90.  If dbsys='DOS'
  91.  Then Return
  92.  Else Parse Var lastmsg.1 n .;
  93.  If datatype(n,'w') Then ret=ret+n;
  94.  Return
  95.  
  96.  ERROR:   return -7 0 sigl rdbmsg(810 rc 'in line:' sigl ';')
  97.  
  98.  HALT:    return -7 0 sigl rdbmsg(820)
  99.  
  100.  SYNTAX:  return -7 0 sigl rdbmsg(830 rc 'in line:' sigl ';')
  101.