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)