forked from adesutherland/CMS-370-BREXX
-
Notifications
You must be signed in to change notification settings - Fork 0
/
rexx.helpcmd
114 lines (108 loc) · 3.22 KB
/
rexx.helpcmd
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
REXX Overview
Version 2.1.9 - 22 Feb 2020
The VM/370 Sixpack features an integrated version of BREXX. REXX procedures
have a filetype of EXEC, and must begin with "/* on the first line.
Note that this is an incomplete port of BREXX to VM/370. In particular the
external variable and subcommand interfaces are not operational.
The following instructions are supported (except for those marked with **):
ADDRESS CMS
ADDRESS SYSTEM
ARG [template]
CALL name [expression] [,expression] ...
DO [repetitor] [conditional]; [statement-list] END [symbol]
DROP name [name] ...
EXIT [expression]
IF expression THEN statement1; [ELSE statement2]
INTERPRET expression
ITERATE [symbol]
LEAVE [symbol]
NOP
NUMERIC DIGITS [expression]
NUMERIC FORM [form]
NUMERIC FUZZ [expression]
PARSE [UPPER] source [template]
PROCEDURE [EXPOSE name [name] ...]
PULL [template]
PUSH [expression]
QUEUE [expression]
RETURN [expression]
SAY [expression]
SELECT; when-list [OTHERWISE [statement-list]] END
SIGNAL name
** SIGNAL VALUE expression
** SIGNAL ON condition [NAME handler]
** SIGNAL OFF condition
TRACE [VALUE] expression
The following built-in functions are provided:
ABBREV(string1, string2, [length])
ABS(number)
ADDRESS()
ARG([argument-number], [option])
BITAND(string1, [string2], [pad])
BITOR(string1, [string2], [pad])
BITXOR(string1, [string2], [pad])
B2X(binary-string)
CENTER(string, length, [pad])
CHANGESTR(substring, string, substring)
CHARIN([name], [start], [length])
CHAROUT([name], [string], [start]) *** 'start' is ignored, treated as 1
CHARS([name])
CMSFLAG(flag)
COMPARE(string1, string2, [pad])
CONDITION([option])
COPIES(string, count)
COUNTSTR(substring, string)
C2D(data, [length])
C2X(data)
DATATYPE(string, [type])
DATE([option])
DELSTR(string, start, [length])
DELWORD(string, start, [length])
DIGITS()
D2C(number, [length])
D2X(number, [length])
ERRORTEXT(number)
FORM()
FORMAT(number, [m], [n], [exp1], [exp2])
FUZZ()
INSERT(string1, string2, [pos], [length], [pad])
LASTPOS(target, string, [start])
LEFT(string, length, [pad])
LENGTH(string)
LINEIN([name], [line], [count])
LINEOUT([name], [string], [line]) *** 'line' is ignored, treated as 1
LINES([name])
LINESIZE()
MAX(number, [number], ...)
MIN(number, [number], ...)
OVERLAY(string1, string2, [pos], length], [pad])
POS(target, string, [start])
QUEUED()
RANDOM([min], [max], [seed])
REVERSE(string)
RIGHT(string, length, [pad])
SIGN(number)
SOURCELINE([number])
SPACE(string, [count], [pad])
SQRT(number)
STORAGE()
STRIP(string, [option], [character])
SUBSTR(string, start, [length], [pad])
SUBWORD(string, start, [length])
SYMBOL(name)
TIME([option])
TRACE([type])
TRANSLATE(string, [output], [input], [pad])
TRUNC(number, [digits])
VALUE(]name, [value], [type])
VERIFY(string, search, [option], [start])
USERID()
WORD(string, number)
WORDINDEX(string, number)
WORDLENGTH(string, number)
WORDPOS(phrase, string, [start])
WORDS(string)
XRANGE([first], [last])
X2B(hex-string) (not working)
X2C(hex-string)
X2D(hex-string, [length])