7.2.1 move

Syntax

(move forward|backward|up|down)

Description

The most basic movement, a move simply takes a single step in a particular direction, to a neighboring node in the tree.

Examples

"Move forward."

(symex-eval
  (symex-traversal
    (move forward)))

"Move backward."

(symex-eval
  (symex-traversal
    (move backward)))

"Move up."

(symex-eval
  (symex-traversal
    (move up)))

"Move down."

(symex-eval
  (symex-traversal
    (move down)))

Note that in the Symex language, "up" and "down" are defined in relation to the root node being considered the bottom of the tree and increasingly nested expressions as being higher. We "go down towards the root and up towards the nest."

The variable symex--move-zero can be used in traversals to indicate an intentional absence of motion, and would be treated as a successful move.