dc: Miscellaneous
10 Miscellaneous
****************
'!'
Will run the rest of the line as a system command. Note that
parsing of the !<, !=, and !> commands take precedence, so if you
want to run a command starting with <, =, or > you will need to add
a space after the !.
'#'
Will interpret the rest of the line as a comment. (This command is
a GNU extension.)
':R'
Will pop the top two values off of the stack. The old
second-to-top value will be stored in the array R, indexed by the
old top-of-stack value.
';R'
Pops the top-of-stack and uses it as an index into the array R.
The selected value is then pushed onto the stack.
Note that each stacked instance of a register has its own array
associated with it. Thus '1 0:A 0SA 2 0:A LA 0;Ap' will print 1,
because the 2 was stored in an instance of 0:A that was later popped.