home *** CD-ROM | disk | FTP | other *** search
/ OS/2 Shareware BBS: 24 DOS / 24-DOS.zip / dosrx10b.zip / ABOUT.DOC < prev    next >
Text File  |  1993-03-11  |  15KB  |  327 lines

  1.  
  2.                                                                         o o
  3.                                                                       ____oo_
  4.                                  R  E  X  X                  1993    /||    |\
  5.                                   Ver. 1.0                    BNV     ||    |
  6.                                  for  MSDOS                 MARMITA   `.___.'
  7.  
  8.  
  9. ███████▓▓▓▓▓▓▓▒▒▒▒▒▒▒░░░░░░░   T Z A P A W A R E   ░░░░░░░▒▒▒▒▒▒▒▓▓▓▓▓▓▓███████
  10.  
  11.  
  12.                  Author.........Bill N. Vlachoudis
  13.                  Address........Eirinis 4
  14.                                 TK555 35 Pilea
  15.                                 Thessaloniki Greece
  16.                  Computer addr..cdaz0201@Grtheun1.EARN
  17.                                 vlachoudis@olymp.ccf.grtheun.gr [155.207.1.1]
  18.                                 bill@donoussa.physics.auth.gr   [155.207.2.6]
  19.                  Telephone......(31) 322-805
  20.                  Date...........Mar-1993
  21.  
  22.  
  23.  
  24.      About this REXX intrpreter
  25.      ~~~~~~~~~~~~~~~~~~~~~~~~~~
  26.         I wrote this version of REXX because I though that it would be
  27.      nice to have my own REXX interpreter do use it with DOS, UNIX and
  28.      also as a macro language for my programs. This REXX interpreter is
  29.      all written in ANSI C, and I didn't try to make it fast but to as
  30.      much more flexible, with very little restrictions and also to be
  31.      compatible with IBM REXX from CMS.
  32.  
  33.  
  34.  
  35.      What is REXX?
  36.      ~~~~~~~~~~~~~
  37.          REXX is a programming language designed by Michael Cowlishaw of
  38.      IBM UK Laboratories.  In his own words:  "REXX is a procedural
  39.      language that allows programs and algorithms to be written in a
  40.      clear and structured way."
  41.  
  42.          Syntactically, REXX doesn't look that different from any other
  43.      procedural language.  Here's a simple REXX program:
  44.  
  45.                  /* Count some numbers */
  46.  
  47.                  say "Counting..."
  48.                  do i = 1 to 10
  49.                      say "Number" i
  50.                  end
  51.  
  52.          What makes REXX different from most other languages is its
  53.      capability for being used as a _macro language_ for arbitrary
  54.      applications.  The idea here is that application developers don't
  55.      have to design their own macro languages and accompanying
  56.      interpreters. Instead they use REXX as the basis for that language
  57.      and support the REXX programming interface. When a REXX program
  58.      runs and comes across an expression or function that isn't part of
  59.      the base language definition, it can ask the application if it
  60.      knows how to handle it.  The application only has to support
  61.      features that are specific to it, freeing the developer from
  62.      handling the mundane task of writing a language interpreter.  And
  63.      if all applications use REXX as their macro language, the user only
  64.      has to learn one language instead of a dozen.
  65.  
  66.  
  67.  
  68.      What is the reference book for REXX?
  69.      ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  70.          The "standard" reference for REXX is Mike Cowlishaw's _The REXX
  71.      Language: A Practical Approach To Programming_, currently in its
  72.      second edition.  (The first edition had "REXX" in blue on the
  73.      cover, the second edition has it in red instead.)  Mike's book is
  74.      often referred to as either "TRL" or "the red book".  Until the
  75.      ANSI committee releases its standard, TRL is the document that
  76.      defines what REXX is.  (See the bibliography below for details on
  77.      TRL.)
  78.  
  79.  
  80.  
  81.      Information on ANSI and REXX
  82.      ~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  83.          The American National Standards Institute (ANSI) sets national
  84.      standards for various things in the United States, including
  85.      programming languages. The X3J18 REXX Standards Committee has been
  86.      established to defined a formal standard for the REXX language,
  87.      using TRL as its base document. The Committee meets 3 or 4 times a
  88.      year and holds ongoing discussions throughout the year.  Members of
  89.      X3J18 mostly include REXX implementors and some users, but anyone
  90.      can participate.  More information on X3J18 can be had from Brian
  91.      Marks (chair), marks@winvmd.vnet.ibm.com or Neil Milsted
  92.      (vice-chair), nfnm@wrkgrp.com.
  93.  
  94.  
  95.  
  96.      Newsgroups and mailing lists
  97.      ~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  98.          On Usenet the group comp.lang.rexx exists for discussion of
  99.      REXX in all its variations.  Currently the comp.lang.rexx newsgroup
  100.      is also gatewayed with the REXXLIST mailing list (i.e., anything
  101.      that gets posted to the newsgroup is sent to everyone on the
  102.      mailing list and anything that is sent to the mailing list gets
  103.      posted to the newsgroup).
  104.  
  105.          Those without Usenet access will be interested primarily in the
  106.      various mailing lists available.  The following information, kindly
  107.      provided by Scott Ophof, describes how to subscribe to the various
  108.      lists and what lists exist.  Note that these mailing lists are
  109.      BITNET-based and Internet sites might have use the proper Internet
  110.      domain-based names (given at the end) instead of the BITNET node
  111.      names.
  112.  
  113.           -- Subscribing to the list:
  114.  
  115.                  To receive postings from a list discussing REXX, send
  116.                  e-mail to:
  117.  
  118.                         LISTSERV@some-node-address
  119.  
  120.                  with the following line as body:
  121.  
  122.                         SUBSCRIBE list-name Your-full-name
  123.  
  124.                  See list below for which "list-name" to use.
  125.                  "Your-full-name" is your NAME, *not* your e-mail
  126.                  address...
  127.  
  128.                  Example: If I wanted to read more about what is going
  129.                  on with the REXX compiler for VM, I'd send e-mail to
  130.                  LISTSERV@UCF1VM and insert as the first and only line:
  131.  
  132.                         SUBSCRIBE REXXCOMP F. Scott Ophof
  133.  
  134.                  North Americans may want to send their subscription
  135.                  request to LISTSERV@uga.cc.uga.edu, Europeans might
  136.                  want to send their request to LISTSERV@DEARN, those in
  137.                  the Far East to LISTSERV@TWNMOE10, etc.  The list
  138.                  server you send your request to will automatically
  139.                  forward that request to the server nearest you if
  140.                  possible.
  141.  
  142.            -- Receiving postings:
  143.  
  144.                  Once you've subscribed to the list, any mail sent to
  145.                  the list will automatically be sent to you as well, at
  146.                  the address you used to subscribe to the list.  The
  147.                  mail will come to you just like the rest of you email.
  148.  
  149.            -- Posting to the list:
  150.  
  151.                  To post something to the list, use the email address
  152.                  listed below under "List Address".  You can also simply
  153.                  just reply to a posting you've received in your mailbox
  154.                  as is usually done (as long as it uses the "Reply-To:"
  155.                  header line).  Note that the list server will not
  156.                  normally send you a copy of anything you post.
  157.  
  158.            -- Mailing lists:
  159.  
  160.                  List Name        List Address             Discusses
  161.  
  162.                  AREXX-L          AREXX-L@UCF1VM           Amiga REXX
  163.                  PC-REXX          PC-REXX@UCF1VM           Personal REXX
  164.                  REXXCOMP         REXXCOMP@UCF1VM          REXX Compiler
  165.                  TSO-REXX         TSO-REXX@UCF1VM          TSO REXX
  166.                  UREXX-L          UREXX-L@Liverpool.ac.uk  Unix REXX
  167.                  VM-REXX          REXXLIST@HEARN           VM/SP REXX
  168.                                   VM-REXX@MARIST             "
  169.                                   VM-REXX@OHSTVMA            "
  170.                                   VM-REXX@UCF1VM             "
  171.                  REXX-L           REXX-L@UIUCVMD           generic REXX
  172.                                   REXX-L@UALTAVM             "
  173.                  REXXLIST         REXXLIST@DEARN             "
  174.                                   REXXLIST@EB0UB011          "
  175.                                   REXXLIST@FINHUTC           "
  176.                                   REXXLIST@OHSTVMA           "
  177.                                   REXXLIST@POLYGRAF          "
  178.                                   REXXLIST@TWNMOE10          "
  179.                                   REXXLIST@UCF1VM            "
  180.                                   REXXLIST@UGA               "
  181.  
  182.                  Note:
  183.                       - The list-names "REXXLIST" and "REXX-L" refer to
  184.                         the same discussion group, i.e.
  185.                         non-implementation-specific REXX.
  186.                       - Subscription requests and cancelling of
  187.                         subscriptions *must* be sent to
  188.                         <LISTSERV@that-node>, *not* to
  189.                         <list-name@that-node>.
  190.                       - With one exception, BITnet addresses have been
  191.                         used here.` See the "Address Translation List"
  192.                         for the Internet form of these addresses.
  193.                       - Please save the item you will receive on
  194.                         acceptance of your subscription detailing what
  195.                         to send where; it also contains info on how to
  196.                         cancel your subscription...
  197.  
  198.  
  199.            -- Address Translation List::
  200.  
  201.  
  202.                  BITnet node      Internet address
  203.                  DEARN            %DEARN.BITnet@nic.surfnet.nl
  204.                  EB0UB011         @sic.ub.es
  205.                  FINHUTC          @finhutc.hut.fi
  206.                  HEARN            @nic.surfnet.nl
  207.                  MARIST           @VM.Marist.EDU
  208.                  OHSTVMA          @OHSTVMA.ACS.OHIO-STATE.EDU
  209.                  POLYGRAF         @graf.poly.edu
  210.                  TWNMOE10         %TWNMOE10.BITnet@nic.surfnet.nl
  211.                  UALTAVM          @vm.ucs.ualberta.ca
  212.                  UCF1VM           @UCF1VM.CC.UCF.EDU
  213.                  UGA              @uga.cc.uga.edu
  214.                  UIUCVMD          %UIUCVMD.BITnet@uga.cc.uga.edu
  215.  
  216.  
  217.  
  218.      Selected bibliography
  219.      ~~~~~~~~~~~~~~~~~~~~~
  220.          This is from Mike Cowlishaw.  Note that a VERY complete
  221.      bibliography can be found in _The REXX Handbook_.  (Any updates to
  222.      the bibliography should be sent to Linda Suskind Green,
  223.      greenls@gdlvm7.vnet.ibm.com, who will pass them on to the
  224.      appropriate persons.)
  225.  
  226.            Modern Programming Using REXX -- Robert P. O'Hara and David
  227.            R. Gomberg
  228.                In English:   ISBN 0-13-597311-2   Prentice-Hall, 1985
  229.                              ISBN 0-13-579329-5     (Second edition), 1988
  230.  
  231.            The REXX Language -- M. F. Cowlishaw
  232.                In English:   ISBN 0-13-780735-X   Prentice-Hall, 1985
  233.                              ISBN 0-13-780651-5     (Second edition), 1990
  234.                In German:    ISBN 3-446-15195-8   Carl Hanser Verlag, 1988
  235.                              ISBN 0-13-780784-8   P-H International, 1988
  236.                In Japanese:  ISBN 4-7649-0136-6   Kindai-kagaku-sha, 1988
  237.  
  238.            REXX In the TSO Environment -- Gabriel F. Gargiulo
  239.                ISBN 0-89435-354-3, QED Information Systems Inc.,
  240.                Order #CC3543;  320 pages, 1990
  241.  
  242.            Practical Usage of REXX -- Anthony S. Rudd
  243.                ISBN 0-13-682790-X, Ellis Horwood (Simon & Schuster), 1990
  244.  
  245.            Using ARexx on the Amiga -- Chris Zamara and Nick Sullivan
  246.                ISBN 1-55755-114-6, 424pp+diskette, Abacus, 1991
  247.  
  248.            The REXX Handbook -- Edited by Gabe Goldberg and Phil Smith III
  249.                ISBN 0-07-023682-8, 672pp, McGraw Hill, 1991
  250.  
  251.            Amiga Programmer's Guide to ARexx -- Eric Giguere
  252.                Commodore-Amiga, Inc., 1991
  253.  
  254.            Programming in REXX -- Charles Daney
  255.                ISBN 0-07-015305-1, 300pp, McGraw Hill, 1992
  256.  
  257.            Command Language Cookbook for Mainframes, Minicomputers,
  258.                 and PCs: DOS/OS/2, Batch Language, CLIST, DCL, Perl, REXX
  259.                  -- Hallett German
  260.                Van Nostrand Reinhold, 1992
  261.                ISBN 0-442-00801-5, 366 pages, paperback, $49.95
  262.  
  263.          Note that IBM also publishes a whole slew of REXX-related
  264.          documents, sometimes referring to REXX as the "SAA Procedures
  265.          Language".  One of these documents is the SAA CPI Procedures
  266.          Language Level 2 Reference, SC24-5549.
  267.  
  268.  
  269.      Note.
  270.      ~~~~~
  271.          The previous paragraphs, (from "What is REXX?" till here ) are
  272.      adapted from Eric Giguere <giguere@CSG.UWATERLOO.CA> mail with
  273.      subject "REXX Frequently Asked Questions" in the "General REXX
  274.      Discussion List" at REXXLIST@DEARN.BITNET.
  275.  
  276.  
  277.  
  278.  
  279.      The special features of REXX interpreter are:
  280.      ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  281.        o  All rexx commands and functions have easy and very simple
  282.           names.
  283.        o  Rexx variables are not distiquish in strings, integer, reals
  284.           and any other kind of variables. All variables are handled as
  285.           strings and only in arithmetic operations variables must
  286.           evaluate to a acceptable number.
  287.           ie.    ' -2' + 3    will evaluate to '1'
  288.                 left(21+6,1)  will return '2'
  289.                 left('amo',1) will return 'a'
  290.        o  There is no need to declare any variable,function before you
  291.           use it All variables are evaluate to their name, the first
  292.           time they used.
  293.        o  There is no any limitation in the size of each variable (or
  294.           array) except the convential memory (and in DOS 1 segment 64k,
  295.           for each variable).
  296.        o  When rexx intrepreter doesn't understand one command it pass
  297.           it to the operating system (default) to execute it, or to any
  298.           other program you want.
  299.        o  Rexx has a large library with lot of string handling
  300.           functions.
  301.        o  A very powerful PARSE command, where you can parse a string
  302.           (from several sources) according to a template in anything you
  303.           like.
  304.  
  305.  
  306.      This rexx interpreter has also:
  307.      ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  308.        o  A mathematic library with all the scientific functions,
  309.           sin,cos...
  310.        o  The ability to create new libraries for rexx programs
  311.        o  Very flexible routines for file I/O
  312.        o  It has its own stack that make very easy the communication
  313.           with the operating system.
  314.        o  Any program that uses the standard input/output can be used as
  315.           rexx function.
  316.           ie  a = 'cd'()  /* returns the current directory, by calling CD
  317.                              command of DOS */
  318.  
  319.  
  320.      DISCLAIMER
  321.      ~~~~~~~~~~
  322.      THE SOFTWARE  REFERENCED  IS MADE  AVAILABLE AS - IS. THE AUTHOR
  323.      MAKES NO WARRANTY ABOUT THE  SOFTWARE AND ITS CONFORMITY TO ANY
  324.      APPLICATION. THE AUTHOR IS NOT RESPONSIBLE FOR ANY DAMAGE, LOSS OF
  325.      DATA, OR LOSS OF MONEY CAUSED BY THIS PROGRAM.
  326.  
  327.