rexx吧 关注:9贴子:14
  • 5回复贴,共1

Introduction to REXX

只看楼主收藏回复

REXX(Restructured Extended Executor)是IBM在1980年代发明的一种程序设计语言。主要用在IBM的大型计算机(Mainframe Computer)上,但在大部分其他的平台上也可以找到它的解译器或编译器。另有面向对象的版本,称为ObjectRexx。


1楼2016-01-11 21:22回复

    Rexx (REstructured eXtended eXecutor)是一种解释性的结构化语言。在国际商业机器被麦克-考丽萨发明. REXX是一种高可读性,易于理解的高级编程语言。解释器存在于各种平台,而编译器主要在大型机上。


    2楼2016-01-11 21:29
    回复
      Rexx is widely used as a scripting and macro language, and is often used for processing data and text and generating reports; these similarities with Perl mean that Rexx works well in Common Gateway Interface (CGI) programming and it is indeed used for this purpose. Rexx is the primary scripting language in some operating systems, e.g. OS/2, MVS, VM, AmigaOS, and is also used as an internal macro language in some other software, such as KEDIT, THE and the ZOC terminal emulator. Additionally, the Rexx language can be used for scripting and macros in any program that uses Windows Scripting Host ActiveX scripting engines languages (e.g. VBScript and JScript) if one of the Rexx engines is installed.


      3楼2016-01-11 21:29
      回复
        Rexx has the following characteristics and features:
        Simple syntax
        The ability to route commands to multiple environments
        The ability to support functions, procedures and commands associated with a specific invoking environment.
        A built-in stack, with the ability to interoperate with the host stack if there is one.
        Small instruction set containing just two dozen instructions
        Freeform syntax
        Case-insensitive tokens, including variable names
        Character string basis
        Dynamic data typing, no declarations
        No reserved keywords, except in local context
        No include file facilities
        Arbitrary numerical precision
        Decimal arithmetic, floating-point
        A rich selection of built-in functions, especially string and word processing
        Automatic storage management
        Crash protection
        Content addressable data structures
        Associative arrays
        Straightforward access to system commands and facilities
        Simple error-handling, and built-in tracing and debugger
        Few artificial limitations
        Simplified I/O facilities
        Unconventional operators
        Only partly supports Unix style command line parameters, except specific implementations
        Provides no basic terminal control as part of the language, except specific implementations
        Provides no generic way to include functions and subroutines from external libraries, except specific implementations
        Rexx has just twenty-three, largely self-evident, instructions (such as call, parse, and select) with minimal punctuation and formatting requirements. It is essentially an almost free-form language with only one data-type, the character string; this philosophy means that all data are visible (symbolic) and debugging and tracing are simplified.
        Rexx's syntax looks similar to PL/I, but has fewer notations; this makes it harder to parse (by program) but easier to use, except for cases where PL/I habits may lead to surprises. One of the REXX design goals was the principle of least astonishment.[3]


        5楼2016-01-11 21:30
        回复
          历史
          History
          Rexx was designed and first implemented, in assembly language, as an 'own-time' project between 20 March 1979 and mid-1982 by Mike Cowlishaw of IBM, originally as a scripting programming language to replace the languages EXEC and EXEC 2.[4] It was designed to be a macro or scripting language for any system. As such, Rexx is considered a precursor to Tcl and Python. Rexx was also intended by its creator to be a simplified and easier to learn version of the PL/I programming language. However, some differences from PL/I may trip up the unwary.
          It was first described in public at the SHARE 56 conference in Houston, Texas, in 1981,[5] where customer reaction, championed by Ted Johnston of SLAC, led to it being shipped as an IBM product in 1982.
          Over the years IBM included Rexx in almost all of its operating systems (VM/CMS, MVS TSO/E, AS/400, VSE/ESA, AIX, PC DOS, and OS/2), and has made versions available for Novell NetWare, Windows, Java, andLinux.
          The first non-IBM version was written for PC DOS by Charles Daney in 1984/5. The first compiler version appeared in 1987, written for CMS by Lundin and Woodruff.[6] Other versions have also been developed forAtari, AmigaOS, Unix (many variants), Solaris, DEC, Windows, Windows CE, Pocket PC, DOS, Palm OS, QNX, OS/2, Linux, BeOS, EPOC32/Symbian, AtheOS, OpenVMS, Apple Macintosh, and Mac OS X.[7]
          The Amiga version of Rexx, called ARexx, was included with AmigaOS 2 onwards and was popular for scripting as well as application control. Many Amiga applications have an "ARexx port" built into them which allows control of the application from Rexx. One single Rexx script could even switch between different Rexx ports in order to control several running applications.
          In 1990, Cathy Dager of SLAC organized the first independent Rexx symposium, which led to the forming of the REXX Language Association. Symposia are held annually.
          Several freeware versions of Rexx are available. In 1992, the two most widely used open-source ports appeared: Ian Collier's REXX/imc for Unix and Anders Christensen's Regina (later adopted by Mark Hessling) for Windows and Unix. BREXX is well known for WinCE and Pocket PC platforms, and has been "back-ported" to VM/370 and MVS.
          OS/2 had a visual development system from Watcom VX-REXX another dialect was VisPro REXX from Hockware.
          Portable Rexx by Kilowatt and Personal Rexx by Quercus are two Rexx interpreters designed for MS-DOS and can of course be run under Windows as well using a command prompt. Since the mid-1990s, two newer variants of Rexx have appeared:
          NetRexx: compiles to Java byte-code via Java source code; this has no reserved keywords at all, and uses the Java object model, and is therefore not generally upwards-compatible with 'classic' Rexx.
          Object REXX: an object-oriented generally upwards-compatible version of Rexx.
          In 1996 American National Standards Institute (ANSI) published a standard for Rexx: ANSI X3.274–1996 "Information Technology – Programming Language REXX".[8] More than two dozen books on Rexx have been published since 1985.
          Rexx marked its 25th anniversary on 20 March 2004, which was celebrated at the REXX Language Association's 15th International REXX Symposium in Böblingen, Germany, in May 2004.
          On October 12, 2004, IBM announced their plan to release their Object REXX implementation's sources under the Common Public License. Recent releases of Object REXX contain an ActiveX WSH scripting engine implementing this version of the Rexx language.
          On February 22, 2005, the first public release of Open Object Rexx (ooRexx) was announced. This product contains a WSH scripting engine which allows for programming of the Windows operating system and applications with Rexx in the same fashion in which Visual Basic and Java/J++ are implemented by the default WSH installation and Perl, Tcl, Python third-party scripting engines.
          A command-line Rexx interpreter is also installed with ooRexx, and it is also possible to run ooRexxScript programs from the command line by means of the CScript command (WScript may also be run from the command line) invoking the Windows Scripting Host.
          Rexx/Tk, a toolkit for graphics to be used in Rexx programmes in the same fashion as Tcl/Tk is widely available.
          A Rexx IDE, RxxxEd, has been developed for Windows.[9] RxSock for network communication as well as other add-ons to and implementations of Regina Rexx have been developed, and a Rexx interpreter for the Windows command line is supplied in most Resource Kits for various versions of Windows and works under all of them as well as MS-DOS.


          6楼2016-01-11 21:31
          回复
            REXX的拼写,REXX大小写的由来。
            Spelling and capitalization
            Originally the language was called Rex (Reformed Executor); the extra "X" was added to avoid collisions with other products' names. REX was originally all uppercase because the mainframe code was uppercase oriented. The style in those days was to have all-caps names, partly because almost all code was still all-caps then. For the product it became REXX, and both editions of Mike Cowlishaw's book use all-caps. The expansion to REstructured eXtended eXecutor was used for the system product in 1984.[3] By the 1990s it was largely written Rexx or, with small caps: REXX. IBM documents use REXX, and the ANSI standard uses REXX; Mike Cowlishaw expressed in an email dated 2012-08-01 on the RexxLA list his order of preference to be: (a) REXX, (b) Rexx, (c) REXX.[citation needed]


            7楼2016-01-11 21:32
            回复