anchor.diff:    `(when (not,place)
        (setf ,place (funcall ,test ,node))))
   
  -(defun *code-test-variables-simple-ast-tree* (parsed-tree)
  -  (let ((variable-sym (make-ast-symbol "variable-name"))
  -	(class-variable-sym (make-ast-symbol "class-variable")))
  -    ((lambda (node)
  -       (print-node node)
  -       (and (same-node-symbol? (symbol-from-ast-node node) class-variable-sym)
  -		(some #'(lambda (subnode) (and (same-node-symbol? (symbol-from-ast-node subnode)
  -								 variable-sym)
  -					       (equal "a" (car (data-from-ast-node subnode)))))
  -		      (subnodes node))))
  -     parsed-tree)))
  -
  -(defun *code-test-variables-simple-ast-tree2* (node)
  -  (with-is-symbol ((variable-sym?  "variable-name")
  -		   (class-variable-sym?  "class-variable"))
  -    (let ((test1 #'(lambda (node)
  -		     (and (funcall class-variable-sym? node)
  -			  (some #'(lambda (subnode) (and (funcall variable-sym? subnode)
  -							 (equal "a" (car (data-from-ast-node subnode)))))
  -				(subnodes node))))))
  -      ((lambda (node)(and (funcall test1 node)))
  -       node))))
  -
   (defun test-node (node-identifier-fn node-test)
     (lambda (node)
       (and (funcall node-identifier-fn node)
  
positive.code:   `(when (not,place)
       (setf ,place (funcall ,test ,node))))
  
  (defun *code-test-variables-simple-ast-tree3* (node)
    (with-is-symbol ((variable-sym?  "variable-name")
  		   (class-variable-sym?  "class-variable"))
      (funcall (test-node class-variable-sym? (test-some-subnode (test-node variable-sym? (test-car-data "a"))))
  	     node)))
  
  ;;(funcall (exist-node-in-tree (*code-test-variables-simple-ast-tree4*)) (parse-csharp (tokenize-csharp-code *code-test-variables-simple*)))
  (defun *code-test-variables-simple-ast-tree4* ()
    (with-is-symbol ((variable-sym? "variable-name")
  		   (class-variable-sym? "class-variable"))
      (macrolet ((test-and-set (place test node)
  		 `(when (not,place)
  		    (setf ,place (funcall ,test ,node)))))
        (let ((test1 (test-node class-variable-sym? (test-some-subnode (test-node variable-sym? (test-car-data "a")))))
  	    (test2 (test-node class-variable-sym? (test-some-subnode (test-node variable-sym? (test-car-data "b")))))
  	    (test1-value nil)
  	    (test2-value nil))
  	(lambda (node) 
  	  (test-and-set test1-value test1 node)
  	  (test-and-set test2-value test2 node)
  	  (and test1-value test2-value))))))
  
  (defun *code-test-variables-simple-ast-tree5* ()
    (with-is-symbol ((variable-sym? "variable-name")
  		   (class-variable-sym? "class-variable"))
      (let ((test1 (gensym))
  
negative.code: 
  (defparameter *code-test-variables-simple-tokens* (list "using" "UnityEngine" ";" "using" "UnityEngine" ";" "partial" "public" "class" "FactoryEconomy" ":" "BuildingEconomy" "," "IGUI" "{" "int" "c" ";" "private" "int" "b" "=" "2" ";" "private" "int" "a" ";" "}" ))
  
  (defmacro with-is-symbol (binds &body body)
    (let ((symbols (mapcar #'(lambda (pair) (gensym)) binds)))
      `(let* (,@(mapcar #'(lambda (pair symbol)
  