Sentence Pointer Handling ...
; save the current position
(defn saveptr []
(def atnsavesent
(cons atnsent atnsavesent))) ; push
; pop the stack on success
(defn success []
(def atnsavesent (rest atnsavesent)) ) ; pop
; restore position on failure, return nil
(defn fail []
(def atnsent (first atnsavesent))
(def atnsavesent (rest atnsavesent))
(setword)
nil)