;ELC ;;; Compiled ;;; in Emacs version 28.0.50 ;;; with all optimizations. (byte-code "\300\301!\210\300\302!\210\300\303!\210\300\304!\207" [require symex-data symex-primitives symex-evaluator symex-dsl] 2) #@42 Go to first symex on the present branch. (defvar symex--traversal-goto-first (byte-code "\300\301\302\303\"\304\"\207" [symex-make-circuit symex-make-move -1 0 nil] 4) (#$ . 220)) #@41 Go to last symex on the present branch. (defvar symex--traversal-goto-last (byte-code "\300\301\302\303\"\304\"\207" [symex-make-circuit symex-make-move 1 0 nil] 4) (#$ . 406)) #@44 Go to lowest (root) symex in present tree. (defvar symex--traversal-goto-lowest (byte-code "\300\301\302\303\"\304\"\207" [symex-make-circuit symex-make-move 0 -1 nil] 4) (#$ . 589)) #@38 Select first symex at present level. (defalias 'symex-goto-first #[0 "\301!\210`\207" [symex--traversal-goto-first symex-execute-traversal] 2 (#$ . 778) nil]) #@37 Select last symex at present level. (defalias 'symex-goto-last #[0 "\301!\210`\207" [symex--traversal-goto-last symex-execute-traversal] 2 (#$ . 944) nil]) #@22 Select lowest symex. (defalias 'symex-goto-lowest #[0 "\301!\210`\207" [symex--traversal-goto-lowest symex-execute-traversal] 2 (#$ . 1107) nil]) #@23 Select highest symex. (defalias 'symex-goto-highest #[0 "\300\301\302\303\304\"\305\306\305\302\304\303\"\307\"\302\303\304\"\"\307\"\"!\210`\207" [symex-execute-traversal symex-make-maneuver symex-make-move 0 1 symex-make-circuit symex-make-protocol nil] 9 (#$ . 1260) nil]) #@54 Pre-order tree traversal, continuing to other trees. (defvar symex--traversal-preorder (byte-code "\300\211\301\302\303\"\301\303\302\"\"\304\305\301\302\306\"\307\310#\301\303\302\"\"\"\207" [symex-make-protocol symex-make-move 0 1 symex-make-detour symex-make-precaution -1 :post-condition #[0 "\300 ?\207" [symex--point-at-final-symex-p] 1]] 7) (#$ . 1542)) #@27 Pre-order tree traversal. (defvar symex--traversal-preorder-in-tree (byte-code "\300\211\301\302\303\"\301\303\302\"\"\304\305\301\302\306\"\307\310#\301\303\302\"\"\"\207" [symex-make-protocol symex-make-move 0 1 symex-make-detour symex-make-precaution -1 :post-condition #[0 "\300 ?\207" [symex--point-at-root-symex-p] 1]] 7) (#$ . 1909)) #@55 Post-order tree traversal, continuing to other trees. (defvar symex--traversal-postorder (byte-code "\300\301\302\303\304\"\305\301\302\304\306\"\305\302\306\304\"\307\"\"\307\"\"\302\304\303\"\"\207" [symex-make-protocol symex-make-maneuver symex-make-move -1 0 symex-make-circuit 1 nil] 10) (#$ . 2256)) #@28 Post-order tree traversal. (defvar symex--traversal-postorder-in-tree (byte-code "\300\301\302\303\304\305\"\306\302\303\305\307\"\306\303\307\305\"\310\"\"\310\"\"\311\312#\303\305\304\"\"\207" [symex-make-protocol symex-make-precaution symex-make-maneuver symex-make-move -1 0 symex-make-circuit 1 nil :pre-condition #[0 "\300 ?\207" [symex--point-at-root-symex-p] 1]] 11) (#$ . 2568)) #@101 Tree traversal focused on moving forward, leveraging preorder backtracking when the way is blocked. (defvar symex--traversal-skip-forward (byte-code "\300\301\302\303\"\304\305\301\303\306\"\307\310#\301\302\303\"\"\"\207" [symex-make-protocol symex-make-move 1 0 symex-make-detour symex-make-precaution -1 :post-condition #[0 "\300 ?\207" [symex--point-at-final-symex-p] 1]] 7) (#$ . 2963)) #@104 Tree traversal focused on moving backwards, leveraging postorder backtracking when the way is blocked. (defvar symex--traversal-skip-backward (byte-code "\300\301\302\303\"\301\303\302\"\"\207" [symex-make-protocol symex-make-move -1 0] 5) (#$ . 3362)) (defvar symex--traversal-climb-branch (byte-code "\300\301\302\303\"\304\305\301\303\302\"\306\"\301\302\303\"\"\305\301\303\302\"\306\"#\207" [symex-make-protocol symex-make-move 0 1 symex-make-detour symex-make-circuit nil] 7) nil) (defvar symex--traversal-descend-branch (byte-code "\301\302\303\304#\305\306\307\310\"\302\311\306\310\307\"\312\"\303\313#\"\"\207" [symex--traversal-goto-first symex-make-protocol symex-make-precaution :pre-condition #[0 "\300 ?\207" [symex--point-at-root-symex-p] 1] symex-make-maneuver symex-make-move 0 -1 symex-make-circuit nil #[0 "\300 ?\207" [symex--point-at-root-symex-p] 1]] 9) nil) #@100 Traverse symex as a tree, using pre-order traversal. Executes the motion COUNT times. (fn COUNT) (defalias 'symex-traverse-forward #[257 "\211\301\211W\205\302\303!\266\211T\262\202\207" [symex--traversal-preorder 0 nil symex-execute-traversal] 6 (#$ . 4252) "p"]) #@122 Traverse symex forward using pre-order traversal, stopping at end of tree. Executes the motion COUNT times. (fn COUNT) (defalias 'symex-traverse-forward-in-tree #[257 "\211\301\211W\205\302\303!\266\211T\262\202\207" [symex--traversal-preorder-in-tree 0 nil symex-execute-traversal] 6 (#$ . 4534) "p"]) #@91 Traverse symex as a tree, skipping forward. Executes the motion COUNT times. (fn COUNT) (defalias 'symex-traverse-forward-skip #[257 "\211\301\211W\205\302\303!\266\211T\262\202\207" [symex--traversal-skip-forward 0 nil symex-execute-traversal] 6 (#$ . 4853) "p"]) #@110 Traverse symex as a tree, using converse post-order traversal. Executes the motion COUNT times. (fn COUNT) (defalias 'symex-traverse-backward #[257 "\211\301\211W\205\302\303!\266\211T\262\202\207" [symex--traversal-postorder 0 nil symex-execute-traversal] 6 (#$ . 5135) "p"]) #@125 Traverse symex backward using post-order traversal, stopping at root of tree. Executes the motion COUNT times. (fn COUNT) (defalias 'symex-traverse-backward-in-tree #[257 "\211\301\211W\205\302\303!\266\211T\262\202\207" [symex--traversal-postorder-in-tree 0 nil symex-execute-traversal] 6 (#$ . 5429) "p"]) #@93 Traverse symex as a tree, skipping backwards. Executes the motion COUNT times. (fn COUNT) (defalias 'symex-traverse-backward-skip #[257 "\211\301\211W\205\302\303!\266\211T\262\202\207" [symex--traversal-skip-backward 0 nil symex-execute-traversal] 6 (#$ . 5753) "p"]) #@57 Climb up. Executes the motion COUNT times. (fn COUNT) (defalias 'symex-climb-branch #[257 "\211\301\211W\205\302\303!\266\211T\262\202\207" [symex--traversal-climb-branch 0 nil symex-execute-traversal] 6 (#$ . 6038) "p"]) #@65 Descend the tree. Executes the motion COUNT times. (fn COUNT) (defalias 'symex-descend-branch #[257 "\211\301\211W\205\302\303!\266\211T\262\202\207" [symex--traversal-descend-branch 0 nil symex-execute-traversal] 6 (#$ . 6276) "p"]) (provide 'symex-traversals)