home *** CD-ROM | disk | FTP | other *** search
/ NetNews Usenet Archive 1992 #19 / NN_1992_19.iso / spool / comp / lang / rexx / 789 < prev    next >
Encoding:
Internet Message Format  |  1992-08-26  |  3.8 KB

  1. Path: sparky!uunet!usc!wupost!psuvax1!psuvm!cjs
  2. Organization: Penn State University
  3. Date: Tue, 25 Aug 1992 14:59:55 EDT
  4. From: Christopher Sacksteder <CJS@psuvm.psu.edu>
  5. Message-ID: <92238.145955CJS@psuvm.psu.edu>
  6. Newsgroups: comp.lang.rexx
  7. Subject: Re: REXXCOMP versus EXECUPDT (NOUPDATE NOCOM
  8. References: <92237.141853CJS@psuvm.psu.edu>
  9.  <1992Aug25.160136.1074@hou.amoco.com>
  10. Lines: 90
  11.  
  12. In article <1992Aug25.160136.1074@hou.amoco.com>, zjlc12@hou.amoco.com (Jerry
  13. Campbell) says:
  14. >I was speaking from my experience with CMS Rexx.  I've never heard of a
  15. >anything available for CMS Rexx that preprocesses the source in the
  16. >way you're talking about.  What does the interpreter do with it?  How does
  17. >it recognize that this file has been "tokenized"?
  18.  
  19. An overview from the creator, Leigh Johnson, Prudential Insurance,
  20. follows.  This has been out and about for about 5 years, so I thought
  21. *everyone* knew of it.
  22. ----------------------------------------------------------------------
  23.     This modification creates 'compiled' REXX execs.  Actually, the REXX
  24.      exec is simply pre-parsed, and converted to a 1 record internal
  25.      format.  This completely avoids all of the parsing work normally
  26.      done by DMSRIN every time an exec is executed, and provides
  27.      execution time savings of up to 30%-50% (depending on the function
  28.      of the individual exec).
  29.  
  30.     Also, this provides the benefit of a 'non-traceable' exec.  Since
  31.      the original exec source, required to perform tracing, is not
  32.      available, a 'TS' or 'SET EXECTRAC ON' request will result in
  33.      tracing only non-zero return codes from host commands.
  34.  
  35.     Since the compiled exec is in an internal format, it is extremely
  36.      difficult to XEDIT the exec to determine its function, and
  37.      virtually impossible to modify it in this form.
  38.  
  39.  
  40. Function -
  41.  
  42.     DMSRIN recognizes a compiled exec and avoids all of the work normally
  43.      required to do parsing.  Instead, the next pre-parsed clause is
  44.      obtained directly from the input exec.  For a detailed description
  45.      of the parsing done by DMSRIN, see the comments in that module.
  46.  
  47.     DMSRTC recognizes a compiled exec and refuses to do any tracing of it.
  48.      This is required since the internal format of a compiled exec does
  49.      not lend itself to very meaningful tracing anyway.
  50.  
  51.  
  52. DMXRXCOM -
  53.  
  54.     This is the REXX COMPILER.  It is entirely separate from the normal
  55.      REXX interpreter, and is designed to be GENMOD'ed as a MODULE.
  56.  
  57.     Since this program directly utilizes a section of code from DMSRIN
  58.      to do the actual parsing, it is provided as an update file to
  59.      DMSRIN in order that any maintenance to that module may be
  60.      automatically incorporated into DMXRXCOM.
  61.  
  62.     In order to rebuild DMXRXCOM you may either:
  63.          1. Use the UPDATE command directly to create the
  64.             assembler source.
  65.          2. Apply the update to DMSRIN using XEDIT and 'PUT'
  66.             the entire source program thus created into the
  67.             file 'DMXRXCOM ASSEMBLE'.
  68.          3. Use VMFASM to automatically apply the update to
  69.             DMSRIN and assemble it, then renaming the text
  70.             deck to DMXRXCOM.  (Being careful not to overlay
  71.             the real DMSRIN TEXT.)
  72.          4. Anything else that works for you.
  73.  
  74.  
  75. Code affected -
  76.  
  77.     DMSRIN  LSP022DS  Recognize a compiled exec and avoid parsing
  78.     DMSRTC  LSP022DS  Recognize a compiled exec to disallow tracing
  79.  
  80.     DMSRIN  DMXRXCOM  Build DMXRXCOM, the REXX compiler
  81.  
  82.  
  83. Requires regeneration of -
  84.  
  85.     CMS NUCLEUS,
  86.     DMXRXCOM MODULE
  87.  
  88.  
  89. Written for CMS/SP4, at Service Level 411.
  90.  
  91. Although there has been no attempt to test this program at other
  92. release or service levels, it should function properly under any
  93. service level, including SP3.
  94.  
  95.    Leigh Johnson
  96.    Spurt 1G
  97.    Prudential Insurance
  98.    55 N. Livingston Avenue
  99.    Roseland, New Jersey 07068
  100.  
  101.     02/09/87
  102.