# arexx-builtins.txt -- every name an ARexx script may call, and nothing else.
#
# WHY THIS FILE EXISTS. Twice now a suite has been killed on the user's hardware by a
# name that exists in STANDARD REXX and not in ARexx: WORDPOS() (build 204) and the
# backslash NOT operator (build 395, guarded separately). Both times the suite died
# mid-run, after making its directories, so the output looked like a product failure.
# The host has no ARexx interpreter, so the only defence is this list, checked by
# tests/check_rexx.sh on every build.
#
# PROVENANCE, and it is not from memory: generated from the user-supplied
#   knowledge-db/resources/ArexxReference.guide  (v1.32, 22.07.2009, Ernest Unrau,
#   drawn from the Commodore/Amiga system software manuals)
# nodes "Instructions", "Functions (Internal)" and "Functions (Support.library)".
# The companion PDF, WilliamHawes_ARexx_Users_Reference_Manual.pdf (the language's
# author), is the reference to settle anything this list cannot.
#
# Adding a name here is a claim that ARexx HAS it. Check the guide first.
#
# Sections: INSTRUCTION (statement keywords), BUILTIN (always available),
#           REXXSUPPORT (needs addlib('rexxsupport.library',0,-30,0)),
#           KEYWORD (sub-keywords and special variables that can be followed by "(").

# ---- INSTRUCTION ----
INSTRUCTION address
INSTRUCTION arg
INSTRUCTION break
INSTRUCTION call
INSTRUCTION do
INSTRUCTION drop
INSTRUCTION echo
INSTRUCTION else
INSTRUCTION end
INSTRUCTION exit
INSTRUCTION if
INSTRUCTION interpret
INSTRUCTION iterate
INSTRUCTION leave
INSTRUCTION nop
INSTRUCTION numeric
INSTRUCTION options
INSTRUCTION otherwise
INSTRUCTION parse
INSTRUCTION procedure
INSTRUCTION pull
INSTRUCTION push
INSTRUCTION queue
INSTRUCTION return
INSTRUCTION say
INSTRUCTION select
INSTRUCTION shell
INSTRUCTION signal
INSTRUCTION when

# ---- BUILTIN ----
BUILTIN abbrev
BUILTIN abs
BUILTIN addlib
BUILTIN address
BUILTIN arg
BUILTIN b2c
BUILTIN bitand
BUILTIN bitchg
BUILTIN bitclr
BUILTIN bitcomp
BUILTIN bitor
BUILTIN bitset
BUILTIN bittst
BUILTIN bitxor
BUILTIN c2b
BUILTIN c2d
BUILTIN c2x
BUILTIN centre
BUILTIN close
BUILTIN compare
BUILTIN compress
BUILTIN copies
BUILTIN d2c
BUILTIN d2x
BUILTIN datatype
BUILTIN date
BUILTIN delstr
BUILTIN delword
BUILTIN digits
BUILTIN eof
BUILTIN errortext
BUILTIN exists
BUILTIN export
BUILTIN find
BUILTIN form
BUILTIN freespace
BUILTIN fuzz
BUILTIN getclip
BUILTIN getspace
BUILTIN hash
BUILTIN import
BUILTIN index
BUILTIN insert
BUILTIN lastpos
BUILTIN left
BUILTIN length
BUILTIN lines
BUILTIN max
BUILTIN min
BUILTIN open
BUILTIN overlay
BUILTIN pos
BUILTIN pragma
BUILTIN random
BUILTIN randu
BUILTIN readch
BUILTIN readln
BUILTIN remlib
BUILTIN reverse
BUILTIN right
BUILTIN seek
BUILTIN setclip
BUILTIN show
BUILTIN sign
BUILTIN sourceline
BUILTIN space
BUILTIN storage
BUILTIN strip
BUILTIN substr
BUILTIN subword
BUILTIN symbol
BUILTIN time
BUILTIN trace
BUILTIN translate
BUILTIN trim
BUILTIN trunc
BUILTIN upper
BUILTIN value
BUILTIN verify
BUILTIN word
BUILTIN wordindex
BUILTIN wordlength
BUILTIN words
BUILTIN writech
BUILTIN writeln
BUILTIN x2c
BUILTIN x2d
BUILTIN xrange

# ---- REXXSUPPORT ----
REXXSUPPORT allocmem
REXXSUPPORT apshdir
REXXSUPPORT baddr
REXXSUPPORT closeport
REXXSUPPORT delay
REXXSUPPORT delete
REXXSUPPORT file
REXXSUPPORT forbid
REXXSUPPORT forward
REXXSUPPORT freemem
REXXSUPPORT getarg
REXXSUPPORT getpkt
REXXSUPPORT makedir
REXXSUPPORT next
REXXSUPPORT null
REXXSUPPORT offset
REXXSUPPORT openport
REXXSUPPORT permit
REXXSUPPORT rename
REXXSUPPORT reply
REXXSUPPORT showdir
REXXSUPPORT showlist
REXXSUPPORT statef
REXXSUPPORT typepkt
REXXSUPPORT waitpkt

# ---- KEYWORD ----
KEYWORD break_c
KEYWORD by
KEYWORD cache
KEYWORD command
KEYWORD digits
KEYWORD else
KEYWORD error
KEYWORD expose
KEYWORD failat
KEYWORD for
KEYWORD forever
KEYWORD form
KEYWORD fuzz
KEYWORD halt
KEYWORD name
KEYWORD novalue
KEYWORD off
KEYWORD on
KEYWORD prompt
KEYWORD rc
KEYWORD result
KEYWORD results
KEYWORD sigl
KEYWORD source
KEYWORD syntax
KEYWORD then
KEYWORD to
KEYWORD trace
KEYWORD until
KEYWORD upper
KEYWORD value
KEYWORD var
KEYWORD while
KEYWORD with
