+
+CATCH = '<catch>' [ SYMBOL | ERROR ] TERM + '</catch>'
+ | '<catch vname="' VNAME '">' [ SYMBOL | ERROR ] TERM + '</catch>'
+
+;; Evaluate TERMs one by one until the specified SYMBOL or ERROR is
+;; thrown by <throw/>. If thrown, the value is 1, otherwise the value
+;; is 0. If VNAME is specified it is set to the last evaluated term.
+;; It is the value of <throw/> if thrown.
+
+THROW = '<throw>' SYMBOL ANYTERM ? '</throw>'
+ | '<throw>' ERROR '</throw>'
+
+;; Throw to the catch for SYMBOL or ERROR. The value is ANYTERM (if
+;; any) or SYMBOL in the first form, and ERROR in the second form.
+