The Regina Rexx Interpreter
Total Page:16
File Type:pdf, Size:1020Kb
The Regina Rexx Interpreter Version 3.9.3 Mark Hessling <[email protected]> Florian Große-Coosmann <[email protected]> 5 October, 2019 Original Author: Anders Christensen <[email protected]> Regina Home Page at: http://regina-rexx.sourceforge.net 1 Copyright © 1992-1998 Anders Christensen Copyright © 1998-2019 Mark Hessling Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.1 or any later version published by the Free Software Foundation; with no Invariant Sections, with no Front-Cover Texts, and with no Back-Cover Texts. A copy of the license is included in the section entitled "GNU Free Documentation License". 2 Table of Contents 1 Introduction to Regina..................................................................................................................11 1.1 Purpose of this document......................................................................................................11 1.2 Implementation.....................................................................................................................11 1.3 Ports of Regina......................................................................................................................12 1.4 Executing Rexx programs with Regina................................................................................12 1.4.1 Switches........................................................................................................................13 1.4.2 External Rexx programs................................................................................................15 2 Rexx Language Constructs...........................................................................................................17 2.1 Definitions............................................................................................................................17 2.1.1 Tokens...........................................................................................................................18 2.2 Null clauses...........................................................................................................................19 2.3 Commands............................................................................................................................21 2.3.1 Assignments..................................................................................................................21 2.4 Instructions............................................................................................................................23 2.4.1 The ADDRESS Instruction...........................................................................................25 2.4.2 The ARG Instruction.....................................................................................................32 2.4.3 The CALL Instruction...................................................................................................32 2.4.4 The DO/END Instruction..............................................................................................36 2.4.5 The DROP Instruction...................................................................................................39 2.4.6 The EXIT Instruction....................................................................................................41 2.4.7 The IF/THEN/ELSE Instruction...................................................................................42 2.4.8 The INTERPRET Instruction........................................................................................42 2.4.9 The ITERATE Instruction.............................................................................................44 2.4.10 The LEAVE Instruction...............................................................................................45 2.4.11 The NOP Instruction....................................................................................................45 2.4.12 The NUMERIC Instruction.........................................................................................46 2.4.13 The OPTIONS Instruction..........................................................................................47 2.4.14 The PARSE Instruction...............................................................................................48 2.4.15 The PROCEDURE Instruction...................................................................................51 2.4.16 The PULL Instruction.................................................................................................54 2.4.17 The PUSH Instruction.................................................................................................54 2.4.18 The QUEUE Instruction..............................................................................................54 2.4.19 The RETURN Instruction...........................................................................................54 2.4.20 The SAY Instruction....................................................................................................56 2.4.21 The SELECT/WHEN/OTHERWISE Instruction.......................................................56 2.4.22 The SIGNAL Instruction.............................................................................................57 2.4.23 The TRACE Instruction..............................................................................................60 2.4.24 The UPPER Instruction...............................................................................................62 2.5 Operators...............................................................................................................................62 2.5.1 Arithmetic Operators.....................................................................................................62 2.5.2 Assignment Operators...................................................................................................62 2.5.2.1 Basic Assignment Operators.................................................................................62 2.5.2.2 Shortcut Assignment Operators.............................................................................63 2.5.3 Concatenation Operators...............................................................................................64 2.5.4 Comparative Operators.................................................................................................64 2.5.4.1 Negators.................................................................................................................64 2.5.5 Logical Operators..........................................................................................................65 2.6 Special Variables...................................................................................................................65 2.6.1 Local Scope – User Writeable.......................................................................................65 3 RC - (ANSI)........................................................................................................................65 RESULT - (ANSI)...............................................................................................................65 SIGL - (ANSI).....................................................................................................................65 2.6.2 Global Scope – Read-Only............................................................................................65 .MN - (ANSI)......................................................................................................................66 .RC - (ANSI).......................................................................................................................66 .RS - (ANSI)........................................................................................................................66 .RESULT - (ANSI)..............................................................................................................66 .LINE - (Regina)..................................................................................................................66 .FILE - (Regina)..................................................................................................................66 .ENDOFLINE - (Regina)....................................................................................................66 .DIRSEP - (Regina).............................................................................................................66 2.7 Implementation-Specific Information...................................................................................66 2.7.1 Miscellaneous................................................................................................................66 2.7.2 Implementation of the ADDRESS environment...........................................................67 3 Rexx Built-in Functions................................................................................................................70 3.1 General Information..............................................................................................................70 3.1.1 The Syntax Format........................................................................................................70 3.1.2 Precision and Normalization.........................................................................................71 3.1.3 Standard Parameter Names...........................................................................................71