snippets/repl.rexx

#!/usr/bin/env rexx

res.0 = 0

repl:
signal on error
signal on syntax
signal on notready

do forever
  call charout , '? '
  line=linein()
  if left(line, 1) = ';' then do
    res.0 += 1
    line = 'res.'res.0 '=' substr(line, 2) '; say "«"'res.0'"»" res.'res.0
  end
  signal off notready
  interpret line
  signal on notready
end

notready:
exit

error:
syntax:
  say '!' errortext(rc) '(error' rc')'
  signal repl

download original