Parser input:(a); (a#foo->count == 3) ; a.foo = 3 ;
grammar(cond):	"(a); (a#foo->count ="
  rule(condition):	"(a); (a#foo->count ="
    rule(moduleList):	"(a); (a#foo->count ="

>>> create_node(begin) <<<
creating node text: "("
>>> create_node(end) <<<

      rule(catomDecl):	"a); (a#foo->count =="
        rule(identifier):	"a); (a#foo->count =="

>>> create_node(begin) <<<
creating node text: "a"
>>> create_node(end) <<<


>>> concat_match(begin) <<<
tree a:
(length = 1 trees[0] = 
	(depth = 0 value = (id = 0 text = "a" is_root = 0 value = ))
)
tree b:
(length = 0 trees[0] = 
	(depth = 0 value = (id = 0 text = "" is_root = 0 value = ))
)
>>> concat_match(end) <<<

        /rule(identifier):	"); (a#foo->count == "
        rule(identifier):	"a); (a#foo->count =="

>>> create_node(begin) <<<
creating node text: "a"
>>> create_node(end) <<<


>>> concat_match(begin) <<<
tree a:
(length = 1 trees[0] = 
	(depth = 0 value = (id = 0 text = "a" is_root = 0 value = ))
)
tree b:
(length = 0 trees[0] = 
	(depth = 0 value = (id = 0 text = "" is_root = 0 value = ))
)
>>> concat_match(end) <<<

        /rule(identifier):	"); (a#foo->count == "
      /rule(catomDecl):	"); (a#foo->count == "

>>> concat_match(begin) <<<
tree a:
(length = 1 trees[0] = 
	(depth = 0 value = (id = 2 text = "a" is_root = 0 value = ))
)
tree b:
(length = 0 trees[0] = 
	(depth = 0 value = (id = 0 text = "" is_root = 0 value = ))
)
>>> concat_match(end) <<<


>>> concat_match(begin) <<<
tree a:
(length = 1 trees[0] = 
	(depth = 0 value = (id = 0 text = "(" is_root = 0 value = ))
)
tree b:
(length = 1 trees[0] = 
	(depth = 0 value = (id = 2 text = "a" is_root = 0 value = ))
)
>>> concat_match(end) <<<


>>>AST concat. a = (length = 2 trees[0] = 
	(depth = 0 value = (id = 0 text = "(" is_root = 0 value = ))
)
	b = (length = 1 trees[0] = 
	(depth = 0 value = (id = 2 text = "a" is_root = 0 value = ))
)<<<
>>>after AST concat. a = (length = 2 trees[0] = 
	(depth = 0 value = (id = 0 text = "(" is_root = 0 value = )) trees[1] = 
	(depth = 0 value = (id = 2 text = "a" is_root = 0 value = ))
)<<<


>>> create_node(begin) <<<
creating node text: ")"
>>> create_node(end) <<<


>>> concat_match(begin) <<<
tree a:
(length = 2 trees[0] = 
	(depth = 0 value = (id = 0 text = "(" is_root = 0 value = )) trees[1] = 
	(depth = 0 value = (id = 2 text = "a" is_root = 0 value = ))
)
tree b:
(length = 1 trees[0] = 
	(depth = 0 value = (id = 0 text = ")" is_root = 0 value = ))
)
>>> concat_match(end) <<<


>>>AST concat. a = (length = 3 trees[0] = 
	(depth = 0 value = (id = 0 text = "(" is_root = 0 value = )) trees[1] = 
	(depth = 0 value = (id = 2 text = "a" is_root = 0 value = ))
)
	b = (length = 1 trees[0] = 
	(depth = 0 value = (id = 0 text = ")" is_root = 0 value = ))
)<<<
>>>after AST concat. a = (length = 3 trees[0] = 
	(depth = 0 value = (id = 0 text = "(" is_root = 0 value = )) trees[1] = 
	(depth = 0 value = (id = 2 text = "a" is_root = 0 value = )) trees[2] = 
	(depth = 0 value = (id = 0 text = ")" is_root = 0 value = ))
)<<<

    /rule(moduleList):	"; (a#foo->count == 3"

>>> create_node(begin) <<<
creating node text: ";"
>>> create_node(end) <<<


>>> concat_match(begin) <<<
tree a:
(length = 3 trees[0] = 
	(depth = 0 value = (id = 8 text = "" is_root = 0 value = ) children[0] = 
		(depth = 1 value = (id = 0 text = "(" is_root = 0 value = )) children[1] = 
		(depth = 1 value = (id = 2 text = "a" is_root = 0 value = )) children[2] = 
		(depth = 1 value = (id = 0 text = ")" is_root = 0 value = )))
)
tree b:
(length = 1 trees[0] = 
	(depth = 0 value = (id = 0 text = ";" is_root = 0 value = ))
)
>>> concat_match(end) <<<


>>>AST concat. a = (length = 4 trees[0] = 
	(depth = 0 value = (id = 8 text = "" is_root = 0 value = ) children[0] = 
		(depth = 1 value = (id = 0 text = "(" is_root = 0 value = )) children[1] = 
		(depth = 1 value = (id = 2 text = "a" is_root = 0 value = )) children[2] = 
		(depth = 1 value = (id = 0 text = ")" is_root = 0 value = )))
)
	b = (length = 1 trees[0] = 
	(depth = 0 value = (id = 0 text = ";" is_root = 0 value = ))
)<<<
>>>after AST concat. a = (length = 4 trees[0] = 
	(depth = 0 value = (id = 8 text = "" is_root = 0 value = ) children[0] = 
		(depth = 1 value = (id = 0 text = "(" is_root = 0 value = )) children[1] = 
		(depth = 1 value = (id = 2 text = "a" is_root = 0 value = )) children[2] = 
		(depth = 1 value = (id = 0 text = ")" is_root = 0 value = ))) trees[1] = 
	(depth = 0 value = (id = 0 text = ";" is_root = 0 value = ))
)<<<

    rule(boolExp):	" (a#foo->count == 3)"
      rule(boolExpSimple):	" (a#foo->count == 3)"

>>> create_node(begin) <<<
creating node text: " "
>>> create_node(end) <<<


>>> create_node(begin) <<<
creating node text: " "
>>> create_node(end) <<<


>>> create_node(begin) <<<
creating node text: " "
>>> create_node(end) <<<


>>> create_node(begin) <<<
creating node text: "("
>>> create_node(end) <<<

        rule(compExp):	"a#foo->count == 3) ;"
          rule(realExp):	"a#foo->count == 3) ;"
            rule(realTerm):	"a#foo->count == 3) ;"
              rule(realFactor):	"a#foo->count == 3) ;"
                rule(numeric):	"a#foo->count == 3) ;"
                #rule(numeric):	"a#foo->count == 3) ;"
                rule(stateVar):	"a#foo->count == 3) ;"
                  rule(catom):	"a#foo->count == 3) ;"
                    rule(identifier):	"a#foo->count == 3) ;"

>>> create_node(begin) <<<
creating node text: "a"
>>> create_node(end) <<<


>>> concat_match(begin) <<<
tree a:
(length = 1 trees[0] = 
	(depth = 0 value = (id = 0 text = "a" is_root = 0 value = ))
)
tree b:
(length = 0 trees[0] = 
	(depth = 0 value = (id = 0 text = "" is_root = 0 value = ))
)
>>> concat_match(end) <<<

                    /rule(identifier):	"#foo->count == 3) ; "
                    rule(identifier):	"a#foo->count == 3) ;"

>>> create_node(begin) <<<
creating node text: "a"
>>> create_node(end) <<<


>>> concat_match(begin) <<<
tree a:
(length = 1 trees[0] = 
	(depth = 0 value = (id = 0 text = "a" is_root = 0 value = ))
)
tree b:
(length = 0 trees[0] = 
	(depth = 0 value = (id = 0 text = "" is_root = 0 value = ))
)
>>> concat_match(end) <<<

                    /rule(identifier):	"#foo->count == 3) ; "
                  /rule(catom):	"#foo->count == 3) ; "
                #rule(stateVar):	"#foo->count == 3) ; "
                rule(countExp):	"a#foo->count == 3) ;"
                #rule(countExp):	"a#foo->count == 3) ;"
                rule(setR):	"a#foo->count == 3) ;"
                  rule(setVar):	"a#foo->count == 3) ;"
                    rule(setS):	"a#foo->count == 3) ;"
                      rule(catom):	"a#foo->count == 3) ;"
                        rule(identifier):	"a#foo->count == 3) ;"

>>> create_node(begin) <<<
creating node text: "a"
>>> create_node(end) <<<


>>> concat_match(begin) <<<
tree a:
(length = 1 trees[0] = 
	(depth = 0 value = (id = 0 text = "a" is_root = 0 value = ))
)
tree b:
(length = 0 trees[0] = 
	(depth = 0 value = (id = 0 text = "" is_root = 0 value = ))
)
>>> concat_match(end) <<<

                        /rule(identifier):	"#foo->count == 3) ; "
                        rule(identifier):	"a#foo->count == 3) ;"

>>> create_node(begin) <<<
creating node text: "a"
>>> create_node(end) <<<


>>> concat_match(begin) <<<
tree a:
(length = 1 trees[0] = 
	(depth = 0 value = (id = 0 text = "a" is_root = 0 value = ))
)
tree b:
(length = 0 trees[0] = 
	(depth = 0 value = (id = 0 text = "" is_root = 0 value = ))
)
>>> concat_match(end) <<<

                        /rule(identifier):	"#foo->count == 3) ; "
                      /rule(catom):	"#foo->count == 3) ; "
                      rule(tShift):	"#foo->count == 3) ; "
                      #rule(tShift):	"#foo->count == 3) ; "

>>> concat_match(begin) <<<
tree a:
(length = 1 trees[0] = 
	(depth = 0 value = (id = 2 text = "a" is_root = 0 value = ))
)
tree b:
(length = 0 trees[0] = 
	(depth = 0 value = (id = 0 text = "" is_root = 0 value = ))
)
>>> concat_match(end) <<<


>>> create_node(begin) <<<
creating node text: "#"
>>> create_node(end) <<<


>>> concat_match(begin) <<<
tree a:
(length = 1 trees[0] = 
	(depth = 0 value = (id = 2 text = "a" is_root = 0 value = ))
)
tree b:
(length = 1 trees[0] = 
	(depth = 0 value = (id = 0 text = "#" is_root = 0 value = ))
)
>>> concat_match(end) <<<


>>>AST concat. a = (length = 2 trees[0] = 
	(depth = 0 value = (id = 2 text = "a" is_root = 0 value = ))
)
	b = (length = 1 trees[0] = 
	(depth = 0 value = (id = 0 text = "#" is_root = 0 value = ))
)<<<
>>>after AST concat. a = (length = 2 trees[0] = 
	(depth = 0 value = (id = 2 text = "a" is_root = 0 value = )) trees[1] = 
	(depth = 0 value = (id = 0 text = "#" is_root = 0 value = ))
)<<<

                      rule(varname):	"foo->count == 3) ; a"
                        rule(identifier):	"foo->count == 3) ; a"

>>> create_node(begin) <<<
creating node text: "f"
>>> create_node(end) <<<


>>> create_node(begin) <<<
creating node text: "o"
>>> create_node(end) <<<


>>> concat_match(begin) <<<
tree a:
(length = 0 trees[0] = 
	(depth = 0 value = (id = 0 text = "" is_root = 0 value = ))
)
tree b:
(length = 1 trees[0] = 
	(depth = 0 value = (id = 0 text = "o" is_root = 0 value = ))
)
>>> concat_match(end) <<<


>>> create_node(begin) <<<
creating node text: "o"
>>> create_node(end) <<<


>>> concat_match(begin) <<<
tree a:
(length = 1 trees[0] = 
	(depth = 0 value = (id = 0 text = "o" is_root = 0 value = ))
)
tree b:
(length = 1 trees[0] = 
	(depth = 0 value = (id = 0 text = "o" is_root = 0 value = ))
)
>>> concat_match(end) <<<


>>>AST concat. a = (length = 2 trees[0] = 
	(depth = 0 value = (id = 0 text = "o" is_root = 0 value = ))
)
	b = (length = 1 trees[0] = 
	(depth = 0 value = (id = 0 text = "o" is_root = 0 value = ))
)<<<
>>>after AST concat. a = (length = 2 trees[0] = 
	(depth = 0 value = (id = 0 text = "o" is_root = 0 value = )) trees[1] = 
	(depth = 0 value = (id = 0 text = "o" is_root = 0 value = ))
)<<<


>>> concat_match(begin) <<<
tree a:
(length = 1 trees[0] = 
	(depth = 0 value = (id = 0 text = "f" is_root = 0 value = ))
)
tree b:
(length = 2 trees[0] = 
	(depth = 0 value = (id = 0 text = "o" is_root = 0 value = )) trees[1] = 
	(depth = 0 value = (id = 0 text = "o" is_root = 0 value = ))
)
>>> concat_match(end) <<<


>>>AST concat. a = (length = 3 trees[0] = 
	(depth = 0 value = (id = 0 text = "f" is_root = 0 value = ))
)
	b = (length = 2 trees[0] = 
	(depth = 0 value = (id = 0 text = "o" is_root = 0 value = )) trees[1] = 
	(depth = 0 value = (id = 0 text = "o" is_root = 0 value = ))
)<<<
>>>after AST concat. a = (length = 3 trees[0] = 
	(depth = 0 value = (id = 0 text = "f" is_root = 0 value = )) trees[1] = 
	(depth = 0 value = (id = 0 text = "o" is_root = 0 value = )) trees[2] = 
	(depth = 0 value = (id = 0 text = "o" is_root = 0 value = ))
)<<<

                        /rule(identifier):	"->count == 3) ; a.fo"
                        rule(identifier):	"foo->count == 3) ; a"

>>> create_node(begin) <<<
creating node text: "f"
>>> create_node(end) <<<


>>> create_node(begin) <<<
creating node text: "o"
>>> create_node(end) <<<


>>> concat_match(begin) <<<
tree a:
(length = 0 trees[0] = 
	(depth = 0 value = (id = 0 text = "" is_root = 0 value = ))
)
tree b:
(length = 1 trees[0] = 
	(depth = 0 value = (id = 0 text = "o" is_root = 0 value = ))
)
>>> concat_match(end) <<<


>>> create_node(begin) <<<
creating node text: "o"
>>> create_node(end) <<<


>>> concat_match(begin) <<<
tree a:
(length = 1 trees[0] = 
	(depth = 0 value = (id = 0 text = "o" is_root = 0 value = ))
)
tree b:
(length = 1 trees[0] = 
	(depth = 0 value = (id = 0 text = "o" is_root = 0 value = ))
)
>>> concat_match(end) <<<


>>>AST concat. a = (length = 2 trees[0] = 
	(depth = 0 value = (id = 0 text = "o" is_root = 0 value = ))
)
	b = (length = 1 trees[0] = 
	(depth = 0 value = (id = 0 text = "o" is_root = 0 value = ))
)<<<
>>>after AST concat. a = (length = 2 trees[0] = 
	(depth = 0 value = (id = 0 text = "o" is_root = 0 value = )) trees[1] = 
	(depth = 0 value = (id = 0 text = "o" is_root = 0 value = ))
)<<<


>>> concat_match(begin) <<<
tree a:
(length = 1 trees[0] = 
	(depth = 0 value = (id = 0 text = "f" is_root = 0 value = ))
)
tree b:
(length = 2 trees[0] = 
	(depth = 0 value = (id = 0 text = "o" is_root = 0 value = )) trees[1] = 
	(depth = 0 value = (id = 0 text = "o" is_root = 0 value = ))
)
>>> concat_match(end) <<<


>>>AST concat. a = (length = 3 trees[0] = 
	(depth = 0 value = (id = 0 text = "f" is_root = 0 value = ))
)
	b = (length = 2 trees[0] = 
	(depth = 0 value = (id = 0 text = "o" is_root = 0 value = )) trees[1] = 
	(depth = 0 value = (id = 0 text = "o" is_root = 0 value = ))
)<<<
>>>after AST concat. a = (length = 3 trees[0] = 
	(depth = 0 value = (id = 0 text = "f" is_root = 0 value = )) trees[1] = 
	(depth = 0 value = (id = 0 text = "o" is_root = 0 value = )) trees[2] = 
	(depth = 0 value = (id = 0 text = "o" is_root = 0 value = ))
)<<<

                        /rule(identifier):	"->count == 3) ; a.fo"
                      /rule(varname):	"->count == 3) ; a.fo"

>>> concat_match(begin) <<<
tree a:
(length = 2 trees[0] = 
	(depth = 0 value = (id = 2 text = "a" is_root = 0 value = )) trees[1] = 
	(depth = 0 value = (id = 0 text = "#" is_root = 0 value = ))
)
tree b:
(length = 3 trees[0] = 
	(depth = 0 value = (id = 2 text = "foo" is_root = 0 value = ))
)
>>> concat_match(end) <<<


>>>AST concat. a = (length = 5 trees[0] = 
	(depth = 0 value = (id = 2 text = "a" is_root = 0 value = )) trees[1] = 
	(depth = 0 value = (id = 0 text = "#" is_root = 0 value = ))
)
	b = (length = 3 trees[0] = 
	(depth = 0 value = (id = 2 text = "foo" is_root = 0 value = ))
)<<<
>>>after AST concat. a = (length = 5 trees[0] = 
	(depth = 0 value = (id = 2 text = "a" is_root = 0 value = )) trees[1] = 
	(depth = 0 value = (id = 0 text = "#" is_root = 0 value = )) trees[2] = 
	(depth = 0 value = (id = 2 text = "foo" is_root = 0 value = ))
)<<<

                    /rule(setS):	"->count == 3) ; a.fo"
                    rule(setS):	"a#foo->count == 3) ;"
                      rule(catom):	"a#foo->count == 3) ;"
                        rule(identifier):	"a#foo->count == 3) ;"

>>> create_node(begin) <<<
creating node text: "a"
>>> create_node(end) <<<


>>> concat_match(begin) <<<
tree a:
(length = 1 trees[0] = 
	(depth = 0 value = (id = 0 text = "a" is_root = 0 value = ))
)
tree b:
(length = 0 trees[0] = 
	(depth = 0 value = (id = 0 text = "" is_root = 0 value = ))
)
>>> concat_match(end) <<<

                        /rule(identifier):	"#foo->count == 3) ; "
                        rule(identifier):	"a#foo->count == 3) ;"

>>> create_node(begin) <<<
creating node text: "a"
>>> create_node(end) <<<


>>> concat_match(begin) <<<
tree a:
(length = 1 trees[0] = 
	(depth = 0 value = (id = 0 text = "a" is_root = 0 value = ))
)
tree b:
(length = 0 trees[0] = 
	(depth = 0 value = (id = 0 text = "" is_root = 0 value = ))
)
>>> concat_match(end) <<<

                        /rule(identifier):	"#foo->count == 3) ; "
                      /rule(catom):	"#foo->count == 3) ; "
                      rule(tShift):	"#foo->count == 3) ; "
                      #rule(tShift):	"#foo->count == 3) ; "

>>> concat_match(begin) <<<
tree a:
(length = 1 trees[0] = 
	(depth = 0 value = (id = 2 text = "a" is_root = 0 value = ))
)
tree b:
(length = 0 trees[0] = 
	(depth = 0 value = (id = 0 text = "" is_root = 0 value = ))
)
>>> concat_match(end) <<<


>>> create_node(begin) <<<
creating node text: "#"
>>> create_node(end) <<<


>>> concat_match(begin) <<<
tree a:
(length = 1 trees[0] = 
	(depth = 0 value = (id = 2 text = "a" is_root = 0 value = ))
)
tree b:
(length = 1 trees[0] = 
	(depth = 0 value = (id = 0 text = "#" is_root = 0 value = ))
)
>>> concat_match(end) <<<


>>>AST concat. a = (length = 2 trees[0] = 
	(depth = 0 value = (id = 2 text = "a" is_root = 0 value = ))
)
	b = (length = 1 trees[0] = 
	(depth = 0 value = (id = 0 text = "#" is_root = 0 value = ))
)<<<
>>>after AST concat. a = (length = 2 trees[0] = 
	(depth = 0 value = (id = 2 text = "a" is_root = 0 value = )) trees[1] = 
	(depth = 0 value = (id = 0 text = "#" is_root = 0 value = ))
)<<<

                      rule(varname):	"foo->count == 3) ; a"
                        rule(identifier):	"foo->count == 3) ; a"

>>> create_node(begin) <<<
creating node text: "f"
>>> create_node(end) <<<


>>> create_node(begin) <<<
creating node text: "o"
>>> create_node(end) <<<


>>> concat_match(begin) <<<
tree a:
(length = 0 trees[0] = 
	(depth = 0 value = (id = 0 text = "" is_root = 0 value = ))
)
tree b:
(length = 1 trees[0] = 
	(depth = 0 value = (id = 0 text = "o" is_root = 0 value = ))
)
>>> concat_match(end) <<<


>>> create_node(begin) <<<
creating node text: "o"
>>> create_node(end) <<<


>>> concat_match(begin) <<<
tree a:
(length = 1 trees[0] = 
	(depth = 0 value = (id = 0 text = "o" is_root = 0 value = ))
)
tree b:
(length = 1 trees[0] = 
	(depth = 0 value = (id = 0 text = "o" is_root = 0 value = ))
)
>>> concat_match(end) <<<


>>>AST concat. a = (length = 2 trees[0] = 
	(depth = 0 value = (id = 0 text = "o" is_root = 0 value = ))
)
	b = (length = 1 trees[0] = 
	(depth = 0 value = (id = 0 text = "o" is_root = 0 value = ))
)<<<
>>>after AST concat. a = (length = 2 trees[0] = 
	(depth = 0 value = (id = 0 text = "o" is_root = 0 value = )) trees[1] = 
	(depth = 0 value = (id = 0 text = "o" is_root = 0 value = ))
)<<<


>>> concat_match(begin) <<<
tree a:
(length = 1 trees[0] = 
	(depth = 0 value = (id = 0 text = "f" is_root = 0 value = ))
)
tree b:
(length = 2 trees[0] = 
	(depth = 0 value = (id = 0 text = "o" is_root = 0 value = )) trees[1] = 
	(depth = 0 value = (id = 0 text = "o" is_root = 0 value = ))
)
>>> concat_match(end) <<<


>>>AST concat. a = (length = 3 trees[0] = 
	(depth = 0 value = (id = 0 text = "f" is_root = 0 value = ))
)
	b = (length = 2 trees[0] = 
	(depth = 0 value = (id = 0 text = "o" is_root = 0 value = )) trees[1] = 
	(depth = 0 value = (id = 0 text = "o" is_root = 0 value = ))
)<<<
>>>after AST concat. a = (length = 3 trees[0] = 
	(depth = 0 value = (id = 0 text = "f" is_root = 0 value = )) trees[1] = 
	(depth = 0 value = (id = 0 text = "o" is_root = 0 value = )) trees[2] = 
	(depth = 0 value = (id = 0 text = "o" is_root = 0 value = ))
)<<<

                        /rule(identifier):	"->count == 3) ; a.fo"
                        rule(identifier):	"foo->count == 3) ; a"

>>> create_node(begin) <<<
creating node text: "f"
>>> create_node(end) <<<


>>> create_node(begin) <<<
creating node text: "o"
>>> create_node(end) <<<


>>> concat_match(begin) <<<
tree a:
(length = 0 trees[0] = 
	(depth = 0 value = (id = 0 text = "" is_root = 0 value = ))
)
tree b:
(length = 1 trees[0] = 
	(depth = 0 value = (id = 0 text = "o" is_root = 0 value = ))
)
>>> concat_match(end) <<<


>>> create_node(begin) <<<
creating node text: "o"
>>> create_node(end) <<<


>>> concat_match(begin) <<<
tree a:
(length = 1 trees[0] = 
	(depth = 0 value = (id = 0 text = "o" is_root = 0 value = ))
)
tree b:
(length = 1 trees[0] = 
	(depth = 0 value = (id = 0 text = "o" is_root = 0 value = ))
)
>>> concat_match(end) <<<


>>>AST concat. a = (length = 2 trees[0] = 
	(depth = 0 value = (id = 0 text = "o" is_root = 0 value = ))
)
	b = (length = 1 trees[0] = 
	(depth = 0 value = (id = 0 text = "o" is_root = 0 value = ))
)<<<
>>>after AST concat. a = (length = 2 trees[0] = 
	(depth = 0 value = (id = 0 text = "o" is_root = 0 value = )) trees[1] = 
	(depth = 0 value = (id = 0 text = "o" is_root = 0 value = ))
)<<<


>>> concat_match(begin) <<<
tree a:
(length = 1 trees[0] = 
	(depth = 0 value = (id = 0 text = "f" is_root = 0 value = ))
)
tree b:
(length = 2 trees[0] = 
	(depth = 0 value = (id = 0 text = "o" is_root = 0 value = )) trees[1] = 
	(depth = 0 value = (id = 0 text = "o" is_root = 0 value = ))
)
>>> concat_match(end) <<<


>>>AST concat. a = (length = 3 trees[0] = 
	(depth = 0 value = (id = 0 text = "f" is_root = 0 value = ))
)
	b = (length = 2 trees[0] = 
	(depth = 0 value = (id = 0 text = "o" is_root = 0 value = )) trees[1] = 
	(depth = 0 value = (id = 0 text = "o" is_root = 0 value = ))
)<<<
>>>after AST concat. a = (length = 3 trees[0] = 
	(depth = 0 value = (id = 0 text = "f" is_root = 0 value = )) trees[1] = 
	(depth = 0 value = (id = 0 text = "o" is_root = 0 value = )) trees[2] = 
	(depth = 0 value = (id = 0 text = "o" is_root = 0 value = ))
)<<<

                        /rule(identifier):	"->count == 3) ; a.fo"
                      /rule(varname):	"->count == 3) ; a.fo"

>>> concat_match(begin) <<<
tree a:
(length = 2 trees[0] = 
	(depth = 0 value = (id = 2 text = "a" is_root = 0 value = )) trees[1] = 
	(depth = 0 value = (id = 0 text = "#" is_root = 0 value = ))
)
tree b:
(length = 3 trees[0] = 
	(depth = 0 value = (id = 2 text = "foo" is_root = 0 value = ))
)
>>> concat_match(end) <<<


>>>AST concat. a = (length = 5 trees[0] = 
	(depth = 0 value = (id = 2 text = "a" is_root = 0 value = )) trees[1] = 
	(depth = 0 value = (id = 0 text = "#" is_root = 0 value = ))
)
	b = (length = 3 trees[0] = 
	(depth = 0 value = (id = 2 text = "foo" is_root = 0 value = ))
)<<<
>>>after AST concat. a = (length = 5 trees[0] = 
	(depth = 0 value = (id = 2 text = "a" is_root = 0 value = )) trees[1] = 
	(depth = 0 value = (id = 0 text = "#" is_root = 0 value = )) trees[2] = 
	(depth = 0 value = (id = 2 text = "foo" is_root = 0 value = ))
)<<<

                    /rule(setS):	"->count == 3) ; a.fo"
                  /rule(setVar):	"->count == 3) ; a.fo"
                #rule(setR):	"count == 3) ; a.foo "
                rule(identifier):	"a#foo->count == 3) ;"

>>> create_node(begin) <<<
creating node text: "a"
>>> create_node(end) <<<


>>> concat_match(begin) <<<
tree a:
(length = 1 trees[0] = 
	(depth = 0 value = (id = 0 text = "a" is_root = 0 value = ))
)
tree b:
(length = 0 trees[0] = 
	(depth = 0 value = (id = 0 text = "" is_root = 0 value = ))
)
>>> concat_match(end) <<<

                /rule(identifier):	"#foo->count == 3) ; "
              /rule(realFactor):	"#foo->count == 3) ; "

>>> concat_match(begin) <<<
tree a:
(length = 1 trees[0] = 
	(depth = 0 value = (id = 2 text = "a" is_root = 0 value = ))
)
tree b:
(length = 0 trees[0] = 
	(depth = 0 value = (id = 0 text = "" is_root = 0 value = ))
)
>>> concat_match(end) <<<

            /rule(realTerm):	"#foo->count == 3) ; "

>>> concat_match(begin) <<<
tree a:
(length = 1 trees[0] = 
	(depth = 0 value = (id = 2 text = "a" is_root = 0 value = ))
)
tree b:
(length = 0 trees[0] = 
	(depth = 0 value = (id = 0 text = "" is_root = 0 value = ))
)
>>> concat_match(end) <<<

          /rule(realExp):	"#foo->count == 3) ; "
          rule(compOp):	"#foo->count == 3) ; "
          #rule(compOp):	"#foo->count == 3) ; "
        #rule(compExp):	"#foo->count == 3) ; "

>>> create_node(begin) <<<
creating node text: " "
>>> create_node(end) <<<


>>> create_node(begin) <<<
creating node text: "("
>>> create_node(end) <<<

        rule(boolExp):	"a#foo->count == 3) ;"
          rule(boolExpSimple):	"a#foo->count == 3) ;"
            rule(setB):	"a#foo->count == 3) ;"
              rule(setVar):	"a#foo->count == 3) ;"
                rule(setS):	"a#foo->count == 3) ;"
                  rule(catom):	"a#foo->count == 3) ;"
                    rule(identifier):	"a#foo->count == 3) ;"

>>> create_node(begin) <<<
creating node text: "a"
>>> create_node(end) <<<


>>> concat_match(begin) <<<
tree a:
(length = 1 trees[0] = 
	(depth = 0 value = (id = 0 text = "a" is_root = 0 value = ))
)
tree b:
(length = 0 trees[0] = 
	(depth = 0 value = (id = 0 text = "" is_root = 0 value = ))
)
>>> concat_match(end) <<<

                    /rule(identifier):	"#foo->count == 3) ; "
                    rule(identifier):	"a#foo->count == 3) ;"

>>> create_node(begin) <<<
creating node text: "a"
>>> create_node(end) <<<


>>> concat_match(begin) <<<
tree a:
(length = 1 trees[0] = 
	(depth = 0 value = (id = 0 text = "a" is_root = 0 value = ))
)
tree b:
(length = 0 trees[0] = 
	(depth = 0 value = (id = 0 text = "" is_root = 0 value = ))
)
>>> concat_match(end) <<<

                    /rule(identifier):	"#foo->count == 3) ; "
                  /rule(catom):	"#foo->count == 3) ; "
                  rule(tShift):	"#foo->count == 3) ; "
                  #rule(tShift):	"#foo->count == 3) ; "

>>> concat_match(begin) <<<
tree a:
(length = 1 trees[0] = 
	(depth = 0 value = (id = 2 text = "a" is_root = 0 value = ))
)
tree b:
(length = 0 trees[0] = 
	(depth = 0 value = (id = 0 text = "" is_root = 0 value = ))
)
>>> concat_match(end) <<<


>>> create_node(begin) <<<
creating node text: "#"
>>> create_node(end) <<<


>>> concat_match(begin) <<<
tree a:
(length = 1 trees[0] = 
	(depth = 0 value = (id = 2 text = "a" is_root = 0 value = ))
)
tree b:
(length = 1 trees[0] = 
	(depth = 0 value = (id = 0 text = "#" is_root = 0 value = ))
)
>>> concat_match(end) <<<


>>>AST concat. a = (length = 2 trees[0] = 
	(depth = 0 value = (id = 2 text = "a" is_root = 0 value = ))
)
	b = (length = 1 trees[0] = 
	(depth = 0 value = (id = 0 text = "#" is_root = 0 value = ))
)<<<
>>>after AST concat. a = (length = 2 trees[0] = 
	(depth = 0 value = (id = 2 text = "a" is_root = 0 value = )) trees[1] = 
	(depth = 0 value = (id = 0 text = "#" is_root = 0 value = ))
)<<<

                  rule(varname):	"foo->count == 3) ; a"
                    rule(identifier):	"foo->count == 3) ; a"

>>> create_node(begin) <<<
creating node text: "f"
>>> create_node(end) <<<


>>> create_node(begin) <<<
creating node text: "o"
>>> create_node(end) <<<


>>> concat_match(begin) <<<
tree a:
(length = 0 trees[0] = 
	(depth = 0 value = (id = 0 text = "" is_root = 0 value = ))
)
tree b:
(length = 1 trees[0] = 
	(depth = 0 value = (id = 0 text = "o" is_root = 0 value = ))
)
>>> concat_match(end) <<<


>>> create_node(begin) <<<
creating node text: "o"
>>> create_node(end) <<<


>>> concat_match(begin) <<<
tree a:
(length = 1 trees[0] = 
	(depth = 0 value = (id = 0 text = "o" is_root = 0 value = ))
)
tree b:
(length = 1 trees[0] = 
	(depth = 0 value = (id = 0 text = "o" is_root = 0 value = ))
)
>>> concat_match(end) <<<


>>>AST concat. a = (length = 2 trees[0] = 
	(depth = 0 value = (id = 0 text = "o" is_root = 0 value = ))
)
	b = (length = 1 trees[0] = 
	(depth = 0 value = (id = 0 text = "o" is_root = 0 value = ))
)<<<
>>>after AST concat. a = (length = 2 trees[0] = 
	(depth = 0 value = (id = 0 text = "o" is_root = 0 value = )) trees[1] = 
	(depth = 0 value = (id = 0 text = "o" is_root = 0 value = ))
)<<<


>>> concat_match(begin) <<<
tree a:
(length = 1 trees[0] = 
	(depth = 0 value = (id = 0 text = "f" is_root = 0 value = ))
)
tree b:
(length = 2 trees[0] = 
	(depth = 0 value = (id = 0 text = "o" is_root = 0 value = )) trees[1] = 
	(depth = 0 value = (id = 0 text = "o" is_root = 0 value = ))
)
>>> concat_match(end) <<<


>>>AST concat. a = (length = 3 trees[0] = 
	(depth = 0 value = (id = 0 text = "f" is_root = 0 value = ))
)
	b = (length = 2 trees[0] = 
	(depth = 0 value = (id = 0 text = "o" is_root = 0 value = )) trees[1] = 
	(depth = 0 value = (id = 0 text = "o" is_root = 0 value = ))
)<<<
>>>after AST concat. a = (length = 3 trees[0] = 
	(depth = 0 value = (id = 0 text = "f" is_root = 0 value = )) trees[1] = 
	(depth = 0 value = (id = 0 text = "o" is_root = 0 value = )) trees[2] = 
	(depth = 0 value = (id = 0 text = "o" is_root = 0 value = ))
)<<<

                    /rule(identifier):	"->count == 3) ; a.fo"
                    rule(identifier):	"foo->count == 3) ; a"

>>> create_node(begin) <<<
creating node text: "f"
>>> create_node(end) <<<


>>> create_node(begin) <<<
creating node text: "o"
>>> create_node(end) <<<


>>> concat_match(begin) <<<
tree a:
(length = 0 trees[0] = 
	(depth = 0 value = (id = 0 text = "" is_root = 0 value = ))
)
tree b:
(length = 1 trees[0] = 
	(depth = 0 value = (id = 0 text = "o" is_root = 0 value = ))
)
>>> concat_match(end) <<<


>>> create_node(begin) <<<
creating node text: "o"
>>> create_node(end) <<<


>>> concat_match(begin) <<<
tree a:
(length = 1 trees[0] = 
	(depth = 0 value = (id = 0 text = "o" is_root = 0 value = ))
)
tree b:
(length = 1 trees[0] = 
	(depth = 0 value = (id = 0 text = "o" is_root = 0 value = ))
)
>>> concat_match(end) <<<


>>>AST concat. a = (length = 2 trees[0] = 
	(depth = 0 value = (id = 0 text = "o" is_root = 0 value = ))
)
	b = (length = 1 trees[0] = 
	(depth = 0 value = (id = 0 text = "o" is_root = 0 value = ))
)<<<
>>>after AST concat. a = (length = 2 trees[0] = 
	(depth = 0 value = (id = 0 text = "o" is_root = 0 value = )) trees[1] = 
	(depth = 0 value = (id = 0 text = "o" is_root = 0 value = ))
)<<<


>>> concat_match(begin) <<<
tree a:
(length = 1 trees[0] = 
	(depth = 0 value = (id = 0 text = "f" is_root = 0 value = ))
)
tree b:
(length = 2 trees[0] = 
	(depth = 0 value = (id = 0 text = "o" is_root = 0 value = )) trees[1] = 
	(depth = 0 value = (id = 0 text = "o" is_root = 0 value = ))
)
>>> concat_match(end) <<<


>>>AST concat. a = (length = 3 trees[0] = 
	(depth = 0 value = (id = 0 text = "f" is_root = 0 value = ))
)
	b = (length = 2 trees[0] = 
	(depth = 0 value = (id = 0 text = "o" is_root = 0 value = )) trees[1] = 
	(depth = 0 value = (id = 0 text = "o" is_root = 0 value = ))
)<<<
>>>after AST concat. a = (length = 3 trees[0] = 
	(depth = 0 value = (id = 0 text = "f" is_root = 0 value = )) trees[1] = 
	(depth = 0 value = (id = 0 text = "o" is_root = 0 value = )) trees[2] = 
	(depth = 0 value = (id = 0 text = "o" is_root = 0 value = ))
)<<<

                    /rule(identifier):	"->count == 3) ; a.fo"
                  /rule(varname):	"->count == 3) ; a.fo"

>>> concat_match(begin) <<<
tree a:
(length = 2 trees[0] = 
	(depth = 0 value = (id = 2 text = "a" is_root = 0 value = )) trees[1] = 
	(depth = 0 value = (id = 0 text = "#" is_root = 0 value = ))
)
tree b:
(length = 3 trees[0] = 
	(depth = 0 value = (id = 2 text = "foo" is_root = 0 value = ))
)
>>> concat_match(end) <<<


>>>AST concat. a = (length = 5 trees[0] = 
	(depth = 0 value = (id = 2 text = "a" is_root = 0 value = )) trees[1] = 
	(depth = 0 value = (id = 0 text = "#" is_root = 0 value = ))
)
	b = (length = 3 trees[0] = 
	(depth = 0 value = (id = 2 text = "foo" is_root = 0 value = ))
)<<<
>>>after AST concat. a = (length = 5 trees[0] = 
	(depth = 0 value = (id = 2 text = "a" is_root = 0 value = )) trees[1] = 
	(depth = 0 value = (id = 0 text = "#" is_root = 0 value = )) trees[2] = 
	(depth = 0 value = (id = 2 text = "foo" is_root = 0 value = ))
)<<<

                /rule(setS):	"->count == 3) ; a.fo"
                rule(setS):	"a#foo->count == 3) ;"
                  rule(catom):	"a#foo->count == 3) ;"
                    rule(identifier):	"a#foo->count == 3) ;"

>>> create_node(begin) <<<
creating node text: "a"
>>> create_node(end) <<<


>>> concat_match(begin) <<<
tree a:
(length = 1 trees[0] = 
	(depth = 0 value = (id = 0 text = "a" is_root = 0 value = ))
)
tree b:
(length = 0 trees[0] = 
	(depth = 0 value = (id = 0 text = "" is_root = 0 value = ))
)
>>> concat_match(end) <<<

                    /rule(identifier):	"#foo->count == 3) ; "
                    rule(identifier):	"a#foo->count == 3) ;"

>>> create_node(begin) <<<
creating node text: "a"
>>> create_node(end) <<<


>>> concat_match(begin) <<<
tree a:
(length = 1 trees[0] = 
	(depth = 0 value = (id = 0 text = "a" is_root = 0 value = ))
)
tree b:
(length = 0 trees[0] = 
	(depth = 0 value = (id = 0 text = "" is_root = 0 value = ))
)
>>> concat_match(end) <<<

                    /rule(identifier):	"#foo->count == 3) ; "
                  /rule(catom):	"#foo->count == 3) ; "
                  rule(tShift):	"#foo->count == 3) ; "
                  #rule(tShift):	"#foo->count == 3) ; "

>>> concat_match(begin) <<<
tree a:
(length = 1 trees[0] = 
	(depth = 0 value = (id = 2 text = "a" is_root = 0 value = ))
)
tree b:
(length = 0 trees[0] = 
	(depth = 0 value = (id = 0 text = "" is_root = 0 value = ))
)
>>> concat_match(end) <<<


>>> create_node(begin) <<<
creating node text: "#"
>>> create_node(end) <<<


>>> concat_match(begin) <<<
tree a:
(length = 1 trees[0] = 
	(depth = 0 value = (id = 2 text = "a" is_root = 0 value = ))
)
tree b:
(length = 1 trees[0] = 
	(depth = 0 value = (id = 0 text = "#" is_root = 0 value = ))
)
>>> concat_match(end) <<<


>>>AST concat. a = (length = 2 trees[0] = 
	(depth = 0 value = (id = 2 text = "a" is_root = 0 value = ))
)
	b = (length = 1 trees[0] = 
	(depth = 0 value = (id = 0 text = "#" is_root = 0 value = ))
)<<<
>>>after AST concat. a = (length = 2 trees[0] = 
	(depth = 0 value = (id = 2 text = "a" is_root = 0 value = )) trees[1] = 
	(depth = 0 value = (id = 0 text = "#" is_root = 0 value = ))
)<<<

                  rule(varname):	"foo->count == 3) ; a"
                    rule(identifier):	"foo->count == 3) ; a"

>>> create_node(begin) <<<
creating node text: "f"
>>> create_node(end) <<<


>>> create_node(begin) <<<
creating node text: "o"
>>> create_node(end) <<<


>>> concat_match(begin) <<<
tree a:
(length = 0 trees[0] = 
	(depth = 0 value = (id = 0 text = "" is_root = 0 value = ))
)
tree b:
(length = 1 trees[0] = 
	(depth = 0 value = (id = 0 text = "o" is_root = 0 value = ))
)
>>> concat_match(end) <<<


>>> create_node(begin) <<<
creating node text: "o"
>>> create_node(end) <<<


>>> concat_match(begin) <<<
tree a:
(length = 1 trees[0] = 
	(depth = 0 value = (id = 0 text = "o" is_root = 0 value = ))
)
tree b:
(length = 1 trees[0] = 
	(depth = 0 value = (id = 0 text = "o" is_root = 0 value = ))
)
>>> concat_match(end) <<<


>>>AST concat. a = (length = 2 trees[0] = 
	(depth = 0 value = (id = 0 text = "o" is_root = 0 value = ))
)
	b = (length = 1 trees[0] = 
	(depth = 0 value = (id = 0 text = "o" is_root = 0 value = ))
)<<<
>>>after AST concat. a = (length = 2 trees[0] = 
	(depth = 0 value = (id = 0 text = "o" is_root = 0 value = )) trees[1] = 
	(depth = 0 value = (id = 0 text = "o" is_root = 0 value = ))
)<<<


>>> concat_match(begin) <<<
tree a:
(length = 1 trees[0] = 
	(depth = 0 value = (id = 0 text = "f" is_root = 0 value = ))
)
tree b:
(length = 2 trees[0] = 
	(depth = 0 value = (id = 0 text = "o" is_root = 0 value = )) trees[1] = 
	(depth = 0 value = (id = 0 text = "o" is_root = 0 value = ))
)
>>> concat_match(end) <<<


>>>AST concat. a = (length = 3 trees[0] = 
	(depth = 0 value = (id = 0 text = "f" is_root = 0 value = ))
)
	b = (length = 2 trees[0] = 
	(depth = 0 value = (id = 0 text = "o" is_root = 0 value = )) trees[1] = 
	(depth = 0 value = (id = 0 text = "o" is_root = 0 value = ))
)<<<
>>>after AST concat. a = (length = 3 trees[0] = 
	(depth = 0 value = (id = 0 text = "f" is_root = 0 value = )) trees[1] = 
	(depth = 0 value = (id = 0 text = "o" is_root = 0 value = )) trees[2] = 
	(depth = 0 value = (id = 0 text = "o" is_root = 0 value = ))
)<<<

                    /rule(identifier):	"->count == 3) ; a.fo"
                    rule(identifier):	"foo->count == 3) ; a"

>>> create_node(begin) <<<
creating node text: "f"
>>> create_node(end) <<<


>>> create_node(begin) <<<
creating node text: "o"
>>> create_node(end) <<<


>>> concat_match(begin) <<<
tree a:
(length = 0 trees[0] = 
	(depth = 0 value = (id = 0 text = "" is_root = 0 value = ))
)
tree b:
(length = 1 trees[0] = 
	(depth = 0 value = (id = 0 text = "o" is_root = 0 value = ))
)
>>> concat_match(end) <<<


>>> create_node(begin) <<<
creating node text: "o"
>>> create_node(end) <<<


>>> concat_match(begin) <<<
tree a:
(length = 1 trees[0] = 
	(depth = 0 value = (id = 0 text = "o" is_root = 0 value = ))
)
tree b:
(length = 1 trees[0] = 
	(depth = 0 value = (id = 0 text = "o" is_root = 0 value = ))
)
>>> concat_match(end) <<<


>>>AST concat. a = (length = 2 trees[0] = 
	(depth = 0 value = (id = 0 text = "o" is_root = 0 value = ))
)
	b = (length = 1 trees[0] = 
	(depth = 0 value = (id = 0 text = "o" is_root = 0 value = ))
)<<<
>>>after AST concat. a = (length = 2 trees[0] = 
	(depth = 0 value = (id = 0 text = "o" is_root = 0 value = )) trees[1] = 
	(depth = 0 value = (id = 0 text = "o" is_root = 0 value = ))
)<<<


>>> concat_match(begin) <<<
tree a:
(length = 1 trees[0] = 
	(depth = 0 value = (id = 0 text = "f" is_root = 0 value = ))
)
tree b:
(length = 2 trees[0] = 
	(depth = 0 value = (id = 0 text = "o" is_root = 0 value = )) trees[1] = 
	(depth = 0 value = (id = 0 text = "o" is_root = 0 value = ))
)
>>> concat_match(end) <<<


>>>AST concat. a = (length = 3 trees[0] = 
	(depth = 0 value = (id = 0 text = "f" is_root = 0 value = ))
)
	b = (length = 2 trees[0] = 
	(depth = 0 value = (id = 0 text = "o" is_root = 0 value = )) trees[1] = 
	(depth = 0 value = (id = 0 text = "o" is_root = 0 value = ))
)<<<
>>>after AST concat. a = (length = 3 trees[0] = 
	(depth = 0 value = (id = 0 text = "f" is_root = 0 value = )) trees[1] = 
	(depth = 0 value = (id = 0 text = "o" is_root = 0 value = )) trees[2] = 
	(depth = 0 value = (id = 0 text = "o" is_root = 0 value = ))
)<<<

                    /rule(identifier):	"->count == 3) ; a.fo"
                  /rule(varname):	"->count == 3) ; a.fo"

>>> concat_match(begin) <<<
tree a:
(length = 2 trees[0] = 
	(depth = 0 value = (id = 2 text = "a" is_root = 0 value = )) trees[1] = 
	(depth = 0 value = (id = 0 text = "#" is_root = 0 value = ))
)
tree b:
(length = 3 trees[0] = 
	(depth = 0 value = (id = 2 text = "foo" is_root = 0 value = ))
)
>>> concat_match(end) <<<


>>>AST concat. a = (length = 5 trees[0] = 
	(depth = 0 value = (id = 2 text = "a" is_root = 0 value = )) trees[1] = 
	(depth = 0 value = (id = 0 text = "#" is_root = 0 value = ))
)
	b = (length = 3 trees[0] = 
	(depth = 0 value = (id = 2 text = "foo" is_root = 0 value = ))
)<<<
>>>after AST concat. a = (length = 5 trees[0] = 
	(depth = 0 value = (id = 2 text = "a" is_root = 0 value = )) trees[1] = 
	(depth = 0 value = (id = 0 text = "#" is_root = 0 value = )) trees[2] = 
	(depth = 0 value = (id = 2 text = "foo" is_root = 0 value = ))
)<<<

                /rule(setS):	"->count == 3) ; a.fo"
              /rule(setVar):	"->count == 3) ; a.fo"
            #rule(setB):	"count == 3) ; a.foo "
          #rule(boolExpSimple):	"count == 3) ; a.foo "
          rule(boolExpSimple):	"a#foo->count == 3) ;"
            rule(setB):	"a#foo->count == 3) ;"
              rule(setVar):	"a#foo->count == 3) ;"
                rule(setS):	"a#foo->count == 3) ;"
                  rule(catom):	"a#foo->count == 3) ;"
                    rule(identifier):	"a#foo->count == 3) ;"

>>> create_node(begin) <<<
creating node text: "a"
>>> create_node(end) <<<


>>> concat_match(begin) <<<
tree a:
(length = 1 trees[0] = 
	(depth = 0 value = (id = 0 text = "a" is_root = 0 value = ))
)
tree b:
(length = 0 trees[0] = 
	(depth = 0 value = (id = 0 text = "" is_root = 0 value = ))
)
>>> concat_match(end) <<<

                    /rule(identifier):	"#foo->count == 3) ; "
                    rule(identifier):	"a#foo->count == 3) ;"

>>> create_node(begin) <<<
creating node text: "a"
>>> create_node(end) <<<


>>> concat_match(begin) <<<
tree a:
(length = 1 trees[0] = 
	(depth = 0 value = (id = 0 text = "a" is_root = 0 value = ))
)
tree b:
(length = 0 trees[0] = 
	(depth = 0 value = (id = 0 text = "" is_root = 0 value = ))
)
>>> concat_match(end) <<<

                    /rule(identifier):	"#foo->count == 3) ; "
                  /rule(catom):	"#foo->count == 3) ; "
                  rule(tShift):	"#foo->count == 3) ; "
                  #rule(tShift):	"#foo->count == 3) ; "

>>> concat_match(begin) <<<
tree a:
(length = 1 trees[0] = 
	(depth = 0 value = (id = 2 text = "a" is_root = 0 value = ))
)
tree b:
(length = 0 trees[0] = 
	(depth = 0 value = (id = 0 text = "" is_root = 0 value = ))
)
>>> concat_match(end) <<<


>>> create_node(begin) <<<
creating node text: "#"
>>> create_node(end) <<<


>>> concat_match(begin) <<<
tree a:
(length = 1 trees[0] = 
	(depth = 0 value = (id = 2 text = "a" is_root = 0 value = ))
)
tree b:
(length = 1 trees[0] = 
	(depth = 0 value = (id = 0 text = "#" is_root = 0 value = ))
)
>>> concat_match(end) <<<


>>>AST concat. a = (length = 2 trees[0] = 
	(depth = 0 value = (id = 2 text = "a" is_root = 0 value = ))
)
	b = (length = 1 trees[0] = 
	(depth = 0 value = (id = 0 text = "#" is_root = 0 value = ))
)<<<
>>>after AST concat. a = (length = 2 trees[0] = 
	(depth = 0 value = (id = 2 text = "a" is_root = 0 value = )) trees[1] = 
	(depth = 0 value = (id = 0 text = "#" is_root = 0 value = ))
)<<<

                  rule(varname):	"foo->count == 3) ; a"
                    rule(identifier):	"foo->count == 3) ; a"

>>> create_node(begin) <<<
creating node text: "f"
>>> create_node(end) <<<


>>> create_node(begin) <<<
creating node text: "o"
>>> create_node(end) <<<


>>> concat_match(begin) <<<
tree a:
(length = 0 trees[0] = 
	(depth = 0 value = (id = 0 text = "" is_root = 0 value = ))
)
tree b:
(length = 1 trees[0] = 
	(depth = 0 value = (id = 0 text = "o" is_root = 0 value = ))
)
>>> concat_match(end) <<<


>>> create_node(begin) <<<
creating node text: "o"
>>> create_node(end) <<<


>>> concat_match(begin) <<<
tree a:
(length = 1 trees[0] = 
	(depth = 0 value = (id = 0 text = "o" is_root = 0 value = ))
)
tree b:
(length = 1 trees[0] = 
	(depth = 0 value = (id = 0 text = "o" is_root = 0 value = ))
)
>>> concat_match(end) <<<


>>>AST concat. a = (length = 2 trees[0] = 
	(depth = 0 value = (id = 0 text = "o" is_root = 0 value = ))
)
	b = (length = 1 trees[0] = 
	(depth = 0 value = (id = 0 text = "o" is_root = 0 value = ))
)<<<
>>>after AST concat. a = (length = 2 trees[0] = 
	(depth = 0 value = (id = 0 text = "o" is_root = 0 value = )) trees[1] = 
	(depth = 0 value = (id = 0 text = "o" is_root = 0 value = ))
)<<<


>>> concat_match(begin) <<<
tree a:
(length = 1 trees[0] = 
	(depth = 0 value = (id = 0 text = "f" is_root = 0 value = ))
)
tree b:
(length = 2 trees[0] = 
	(depth = 0 value = (id = 0 text = "o" is_root = 0 value = )) trees[1] = 
	(depth = 0 value = (id = 0 text = "o" is_root = 0 value = ))
)
>>> concat_match(end) <<<


>>>AST concat. a = (length = 3 trees[0] = 
	(depth = 0 value = (id = 0 text = "f" is_root = 0 value = ))
)
	b = (length = 2 trees[0] = 
	(depth = 0 value = (id = 0 text = "o" is_root = 0 value = )) trees[1] = 
	(depth = 0 value = (id = 0 text = "o" is_root = 0 value = ))
)<<<
>>>after AST concat. a = (length = 3 trees[0] = 
	(depth = 0 value = (id = 0 text = "f" is_root = 0 value = )) trees[1] = 
	(depth = 0 value = (id = 0 text = "o" is_root = 0 value = )) trees[2] = 
	(depth = 0 value = (id = 0 text = "o" is_root = 0 value = ))
)<<<

                    /rule(identifier):	"->count == 3) ; a.fo"
                    rule(identifier):	"foo->count == 3) ; a"

>>> create_node(begin) <<<
creating node text: "f"
>>> create_node(end) <<<


>>> create_node(begin) <<<
creating node text: "o"
>>> create_node(end) <<<


>>> concat_match(begin) <<<
tree a:
(length = 0 trees[0] = 
	(depth = 0 value = (id = 0 text = "" is_root = 0 value = ))
)
tree b:
(length = 1 trees[0] = 
	(depth = 0 value = (id = 0 text = "o" is_root = 0 value = ))
)
>>> concat_match(end) <<<


>>> create_node(begin) <<<
creating node text: "o"
>>> create_node(end) <<<


>>> concat_match(begin) <<<
tree a:
(length = 1 trees[0] = 
	(depth = 0 value = (id = 0 text = "o" is_root = 0 value = ))
)
tree b:
(length = 1 trees[0] = 
	(depth = 0 value = (id = 0 text = "o" is_root = 0 value = ))
)
>>> concat_match(end) <<<


>>>AST concat. a = (length = 2 trees[0] = 
	(depth = 0 value = (id = 0 text = "o" is_root = 0 value = ))
)
	b = (length = 1 trees[0] = 
	(depth = 0 value = (id = 0 text = "o" is_root = 0 value = ))
)<<<
>>>after AST concat. a = (length = 2 trees[0] = 
	(depth = 0 value = (id = 0 text = "o" is_root = 0 value = )) trees[1] = 
	(depth = 0 value = (id = 0 text = "o" is_root = 0 value = ))
)<<<


>>> concat_match(begin) <<<
tree a:
(length = 1 trees[0] = 
	(depth = 0 value = (id = 0 text = "f" is_root = 0 value = ))
)
tree b:
(length = 2 trees[0] = 
	(depth = 0 value = (id = 0 text = "o" is_root = 0 value = )) trees[1] = 
	(depth = 0 value = (id = 0 text = "o" is_root = 0 value = ))
)
>>> concat_match(end) <<<


>>>AST concat. a = (length = 3 trees[0] = 
	(depth = 0 value = (id = 0 text = "f" is_root = 0 value = ))
)
	b = (length = 2 trees[0] = 
	(depth = 0 value = (id = 0 text = "o" is_root = 0 value = )) trees[1] = 
	(depth = 0 value = (id = 0 text = "o" is_root = 0 value = ))
)<<<
>>>after AST concat. a = (length = 3 trees[0] = 
	(depth = 0 value = (id = 0 text = "f" is_root = 0 value = )) trees[1] = 
	(depth = 0 value = (id = 0 text = "o" is_root = 0 value = )) trees[2] = 
	(depth = 0 value = (id = 0 text = "o" is_root = 0 value = ))
)<<<

                    /rule(identifier):	"->count == 3) ; a.fo"
                  /rule(varname):	"->count == 3) ; a.fo"

>>> concat_match(begin) <<<
tree a:
(length = 2 trees[0] = 
	(depth = 0 value = (id = 2 text = "a" is_root = 0 value = )) trees[1] = 
	(depth = 0 value = (id = 0 text = "#" is_root = 0 value = ))
)
tree b:
(length = 3 trees[0] = 
	(depth = 0 value = (id = 2 text = "foo" is_root = 0 value = ))
)
>>> concat_match(end) <<<


>>>AST concat. a = (length = 5 trees[0] = 
	(depth = 0 value = (id = 2 text = "a" is_root = 0 value = )) trees[1] = 
	(depth = 0 value = (id = 0 text = "#" is_root = 0 value = ))
)
	b = (length = 3 trees[0] = 
	(depth = 0 value = (id = 2 text = "foo" is_root = 0 value = ))
)<<<
>>>after AST concat. a = (length = 5 trees[0] = 
	(depth = 0 value = (id = 2 text = "a" is_root = 0 value = )) trees[1] = 
	(depth = 0 value = (id = 0 text = "#" is_root = 0 value = )) trees[2] = 
	(depth = 0 value = (id = 2 text = "foo" is_root = 0 value = ))
)<<<

                /rule(setS):	"->count == 3) ; a.fo"
                rule(setS):	"a#foo->count == 3) ;"
                  rule(catom):	"a#foo->count == 3) ;"
                    rule(identifier):	"a#foo->count == 3) ;"

>>> create_node(begin) <<<
creating node text: "a"
>>> create_node(end) <<<


>>> concat_match(begin) <<<
tree a:
(length = 1 trees[0] = 
	(depth = 0 value = (id = 0 text = "a" is_root = 0 value = ))
)
tree b:
(length = 0 trees[0] = 
	(depth = 0 value = (id = 0 text = "" is_root = 0 value = ))
)
>>> concat_match(end) <<<

                    /rule(identifier):	"#foo->count == 3) ; "
                    rule(identifier):	"a#foo->count == 3) ;"

>>> create_node(begin) <<<
creating node text: "a"
>>> create_node(end) <<<


>>> concat_match(begin) <<<
tree a:
(length = 1 trees[0] = 
	(depth = 0 value = (id = 0 text = "a" is_root = 0 value = ))
)
tree b:
(length = 0 trees[0] = 
	(depth = 0 value = (id = 0 text = "" is_root = 0 value = ))
)
>>> concat_match(end) <<<

                    /rule(identifier):	"#foo->count == 3) ; "
                  /rule(catom):	"#foo->count == 3) ; "
                  rule(tShift):	"#foo->count == 3) ; "
                  #rule(tShift):	"#foo->count == 3) ; "

>>> concat_match(begin) <<<
tree a:
(length = 1 trees[0] = 
	(depth = 0 value = (id = 2 text = "a" is_root = 0 value = ))
)
tree b:
(length = 0 trees[0] = 
	(depth = 0 value = (id = 0 text = "" is_root = 0 value = ))
)
>>> concat_match(end) <<<


>>> create_node(begin) <<<
creating node text: "#"
>>> create_node(end) <<<


>>> concat_match(begin) <<<
tree a:
(length = 1 trees[0] = 
	(depth = 0 value = (id = 2 text = "a" is_root = 0 value = ))
)
tree b:
(length = 1 trees[0] = 
	(depth = 0 value = (id = 0 text = "#" is_root = 0 value = ))
)
>>> concat_match(end) <<<


>>>AST concat. a = (length = 2 trees[0] = 
	(depth = 0 value = (id = 2 text = "a" is_root = 0 value = ))
)
	b = (length = 1 trees[0] = 
	(depth = 0 value = (id = 0 text = "#" is_root = 0 value = ))
)<<<
>>>after AST concat. a = (length = 2 trees[0] = 
	(depth = 0 value = (id = 2 text = "a" is_root = 0 value = )) trees[1] = 
	(depth = 0 value = (id = 0 text = "#" is_root = 0 value = ))
)<<<

                  rule(varname):	"foo->count == 3) ; a"
                    rule(identifier):	"foo->count == 3) ; a"

>>> create_node(begin) <<<
creating node text: "f"
>>> create_node(end) <<<


>>> create_node(begin) <<<
creating node text: "o"
>>> create_node(end) <<<


>>> concat_match(begin) <<<
tree a:
(length = 0 trees[0] = 
	(depth = 0 value = (id = 0 text = "" is_root = 0 value = ))
)
tree b:
(length = 1 trees[0] = 
	(depth = 0 value = (id = 0 text = "o" is_root = 0 value = ))
)
>>> concat_match(end) <<<


>>> create_node(begin) <<<
creating node text: "o"
>>> create_node(end) <<<


>>> concat_match(begin) <<<
tree a:
(length = 1 trees[0] = 
	(depth = 0 value = (id = 0 text = "o" is_root = 0 value = ))
)
tree b:
(length = 1 trees[0] = 
	(depth = 0 value = (id = 0 text = "o" is_root = 0 value = ))
)
>>> concat_match(end) <<<


>>>AST concat. a = (length = 2 trees[0] = 
	(depth = 0 value = (id = 0 text = "o" is_root = 0 value = ))
)
	b = (length = 1 trees[0] = 
	(depth = 0 value = (id = 0 text = "o" is_root = 0 value = ))
)<<<
>>>after AST concat. a = (length = 2 trees[0] = 
	(depth = 0 value = (id = 0 text = "o" is_root = 0 value = )) trees[1] = 
	(depth = 0 value = (id = 0 text = "o" is_root = 0 value = ))
)<<<


>>> concat_match(begin) <<<
tree a:
(length = 1 trees[0] = 
	(depth = 0 value = (id = 0 text = "f" is_root = 0 value = ))
)
tree b:
(length = 2 trees[0] = 
	(depth = 0 value = (id = 0 text = "o" is_root = 0 value = )) trees[1] = 
	(depth = 0 value = (id = 0 text = "o" is_root = 0 value = ))
)
>>> concat_match(end) <<<


>>>AST concat. a = (length = 3 trees[0] = 
	(depth = 0 value = (id = 0 text = "f" is_root = 0 value = ))
)
	b = (length = 2 trees[0] = 
	(depth = 0 value = (id = 0 text = "o" is_root = 0 value = )) trees[1] = 
	(depth = 0 value = (id = 0 text = "o" is_root = 0 value = ))
)<<<
>>>after AST concat. a = (length = 3 trees[0] = 
	(depth = 0 value = (id = 0 text = "f" is_root = 0 value = )) trees[1] = 
	(depth = 0 value = (id = 0 text = "o" is_root = 0 value = )) trees[2] = 
	(depth = 0 value = (id = 0 text = "o" is_root = 0 value = ))
)<<<

                    /rule(identifier):	"->count == 3) ; a.fo"
                    rule(identifier):	"foo->count == 3) ; a"

>>> create_node(begin) <<<
creating node text: "f"
>>> create_node(end) <<<


>>> create_node(begin) <<<
creating node text: "o"
>>> create_node(end) <<<


>>> concat_match(begin) <<<
tree a:
(length = 0 trees[0] = 
	(depth = 0 value = (id = 0 text = "" is_root = 0 value = ))
)
tree b:
(length = 1 trees[0] = 
	(depth = 0 value = (id = 0 text = "o" is_root = 0 value = ))
)
>>> concat_match(end) <<<


>>> create_node(begin) <<<
creating node text: "o"
>>> create_node(end) <<<


>>> concat_match(begin) <<<
tree a:
(length = 1 trees[0] = 
	(depth = 0 value = (id = 0 text = "o" is_root = 0 value = ))
)
tree b:
(length = 1 trees[0] = 
	(depth = 0 value = (id = 0 text = "o" is_root = 0 value = ))
)
>>> concat_match(end) <<<


>>>AST concat. a = (length = 2 trees[0] = 
	(depth = 0 value = (id = 0 text = "o" is_root = 0 value = ))
)
	b = (length = 1 trees[0] = 
	(depth = 0 value = (id = 0 text = "o" is_root = 0 value = ))
)<<<
>>>after AST concat. a = (length = 2 trees[0] = 
	(depth = 0 value = (id = 0 text = "o" is_root = 0 value = )) trees[1] = 
	(depth = 0 value = (id = 0 text = "o" is_root = 0 value = ))
)<<<


>>> concat_match(begin) <<<
tree a:
(length = 1 trees[0] = 
	(depth = 0 value = (id = 0 text = "f" is_root = 0 value = ))
)
tree b:
(length = 2 trees[0] = 
	(depth = 0 value = (id = 0 text = "o" is_root = 0 value = )) trees[1] = 
	(depth = 0 value = (id = 0 text = "o" is_root = 0 value = ))
)
>>> concat_match(end) <<<


>>>AST concat. a = (length = 3 trees[0] = 
	(depth = 0 value = (id = 0 text = "f" is_root = 0 value = ))
)
	b = (length = 2 trees[0] = 
	(depth = 0 value = (id = 0 text = "o" is_root = 0 value = )) trees[1] = 
	(depth = 0 value = (id = 0 text = "o" is_root = 0 value = ))
)<<<
>>>after AST concat. a = (length = 3 trees[0] = 
	(depth = 0 value = (id = 0 text = "f" is_root = 0 value = )) trees[1] = 
	(depth = 0 value = (id = 0 text = "o" is_root = 0 value = )) trees[2] = 
	(depth = 0 value = (id = 0 text = "o" is_root = 0 value = ))
)<<<

                    /rule(identifier):	"->count == 3) ; a.fo"
                  /rule(varname):	"->count == 3) ; a.fo"

>>> concat_match(begin) <<<
tree a:
(length = 2 trees[0] = 
	(depth = 0 value = (id = 2 text = "a" is_root = 0 value = )) trees[1] = 
	(depth = 0 value = (id = 0 text = "#" is_root = 0 value = ))
)
tree b:
(length = 3 trees[0] = 
	(depth = 0 value = (id = 2 text = "foo" is_root = 0 value = ))
)
>>> concat_match(end) <<<


>>>AST concat. a = (length = 5 trees[0] = 
	(depth = 0 value = (id = 2 text = "a" is_root = 0 value = )) trees[1] = 
	(depth = 0 value = (id = 0 text = "#" is_root = 0 value = ))
)
	b = (length = 3 trees[0] = 
	(depth = 0 value = (id = 2 text = "foo" is_root = 0 value = ))
)<<<
>>>after AST concat. a = (length = 5 trees[0] = 
	(depth = 0 value = (id = 2 text = "a" is_root = 0 value = )) trees[1] = 
	(depth = 0 value = (id = 0 text = "#" is_root = 0 value = )) trees[2] = 
	(depth = 0 value = (id = 2 text = "foo" is_root = 0 value = ))
)<<<

                /rule(setS):	"->count == 3) ; a.fo"
              /rule(setVar):	"->count == 3) ; a.fo"
            #rule(setB):	"count == 3) ; a.foo "
          #rule(boolExpSimple):	"count == 3) ; a.foo "
        #rule(boolExp):	"count == 3) ; a.foo "
        rule(setB):	" (a#foo->count == 3)"
          rule(setVar):	" (a#foo->count == 3)"
            rule(setS):	" (a#foo->count == 3)"
              rule(catom):	" (a#foo->count == 3)"
                rule(identifier):	" (a#foo->count == 3)"

>>> create_node(begin) <<<
creating node text: " "
>>> create_node(end) <<<

                #rule(identifier):	"(a#foo->count == 3) "
                rule(identifier):	" (a#foo->count == 3)"

>>> create_node(begin) <<<
creating node text: " "
>>> create_node(end) <<<

                #rule(identifier):	"(a#foo->count == 3) "
              #rule(catom):	"(a#foo->count == 3) "
            #rule(setS):	"(a#foo->count == 3) "
            rule(setS):	" (a#foo->count == 3)"
              rule(catom):	" (a#foo->count == 3)"
                rule(identifier):	" (a#foo->count == 3)"

>>> create_node(begin) <<<
creating node text: " "
>>> create_node(end) <<<

                #rule(identifier):	"(a#foo->count == 3) "
                rule(identifier):	" (a#foo->count == 3)"

>>> create_node(begin) <<<
creating node text: " "
>>> create_node(end) <<<

                #rule(identifier):	"(a#foo->count == 3) "
              #rule(catom):	"(a#foo->count == 3) "
            #rule(setS):	"(a#foo->count == 3) "
          #rule(setVar):	"(a#foo->count == 3) "
        #rule(setB):	"(a#foo->count == 3) "
      #rule(boolExpSimple):	"(a#foo->count == 3) "
      rule(boolExpSimple):	" (a#foo->count == 3)"

>>> create_node(begin) <<<
creating node text: " "
>>> create_node(end) <<<


>>> create_node(begin) <<<
creating node text: " "
>>> create_node(end) <<<


>>> create_node(begin) <<<
creating node text: " "
>>> create_node(end) <<<


>>> create_node(begin) <<<
creating node text: "("
>>> create_node(end) <<<

        rule(compExp):	"a#foo->count == 3) ;"
          rule(realExp):	"a#foo->count == 3) ;"
            rule(realTerm):	"a#foo->count == 3) ;"
              rule(realFactor):	"a#foo->count == 3) ;"
                rule(numeric):	"a#foo->count == 3) ;"
                #rule(numeric):	"a#foo->count == 3) ;"
                rule(stateVar):	"a#foo->count == 3) ;"
                  rule(catom):	"a#foo->count == 3) ;"
                    rule(identifier):	"a#foo->count == 3) ;"

>>> create_node(begin) <<<
creating node text: "a"
>>> create_node(end) <<<


>>> concat_match(begin) <<<
tree a:
(length = 1 trees[0] = 
	(depth = 0 value = (id = 0 text = "a" is_root = 0 value = ))
)
tree b:
(length = 0 trees[0] = 
	(depth = 0 value = (id = 0 text = "" is_root = 0 value = ))
)
>>> concat_match(end) <<<

                    /rule(identifier):	"#foo->count == 3) ; "
                    rule(identifier):	"a#foo->count == 3) ;"

>>> create_node(begin) <<<
creating node text: "a"
>>> create_node(end) <<<


>>> concat_match(begin) <<<
tree a:
(length = 1 trees[0] = 
	(depth = 0 value = (id = 0 text = "a" is_root = 0 value = ))
)
tree b:
(length = 0 trees[0] = 
	(depth = 0 value = (id = 0 text = "" is_root = 0 value = ))
)
>>> concat_match(end) <<<

                    /rule(identifier):	"#foo->count == 3) ; "
                  /rule(catom):	"#foo->count == 3) ; "
                #rule(stateVar):	"#foo->count == 3) ; "
                rule(countExp):	"a#foo->count == 3) ;"
                #rule(countExp):	"a#foo->count == 3) ;"
                rule(setR):	"a#foo->count == 3) ;"
                  rule(setVar):	"a#foo->count == 3) ;"
                    rule(setS):	"a#foo->count == 3) ;"
                      rule(catom):	"a#foo->count == 3) ;"
                        rule(identifier):	"a#foo->count == 3) ;"

>>> create_node(begin) <<<
creating node text: "a"
>>> create_node(end) <<<


>>> concat_match(begin) <<<
tree a:
(length = 1 trees[0] = 
	(depth = 0 value = (id = 0 text = "a" is_root = 0 value = ))
)
tree b:
(length = 0 trees[0] = 
	(depth = 0 value = (id = 0 text = "" is_root = 0 value = ))
)
>>> concat_match(end) <<<

                        /rule(identifier):	"#foo->count == 3) ; "
                        rule(identifier):	"a#foo->count == 3) ;"

>>> create_node(begin) <<<
creating node text: "a"
>>> create_node(end) <<<


>>> concat_match(begin) <<<
tree a:
(length = 1 trees[0] = 
	(depth = 0 value = (id = 0 text = "a" is_root = 0 value = ))
)
tree b:
(length = 0 trees[0] = 
	(depth = 0 value = (id = 0 text = "" is_root = 0 value = ))
)
>>> concat_match(end) <<<

                        /rule(identifier):	"#foo->count == 3) ; "
                      /rule(catom):	"#foo->count == 3) ; "
                      rule(tShift):	"#foo->count == 3) ; "
                      #rule(tShift):	"#foo->count == 3) ; "

>>> concat_match(begin) <<<
tree a:
(length = 1 trees[0] = 
	(depth = 0 value = (id = 2 text = "a" is_root = 0 value = ))
)
tree b:
(length = 0 trees[0] = 
	(depth = 0 value = (id = 0 text = "" is_root = 0 value = ))
)
>>> concat_match(end) <<<


>>> create_node(begin) <<<
creating node text: "#"
>>> create_node(end) <<<


>>> concat_match(begin) <<<
tree a:
(length = 1 trees[0] = 
	(depth = 0 value = (id = 2 text = "a" is_root = 0 value = ))
)
tree b:
(length = 1 trees[0] = 
	(depth = 0 value = (id = 0 text = "#" is_root = 0 value = ))
)
>>> concat_match(end) <<<


>>>AST concat. a = (length = 2 trees[0] = 
	(depth = 0 value = (id = 2 text = "a" is_root = 0 value = ))
)
	b = (length = 1 trees[0] = 
	(depth = 0 value = (id = 0 text = "#" is_root = 0 value = ))
)<<<
>>>after AST concat. a = (length = 2 trees[0] = 
	(depth = 0 value = (id = 2 text = "a" is_root = 0 value = )) trees[1] = 
	(depth = 0 value = (id = 0 text = "#" is_root = 0 value = ))
)<<<

                      rule(varname):	"foo->count == 3) ; a"
                        rule(identifier):	"foo->count == 3) ; a"

>>> create_node(begin) <<<
creating node text: "f"
>>> create_node(end) <<<


>>> create_node(begin) <<<
creating node text: "o"
>>> create_node(end) <<<


>>> concat_match(begin) <<<
tree a:
(length = 0 trees[0] = 
	(depth = 0 value = (id = 0 text = "" is_root = 0 value = ))
)
tree b:
(length = 1 trees[0] = 
	(depth = 0 value = (id = 0 text = "o" is_root = 0 value = ))
)
>>> concat_match(end) <<<


>>> create_node(begin) <<<
creating node text: "o"
>>> create_node(end) <<<


>>> concat_match(begin) <<<
tree a:
(length = 1 trees[0] = 
	(depth = 0 value = (id = 0 text = "o" is_root = 0 value = ))
)
tree b:
(length = 1 trees[0] = 
	(depth = 0 value = (id = 0 text = "o" is_root = 0 value = ))
)
>>> concat_match(end) <<<


>>>AST concat. a = (length = 2 trees[0] = 
	(depth = 0 value = (id = 0 text = "o" is_root = 0 value = ))
)
	b = (length = 1 trees[0] = 
	(depth = 0 value = (id = 0 text = "o" is_root = 0 value = ))
)<<<
>>>after AST concat. a = (length = 2 trees[0] = 
	(depth = 0 value = (id = 0 text = "o" is_root = 0 value = )) trees[1] = 
	(depth = 0 value = (id = 0 text = "o" is_root = 0 value = ))
)<<<


>>> concat_match(begin) <<<
tree a:
(length = 1 trees[0] = 
	(depth = 0 value = (id = 0 text = "f" is_root = 0 value = ))
)
tree b:
(length = 2 trees[0] = 
	(depth = 0 value = (id = 0 text = "o" is_root = 0 value = )) trees[1] = 
	(depth = 0 value = (id = 0 text = "o" is_root = 0 value = ))
)
>>> concat_match(end) <<<


>>>AST concat. a = (length = 3 trees[0] = 
	(depth = 0 value = (id = 0 text = "f" is_root = 0 value = ))
)
	b = (length = 2 trees[0] = 
	(depth = 0 value = (id = 0 text = "o" is_root = 0 value = )) trees[1] = 
	(depth = 0 value = (id = 0 text = "o" is_root = 0 value = ))
)<<<
>>>after AST concat. a = (length = 3 trees[0] = 
	(depth = 0 value = (id = 0 text = "f" is_root = 0 value = )) trees[1] = 
	(depth = 0 value = (id = 0 text = "o" is_root = 0 value = )) trees[2] = 
	(depth = 0 value = (id = 0 text = "o" is_root = 0 value = ))
)<<<

                        /rule(identifier):	"->count == 3) ; a.fo"
                        rule(identifier):	"foo->count == 3) ; a"

>>> create_node(begin) <<<
creating node text: "f"
>>> create_node(end) <<<


>>> create_node(begin) <<<
creating node text: "o"
>>> create_node(end) <<<


>>> concat_match(begin) <<<
tree a:
(length = 0 trees[0] = 
	(depth = 0 value = (id = 0 text = "" is_root = 0 value = ))
)
tree b:
(length = 1 trees[0] = 
	(depth = 0 value = (id = 0 text = "o" is_root = 0 value = ))
)
>>> concat_match(end) <<<


>>> create_node(begin) <<<
creating node text: "o"
>>> create_node(end) <<<


>>> concat_match(begin) <<<
tree a:
(length = 1 trees[0] = 
	(depth = 0 value = (id = 0 text = "o" is_root = 0 value = ))
)
tree b:
(length = 1 trees[0] = 
	(depth = 0 value = (id = 0 text = "o" is_root = 0 value = ))
)
>>> concat_match(end) <<<


>>>AST concat. a = (length = 2 trees[0] = 
	(depth = 0 value = (id = 0 text = "o" is_root = 0 value = ))
)
	b = (length = 1 trees[0] = 
	(depth = 0 value = (id = 0 text = "o" is_root = 0 value = ))
)<<<
>>>after AST concat. a = (length = 2 trees[0] = 
	(depth = 0 value = (id = 0 text = "o" is_root = 0 value = )) trees[1] = 
	(depth = 0 value = (id = 0 text = "o" is_root = 0 value = ))
)<<<


>>> concat_match(begin) <<<
tree a:
(length = 1 trees[0] = 
	(depth = 0 value = (id = 0 text = "f" is_root = 0 value = ))
)
tree b:
(length = 2 trees[0] = 
	(depth = 0 value = (id = 0 text = "o" is_root = 0 value = )) trees[1] = 
	(depth = 0 value = (id = 0 text = "o" is_root = 0 value = ))
)
>>> concat_match(end) <<<


>>>AST concat. a = (length = 3 trees[0] = 
	(depth = 0 value = (id = 0 text = "f" is_root = 0 value = ))
)
	b = (length = 2 trees[0] = 
	(depth = 0 value = (id = 0 text = "o" is_root = 0 value = )) trees[1] = 
	(depth = 0 value = (id = 0 text = "o" is_root = 0 value = ))
)<<<
>>>after AST concat. a = (length = 3 trees[0] = 
	(depth = 0 value = (id = 0 text = "f" is_root = 0 value = )) trees[1] = 
	(depth = 0 value = (id = 0 text = "o" is_root = 0 value = )) trees[2] = 
	(depth = 0 value = (id = 0 text = "o" is_root = 0 value = ))
)<<<

                        /rule(identifier):	"->count == 3) ; a.fo"
                      /rule(varname):	"->count == 3) ; a.fo"

>>> concat_match(begin) <<<
tree a:
(length = 2 trees[0] = 
	(depth = 0 value = (id = 2 text = "a" is_root = 0 value = )) trees[1] = 
	(depth = 0 value = (id = 0 text = "#" is_root = 0 value = ))
)
tree b:
(length = 3 trees[0] = 
	(depth = 0 value = (id = 2 text = "foo" is_root = 0 value = ))
)
>>> concat_match(end) <<<


>>>AST concat. a = (length = 5 trees[0] = 
	(depth = 0 value = (id = 2 text = "a" is_root = 0 value = )) trees[1] = 
	(depth = 0 value = (id = 0 text = "#" is_root = 0 value = ))
)
	b = (length = 3 trees[0] = 
	(depth = 0 value = (id = 2 text = "foo" is_root = 0 value = ))
)<<<
>>>after AST concat. a = (length = 5 trees[0] = 
	(depth = 0 value = (id = 2 text = "a" is_root = 0 value = )) trees[1] = 
	(depth = 0 value = (id = 0 text = "#" is_root = 0 value = )) trees[2] = 
	(depth = 0 value = (id = 2 text = "foo" is_root = 0 value = ))
)<<<

                    /rule(setS):	"->count == 3) ; a.fo"
                    rule(setS):	"a#foo->count == 3) ;"
                      rule(catom):	"a#foo->count == 3) ;"
                        rule(identifier):	"a#foo->count == 3) ;"

>>> create_node(begin) <<<
creating node text: "a"
>>> create_node(end) <<<


>>> concat_match(begin) <<<
tree a:
(length = 1 trees[0] = 
	(depth = 0 value = (id = 0 text = "a" is_root = 0 value = ))
)
tree b:
(length = 0 trees[0] = 
	(depth = 0 value = (id = 0 text = "" is_root = 0 value = ))
)
>>> concat_match(end) <<<

                        /rule(identifier):	"#foo->count == 3) ; "
                        rule(identifier):	"a#foo->count == 3) ;"

>>> create_node(begin) <<<
creating node text: "a"
>>> create_node(end) <<<


>>> concat_match(begin) <<<
tree a:
(length = 1 trees[0] = 
	(depth = 0 value = (id = 0 text = "a" is_root = 0 value = ))
)
tree b:
(length = 0 trees[0] = 
	(depth = 0 value = (id = 0 text = "" is_root = 0 value = ))
)
>>> concat_match(end) <<<

                        /rule(identifier):	"#foo->count == 3) ; "
                      /rule(catom):	"#foo->count == 3) ; "
                      rule(tShift):	"#foo->count == 3) ; "
                      #rule(tShift):	"#foo->count == 3) ; "

>>> concat_match(begin) <<<
tree a:
(length = 1 trees[0] = 
	(depth = 0 value = (id = 2 text = "a" is_root = 0 value = ))
)
tree b:
(length = 0 trees[0] = 
	(depth = 0 value = (id = 0 text = "" is_root = 0 value = ))
)
>>> concat_match(end) <<<


>>> create_node(begin) <<<
creating node text: "#"
>>> create_node(end) <<<


>>> concat_match(begin) <<<
tree a:
(length = 1 trees[0] = 
	(depth = 0 value = (id = 2 text = "a" is_root = 0 value = ))
)
tree b:
(length = 1 trees[0] = 
	(depth = 0 value = (id = 0 text = "#" is_root = 0 value = ))
)
>>> concat_match(end) <<<


>>>AST concat. a = (length = 2 trees[0] = 
	(depth = 0 value = (id = 2 text = "a" is_root = 0 value = ))
)
	b = (length = 1 trees[0] = 
	(depth = 0 value = (id = 0 text = "#" is_root = 0 value = ))
)<<<
>>>after AST concat. a = (length = 2 trees[0] = 
	(depth = 0 value = (id = 2 text = "a" is_root = 0 value = )) trees[1] = 
	(depth = 0 value = (id = 0 text = "#" is_root = 0 value = ))
)<<<

                      rule(varname):	"foo->count == 3) ; a"
                        rule(identifier):	"foo->count == 3) ; a"

>>> create_node(begin) <<<
creating node text: "f"
>>> create_node(end) <<<


>>> create_node(begin) <<<
creating node text: "o"
>>> create_node(end) <<<


>>> concat_match(begin) <<<
tree a:
(length = 0 trees[0] = 
	(depth = 0 value = (id = 0 text = "" is_root = 0 value = ))
)
tree b:
(length = 1 trees[0] = 
	(depth = 0 value = (id = 0 text = "o" is_root = 0 value = ))
)
>>> concat_match(end) <<<


>>> create_node(begin) <<<
creating node text: "o"
>>> create_node(end) <<<


>>> concat_match(begin) <<<
tree a:
(length = 1 trees[0] = 
	(depth = 0 value = (id = 0 text = "o" is_root = 0 value = ))
)
tree b:
(length = 1 trees[0] = 
	(depth = 0 value = (id = 0 text = "o" is_root = 0 value = ))
)
>>> concat_match(end) <<<


>>>AST concat. a = (length = 2 trees[0] = 
	(depth = 0 value = (id = 0 text = "o" is_root = 0 value = ))
)
	b = (length = 1 trees[0] = 
	(depth = 0 value = (id = 0 text = "o" is_root = 0 value = ))
)<<<
>>>after AST concat. a = (length = 2 trees[0] = 
	(depth = 0 value = (id = 0 text = "o" is_root = 0 value = )) trees[1] = 
	(depth = 0 value = (id = 0 text = "o" is_root = 0 value = ))
)<<<


>>> concat_match(begin) <<<
tree a:
(length = 1 trees[0] = 
	(depth = 0 value = (id = 0 text = "f" is_root = 0 value = ))
)
tree b:
(length = 2 trees[0] = 
	(depth = 0 value = (id = 0 text = "o" is_root = 0 value = )) trees[1] = 
	(depth = 0 value = (id = 0 text = "o" is_root = 0 value = ))
)
>>> concat_match(end) <<<


>>>AST concat. a = (length = 3 trees[0] = 
	(depth = 0 value = (id = 0 text = "f" is_root = 0 value = ))
)
	b = (length = 2 trees[0] = 
	(depth = 0 value = (id = 0 text = "o" is_root = 0 value = )) trees[1] = 
	(depth = 0 value = (id = 0 text = "o" is_root = 0 value = ))
)<<<
>>>after AST concat. a = (length = 3 trees[0] = 
	(depth = 0 value = (id = 0 text = "f" is_root = 0 value = )) trees[1] = 
	(depth = 0 value = (id = 0 text = "o" is_root = 0 value = )) trees[2] = 
	(depth = 0 value = (id = 0 text = "o" is_root = 0 value = ))
)<<<

                        /rule(identifier):	"->count == 3) ; a.fo"
                        rule(identifier):	"foo->count == 3) ; a"

>>> create_node(begin) <<<
creating node text: "f"
>>> create_node(end) <<<


>>> create_node(begin) <<<
creating node text: "o"
>>> create_node(end) <<<


>>> concat_match(begin) <<<
tree a:
(length = 0 trees[0] = 
	(depth = 0 value = (id = 0 text = "" is_root = 0 value = ))
)
tree b:
(length = 1 trees[0] = 
	(depth = 0 value = (id = 0 text = "o" is_root = 0 value = ))
)
>>> concat_match(end) <<<


>>> create_node(begin) <<<
creating node text: "o"
>>> create_node(end) <<<


>>> concat_match(begin) <<<
tree a:
(length = 1 trees[0] = 
	(depth = 0 value = (id = 0 text = "o" is_root = 0 value = ))
)
tree b:
(length = 1 trees[0] = 
	(depth = 0 value = (id = 0 text = "o" is_root = 0 value = ))
)
>>> concat_match(end) <<<


>>>AST concat. a = (length = 2 trees[0] = 
	(depth = 0 value = (id = 0 text = "o" is_root = 0 value = ))
)
	b = (length = 1 trees[0] = 
	(depth = 0 value = (id = 0 text = "o" is_root = 0 value = ))
)<<<
>>>after AST concat. a = (length = 2 trees[0] = 
	(depth = 0 value = (id = 0 text = "o" is_root = 0 value = )) trees[1] = 
	(depth = 0 value = (id = 0 text = "o" is_root = 0 value = ))
)<<<


>>> concat_match(begin) <<<
tree a:
(length = 1 trees[0] = 
	(depth = 0 value = (id = 0 text = "f" is_root = 0 value = ))
)
tree b:
(length = 2 trees[0] = 
	(depth = 0 value = (id = 0 text = "o" is_root = 0 value = )) trees[1] = 
	(depth = 0 value = (id = 0 text = "o" is_root = 0 value = ))
)
>>> concat_match(end) <<<


>>>AST concat. a = (length = 3 trees[0] = 
	(depth = 0 value = (id = 0 text = "f" is_root = 0 value = ))
)
	b = (length = 2 trees[0] = 
	(depth = 0 value = (id = 0 text = "o" is_root = 0 value = )) trees[1] = 
	(depth = 0 value = (id = 0 text = "o" is_root = 0 value = ))
)<<<
>>>after AST concat. a = (length = 3 trees[0] = 
	(depth = 0 value = (id = 0 text = "f" is_root = 0 value = )) trees[1] = 
	(depth = 0 value = (id = 0 text = "o" is_root = 0 value = )) trees[2] = 
	(depth = 0 value = (id = 0 text = "o" is_root = 0 value = ))
)<<<

                        /rule(identifier):	"->count == 3) ; a.fo"
                      /rule(varname):	"->count == 3) ; a.fo"

>>> concat_match(begin) <<<
tree a:
(length = 2 trees[0] = 
	(depth = 0 value = (id = 2 text = "a" is_root = 0 value = )) trees[1] = 
	(depth = 0 value = (id = 0 text = "#" is_root = 0 value = ))
)
tree b:
(length = 3 trees[0] = 
	(depth = 0 value = (id = 2 text = "foo" is_root = 0 value = ))
)
>>> concat_match(end) <<<


>>>AST concat. a = (length = 5 trees[0] = 
	(depth = 0 value = (id = 2 text = "a" is_root = 0 value = )) trees[1] = 
	(depth = 0 value = (id = 0 text = "#" is_root = 0 value = ))
)
	b = (length = 3 trees[0] = 
	(depth = 0 value = (id = 2 text = "foo" is_root = 0 value = ))
)<<<
>>>after AST concat. a = (length = 5 trees[0] = 
	(depth = 0 value = (id = 2 text = "a" is_root = 0 value = )) trees[1] = 
	(depth = 0 value = (id = 0 text = "#" is_root = 0 value = )) trees[2] = 
	(depth = 0 value = (id = 2 text = "foo" is_root = 0 value = ))
)<<<

                    /rule(setS):	"->count == 3) ; a.fo"
                  /rule(setVar):	"->count == 3) ; a.fo"
                #rule(setR):	"count == 3) ; a.foo "
                rule(identifier):	"a#foo->count == 3) ;"

>>> create_node(begin) <<<
creating node text: "a"
>>> create_node(end) <<<


>>> concat_match(begin) <<<
tree a:
(length = 1 trees[0] = 
	(depth = 0 value = (id = 0 text = "a" is_root = 0 value = ))
)
tree b:
(length = 0 trees[0] = 
	(depth = 0 value = (id = 0 text = "" is_root = 0 value = ))
)
>>> concat_match(end) <<<

                /rule(identifier):	"#foo->count == 3) ; "
              /rule(realFactor):	"#foo->count == 3) ; "

>>> concat_match(begin) <<<
tree a:
(length = 1 trees[0] = 
	(depth = 0 value = (id = 2 text = "a" is_root = 0 value = ))
)
tree b:
(length = 0 trees[0] = 
	(depth = 0 value = (id = 0 text = "" is_root = 0 value = ))
)
>>> concat_match(end) <<<

            /rule(realTerm):	"#foo->count == 3) ; "

>>> concat_match(begin) <<<
tree a:
(length = 1 trees[0] = 
	(depth = 0 value = (id = 2 text = "a" is_root = 0 value = ))
)
tree b:
(length = 0 trees[0] = 
	(depth = 0 value = (id = 0 text = "" is_root = 0 value = ))
)
>>> concat_match(end) <<<

          /rule(realExp):	"#foo->count == 3) ; "
          rule(compOp):	"#foo->count == 3) ; "
          #rule(compOp):	"#foo->count == 3) ; "
        #rule(compExp):	"#foo->count == 3) ; "

>>> create_node(begin) <<<
creating node text: " "
>>> create_node(end) <<<


>>> create_node(begin) <<<
creating node text: "("
>>> create_node(end) <<<

        rule(boolExp):	"a#foo->count == 3) ;"
          rule(boolExpSimple):	"a#foo->count == 3) ;"
            rule(setB):	"a#foo->count == 3) ;"
              rule(setVar):	"a#foo->count == 3) ;"
                rule(setS):	"a#foo->count == 3) ;"
                  rule(catom):	"a#foo->count == 3) ;"
                    rule(identifier):	"a#foo->count == 3) ;"

>>> create_node(begin) <<<
creating node text: "a"
>>> create_node(end) <<<


>>> concat_match(begin) <<<
tree a:
(length = 1 trees[0] = 
	(depth = 0 value = (id = 0 text = "a" is_root = 0 value = ))
)
tree b:
(length = 0 trees[0] = 
	(depth = 0 value = (id = 0 text = "" is_root = 0 value = ))
)
>>> concat_match(end) <<<

                    /rule(identifier):	"#foo->count == 3) ; "
                    rule(identifier):	"a#foo->count == 3) ;"

>>> create_node(begin) <<<
creating node text: "a"
>>> create_node(end) <<<


>>> concat_match(begin) <<<
tree a:
(length = 1 trees[0] = 
	(depth = 0 value = (id = 0 text = "a" is_root = 0 value = ))
)
tree b:
(length = 0 trees[0] = 
	(depth = 0 value = (id = 0 text = "" is_root = 0 value = ))
)
>>> concat_match(end) <<<

                    /rule(identifier):	"#foo->count == 3) ; "
                  /rule(catom):	"#foo->count == 3) ; "
                  rule(tShift):	"#foo->count == 3) ; "
                  #rule(tShift):	"#foo->count == 3) ; "

>>> concat_match(begin) <<<
tree a:
(length = 1 trees[0] = 
	(depth = 0 value = (id = 2 text = "a" is_root = 0 value = ))
)
tree b:
(length = 0 trees[0] = 
	(depth = 0 value = (id = 0 text = "" is_root = 0 value = ))
)
>>> concat_match(end) <<<


>>> create_node(begin) <<<
creating node text: "#"
>>> create_node(end) <<<


>>> concat_match(begin) <<<
tree a:
(length = 1 trees[0] = 
	(depth = 0 value = (id = 2 text = "a" is_root = 0 value = ))
)
tree b:
(length = 1 trees[0] = 
	(depth = 0 value = (id = 0 text = "#" is_root = 0 value = ))
)
>>> concat_match(end) <<<


>>>AST concat. a = (length = 2 trees[0] = 
	(depth = 0 value = (id = 2 text = "a" is_root = 0 value = ))
)
	b = (length = 1 trees[0] = 
	(depth = 0 value = (id = 0 text = "#" is_root = 0 value = ))
)<<<
>>>after AST concat. a = (length = 2 trees[0] = 
	(depth = 0 value = (id = 2 text = "a" is_root = 0 value = )) trees[1] = 
	(depth = 0 value = (id = 0 text = "#" is_root = 0 value = ))
)<<<

                  rule(varname):	"foo->count == 3) ; a"
                    rule(identifier):	"foo->count == 3) ; a"

>>> create_node(begin) <<<
creating node text: "f"
>>> create_node(end) <<<


>>> create_node(begin) <<<
creating node text: "o"
>>> create_node(end) <<<


>>> concat_match(begin) <<<
tree a:
(length = 0 trees[0] = 
	(depth = 0 value = (id = 0 text = "" is_root = 0 value = ))
)
tree b:
(length = 1 trees[0] = 
	(depth = 0 value = (id = 0 text = "o" is_root = 0 value = ))
)
>>> concat_match(end) <<<


>>> create_node(begin) <<<
creating node text: "o"
>>> create_node(end) <<<


>>> concat_match(begin) <<<
tree a:
(length = 1 trees[0] = 
	(depth = 0 value = (id = 0 text = "o" is_root = 0 value = ))
)
tree b:
(length = 1 trees[0] = 
	(depth = 0 value = (id = 0 text = "o" is_root = 0 value = ))
)
>>> concat_match(end) <<<


>>>AST concat. a = (length = 2 trees[0] = 
	(depth = 0 value = (id = 0 text = "o" is_root = 0 value = ))
)
	b = (length = 1 trees[0] = 
	(depth = 0 value = (id = 0 text = "o" is_root = 0 value = ))
)<<<
>>>after AST concat. a = (length = 2 trees[0] = 
	(depth = 0 value = (id = 0 text = "o" is_root = 0 value = )) trees[1] = 
	(depth = 0 value = (id = 0 text = "o" is_root = 0 value = ))
)<<<


>>> concat_match(begin) <<<
tree a:
(length = 1 trees[0] = 
	(depth = 0 value = (id = 0 text = "f" is_root = 0 value = ))
)
tree b:
(length = 2 trees[0] = 
	(depth = 0 value = (id = 0 text = "o" is_root = 0 value = )) trees[1] = 
	(depth = 0 value = (id = 0 text = "o" is_root = 0 value = ))
)
>>> concat_match(end) <<<


>>>AST concat. a = (length = 3 trees[0] = 
	(depth = 0 value = (id = 0 text = "f" is_root = 0 value = ))
)
	b = (length = 2 trees[0] = 
	(depth = 0 value = (id = 0 text = "o" is_root = 0 value = )) trees[1] = 
	(depth = 0 value = (id = 0 text = "o" is_root = 0 value = ))
)<<<
>>>after AST concat. a = (length = 3 trees[0] = 
	(depth = 0 value = (id = 0 text = "f" is_root = 0 value = )) trees[1] = 
	(depth = 0 value = (id = 0 text = "o" is_root = 0 value = )) trees[2] = 
	(depth = 0 value = (id = 0 text = "o" is_root = 0 value = ))
)<<<

                    /rule(identifier):	"->count == 3) ; a.fo"
                    rule(identifier):	"foo->count == 3) ; a"

>>> create_node(begin) <<<
creating node text: "f"
>>> create_node(end) <<<


>>> create_node(begin) <<<
creating node text: "o"
>>> create_node(end) <<<


>>> concat_match(begin) <<<
tree a:
(length = 0 trees[0] = 
	(depth = 0 value = (id = 0 text = "" is_root = 0 value = ))
)
tree b:
(length = 1 trees[0] = 
	(depth = 0 value = (id = 0 text = "o" is_root = 0 value = ))
)
>>> concat_match(end) <<<


>>> create_node(begin) <<<
creating node text: "o"
>>> create_node(end) <<<


>>> concat_match(begin) <<<
tree a:
(length = 1 trees[0] = 
	(depth = 0 value = (id = 0 text = "o" is_root = 0 value = ))
)
tree b:
(length = 1 trees[0] = 
	(depth = 0 value = (id = 0 text = "o" is_root = 0 value = ))
)
>>> concat_match(end) <<<


>>>AST concat. a = (length = 2 trees[0] = 
	(depth = 0 value = (id = 0 text = "o" is_root = 0 value = ))
)
	b = (length = 1 trees[0] = 
	(depth = 0 value = (id = 0 text = "o" is_root = 0 value = ))
)<<<
>>>after AST concat. a = (length = 2 trees[0] = 
	(depth = 0 value = (id = 0 text = "o" is_root = 0 value = )) trees[1] = 
	(depth = 0 value = (id = 0 text = "o" is_root = 0 value = ))
)<<<


>>> concat_match(begin) <<<
tree a:
(length = 1 trees[0] = 
	(depth = 0 value = (id = 0 text = "f" is_root = 0 value = ))
)
tree b:
(length = 2 trees[0] = 
	(depth = 0 value = (id = 0 text = "o" is_root = 0 value = )) trees[1] = 
	(depth = 0 value = (id = 0 text = "o" is_root = 0 value = ))
)
>>> concat_match(end) <<<


>>>AST concat. a = (length = 3 trees[0] = 
	(depth = 0 value = (id = 0 text = "f" is_root = 0 value = ))
)
	b = (length = 2 trees[0] = 
	(depth = 0 value = (id = 0 text = "o" is_root = 0 value = )) trees[1] = 
	(depth = 0 value = (id = 0 text = "o" is_root = 0 value = ))
)<<<
>>>after AST concat. a = (length = 3 trees[0] = 
	(depth = 0 value = (id = 0 text = "f" is_root = 0 value = )) trees[1] = 
	(depth = 0 value = (id = 0 text = "o" is_root = 0 value = )) trees[2] = 
	(depth = 0 value = (id = 0 text = "o" is_root = 0 value = ))
)<<<

                    /rule(identifier):	"->count == 3) ; a.fo"
                  /rule(varname):	"->count == 3) ; a.fo"

>>> concat_match(begin) <<<
tree a:
(length = 2 trees[0] = 
	(depth = 0 value = (id = 2 text = "a" is_root = 0 value = )) trees[1] = 
	(depth = 0 value = (id = 0 text = "#" is_root = 0 value = ))
)
tree b:
(length = 3 trees[0] = 
	(depth = 0 value = (id = 2 text = "foo" is_root = 0 value = ))
)
>>> concat_match(end) <<<


>>>AST concat. a = (length = 5 trees[0] = 
	(depth = 0 value = (id = 2 text = "a" is_root = 0 value = )) trees[1] = 
	(depth = 0 value = (id = 0 text = "#" is_root = 0 value = ))
)
	b = (length = 3 trees[0] = 
	(depth = 0 value = (id = 2 text = "foo" is_root = 0 value = ))
)<<<
>>>after AST concat. a = (length = 5 trees[0] = 
	(depth = 0 value = (id = 2 text = "a" is_root = 0 value = )) trees[1] = 
	(depth = 0 value = (id = 0 text = "#" is_root = 0 value = )) trees[2] = 
	(depth = 0 value = (id = 2 text = "foo" is_root = 0 value = ))
)<<<

                /rule(setS):	"->count == 3) ; a.fo"
                rule(setS):	"a#foo->count == 3) ;"
                  rule(catom):	"a#foo->count == 3) ;"
                    rule(identifier):	"a#foo->count == 3) ;"

>>> create_node(begin) <<<
creating node text: "a"
>>> create_node(end) <<<


>>> concat_match(begin) <<<
tree a:
(length = 1 trees[0] = 
	(depth = 0 value = (id = 0 text = "a" is_root = 0 value = ))
)
tree b:
(length = 0 trees[0] = 
	(depth = 0 value = (id = 0 text = "" is_root = 0 value = ))
)
>>> concat_match(end) <<<

                    /rule(identifier):	"#foo->count == 3) ; "
                    rule(identifier):	"a#foo->count == 3) ;"

>>> create_node(begin) <<<
creating node text: "a"
>>> create_node(end) <<<


>>> concat_match(begin) <<<
tree a:
(length = 1 trees[0] = 
	(depth = 0 value = (id = 0 text = "a" is_root = 0 value = ))
)
tree b:
(length = 0 trees[0] = 
	(depth = 0 value = (id = 0 text = "" is_root = 0 value = ))
)
>>> concat_match(end) <<<

                    /rule(identifier):	"#foo->count == 3) ; "
                  /rule(catom):	"#foo->count == 3) ; "
                  rule(tShift):	"#foo->count == 3) ; "
                  #rule(tShift):	"#foo->count == 3) ; "

>>> concat_match(begin) <<<
tree a:
(length = 1 trees[0] = 
	(depth = 0 value = (id = 2 text = "a" is_root = 0 value = ))
)
tree b:
(length = 0 trees[0] = 
	(depth = 0 value = (id = 0 text = "" is_root = 0 value = ))
)
>>> concat_match(end) <<<


>>> create_node(begin) <<<
creating node text: "#"
>>> create_node(end) <<<


>>> concat_match(begin) <<<
tree a:
(length = 1 trees[0] = 
	(depth = 0 value = (id = 2 text = "a" is_root = 0 value = ))
)
tree b:
(length = 1 trees[0] = 
	(depth = 0 value = (id = 0 text = "#" is_root = 0 value = ))
)
>>> concat_match(end) <<<


>>>AST concat. a = (length = 2 trees[0] = 
	(depth = 0 value = (id = 2 text = "a" is_root = 0 value = ))
)
	b = (length = 1 trees[0] = 
	(depth = 0 value = (id = 0 text = "#" is_root = 0 value = ))
)<<<
>>>after AST concat. a = (length = 2 trees[0] = 
	(depth = 0 value = (id = 2 text = "a" is_root = 0 value = )) trees[1] = 
	(depth = 0 value = (id = 0 text = "#" is_root = 0 value = ))
)<<<

                  rule(varname):	"foo->count == 3) ; a"
                    rule(identifier):	"foo->count == 3) ; a"

>>> create_node(begin) <<<
creating node text: "f"
>>> create_node(end) <<<


>>> create_node(begin) <<<
creating node text: "o"
>>> create_node(end) <<<


>>> concat_match(begin) <<<
tree a:
(length = 0 trees[0] = 
	(depth = 0 value = (id = 0 text = "" is_root = 0 value = ))
)
tree b:
(length = 1 trees[0] = 
	(depth = 0 value = (id = 0 text = "o" is_root = 0 value = ))
)
>>> concat_match(end) <<<


>>> create_node(begin) <<<
creating node text: "o"
>>> create_node(end) <<<


>>> concat_match(begin) <<<
tree a:
(length = 1 trees[0] = 
	(depth = 0 value = (id = 0 text = "o" is_root = 0 value = ))
)
tree b:
(length = 1 trees[0] = 
	(depth = 0 value = (id = 0 text = "o" is_root = 0 value = ))
)
>>> concat_match(end) <<<


>>>AST concat. a = (length = 2 trees[0] = 
	(depth = 0 value = (id = 0 text = "o" is_root = 0 value = ))
)
	b = (length = 1 trees[0] = 
	(depth = 0 value = (id = 0 text = "o" is_root = 0 value = ))
)<<<
>>>after AST concat. a = (length = 2 trees[0] = 
	(depth = 0 value = (id = 0 text = "o" is_root = 0 value = )) trees[1] = 
	(depth = 0 value = (id = 0 text = "o" is_root = 0 value = ))
)<<<


>>> concat_match(begin) <<<
tree a:
(length = 1 trees[0] = 
	(depth = 0 value = (id = 0 text = "f" is_root = 0 value = ))
)
tree b:
(length = 2 trees[0] = 
	(depth = 0 value = (id = 0 text = "o" is_root = 0 value = )) trees[1] = 
	(depth = 0 value = (id = 0 text = "o" is_root = 0 value = ))
)
>>> concat_match(end) <<<


>>>AST concat. a = (length = 3 trees[0] = 
	(depth = 0 value = (id = 0 text = "f" is_root = 0 value = ))
)
	b = (length = 2 trees[0] = 
	(depth = 0 value = (id = 0 text = "o" is_root = 0 value = )) trees[1] = 
	(depth = 0 value = (id = 0 text = "o" is_root = 0 value = ))
)<<<
>>>after AST concat. a = (length = 3 trees[0] = 
	(depth = 0 value = (id = 0 text = "f" is_root = 0 value = )) trees[1] = 
	(depth = 0 value = (id = 0 text = "o" is_root = 0 value = )) trees[2] = 
	(depth = 0 value = (id = 0 text = "o" is_root = 0 value = ))
)<<<

                    /rule(identifier):	"->count == 3) ; a.fo"
                    rule(identifier):	"foo->count == 3) ; a"

>>> create_node(begin) <<<
creating node text: "f"
>>> create_node(end) <<<


>>> create_node(begin) <<<
creating node text: "o"
>>> create_node(end) <<<


>>> concat_match(begin) <<<
tree a:
(length = 0 trees[0] = 
	(depth = 0 value = (id = 0 text = "" is_root = 0 value = ))
)
tree b:
(length = 1 trees[0] = 
	(depth = 0 value = (id = 0 text = "o" is_root = 0 value = ))
)
>>> concat_match(end) <<<


>>> create_node(begin) <<<
creating node text: "o"
>>> create_node(end) <<<


>>> concat_match(begin) <<<
tree a:
(length = 1 trees[0] = 
	(depth = 0 value = (id = 0 text = "o" is_root = 0 value = ))
)
tree b:
(length = 1 trees[0] = 
	(depth = 0 value = (id = 0 text = "o" is_root = 0 value = ))
)
>>> concat_match(end) <<<


>>>AST concat. a = (length = 2 trees[0] = 
	(depth = 0 value = (id = 0 text = "o" is_root = 0 value = ))
)
	b = (length = 1 trees[0] = 
	(depth = 0 value = (id = 0 text = "o" is_root = 0 value = ))
)<<<
>>>after AST concat. a = (length = 2 trees[0] = 
	(depth = 0 value = (id = 0 text = "o" is_root = 0 value = )) trees[1] = 
	(depth = 0 value = (id = 0 text = "o" is_root = 0 value = ))
)<<<


>>> concat_match(begin) <<<
tree a:
(length = 1 trees[0] = 
	(depth = 0 value = (id = 0 text = "f" is_root = 0 value = ))
)
tree b:
(length = 2 trees[0] = 
	(depth = 0 value = (id = 0 text = "o" is_root = 0 value = )) trees[1] = 
	(depth = 0 value = (id = 0 text = "o" is_root = 0 value = ))
)
>>> concat_match(end) <<<


>>>AST concat. a = (length = 3 trees[0] = 
	(depth = 0 value = (id = 0 text = "f" is_root = 0 value = ))
)
	b = (length = 2 trees[0] = 
	(depth = 0 value = (id = 0 text = "o" is_root = 0 value = )) trees[1] = 
	(depth = 0 value = (id = 0 text = "o" is_root = 0 value = ))
)<<<
>>>after AST concat. a = (length = 3 trees[0] = 
	(depth = 0 value = (id = 0 text = "f" is_root = 0 value = )) trees[1] = 
	(depth = 0 value = (id = 0 text = "o" is_root = 0 value = )) trees[2] = 
	(depth = 0 value = (id = 0 text = "o" is_root = 0 value = ))
)<<<

                    /rule(identifier):	"->count == 3) ; a.fo"
                  /rule(varname):	"->count == 3) ; a.fo"

>>> concat_match(begin) <<<
tree a:
(length = 2 trees[0] = 
	(depth = 0 value = (id = 2 text = "a" is_root = 0 value = )) trees[1] = 
	(depth = 0 value = (id = 0 text = "#" is_root = 0 value = ))
)
tree b:
(length = 3 trees[0] = 
	(depth = 0 value = (id = 2 text = "foo" is_root = 0 value = ))
)
>>> concat_match(end) <<<


>>>AST concat. a = (length = 5 trees[0] = 
	(depth = 0 value = (id = 2 text = "a" is_root = 0 value = )) trees[1] = 
	(depth = 0 value = (id = 0 text = "#" is_root = 0 value = ))
)
	b = (length = 3 trees[0] = 
	(depth = 0 value = (id = 2 text = "foo" is_root = 0 value = ))
)<<<
>>>after AST concat. a = (length = 5 trees[0] = 
	(depth = 0 value = (id = 2 text = "a" is_root = 0 value = )) trees[1] = 
	(depth = 0 value = (id = 0 text = "#" is_root = 0 value = )) trees[2] = 
	(depth = 0 value = (id = 2 text = "foo" is_root = 0 value = ))
)<<<

                /rule(setS):	"->count == 3) ; a.fo"
              /rule(setVar):	"->count == 3) ; a.fo"
            #rule(setB):	"count == 3) ; a.foo "
          #rule(boolExpSimple):	"count == 3) ; a.foo "
          rule(boolExpSimple):	"a#foo->count == 3) ;"
            rule(setB):	"a#foo->count == 3) ;"
              rule(setVar):	"a#foo->count == 3) ;"
                rule(setS):	"a#foo->count == 3) ;"
                  rule(catom):	"a#foo->count == 3) ;"
                    rule(identifier):	"a#foo->count == 3) ;"

>>> create_node(begin) <<<
creating node text: "a"
>>> create_node(end) <<<


>>> concat_match(begin) <<<
tree a:
(length = 1 trees[0] = 
	(depth = 0 value = (id = 0 text = "a" is_root = 0 value = ))
)
tree b:
(length = 0 trees[0] = 
	(depth = 0 value = (id = 0 text = "" is_root = 0 value = ))
)
>>> concat_match(end) <<<

                    /rule(identifier):	"#foo->count == 3) ; "
                    rule(identifier):	"a#foo->count == 3) ;"

>>> create_node(begin) <<<
creating node text: "a"
>>> create_node(end) <<<


>>> concat_match(begin) <<<
tree a:
(length = 1 trees[0] = 
	(depth = 0 value = (id = 0 text = "a" is_root = 0 value = ))
)
tree b:
(length = 0 trees[0] = 
	(depth = 0 value = (id = 0 text = "" is_root = 0 value = ))
)
>>> concat_match(end) <<<

                    /rule(identifier):	"#foo->count == 3) ; "
                  /rule(catom):	"#foo->count == 3) ; "
                  rule(tShift):	"#foo->count == 3) ; "
                  #rule(tShift):	"#foo->count == 3) ; "

>>> concat_match(begin) <<<
tree a:
(length = 1 trees[0] = 
	(depth = 0 value = (id = 2 text = "a" is_root = 0 value = ))
)
tree b:
(length = 0 trees[0] = 
	(depth = 0 value = (id = 0 text = "" is_root = 0 value = ))
)
>>> concat_match(end) <<<


>>> create_node(begin) <<<
creating node text: "#"
>>> create_node(end) <<<


>>> concat_match(begin) <<<
tree a:
(length = 1 trees[0] = 
	(depth = 0 value = (id = 2 text = "a" is_root = 0 value = ))
)
tree b:
(length = 1 trees[0] = 
	(depth = 0 value = (id = 0 text = "#" is_root = 0 value = ))
)
>>> concat_match(end) <<<


>>>AST concat. a = (length = 2 trees[0] = 
	(depth = 0 value = (id = 2 text = "a" is_root = 0 value = ))
)
	b = (length = 1 trees[0] = 
	(depth = 0 value = (id = 0 text = "#" is_root = 0 value = ))
)<<<
>>>after AST concat. a = (length = 2 trees[0] = 
	(depth = 0 value = (id = 2 text = "a" is_root = 0 value = )) trees[1] = 
	(depth = 0 value = (id = 0 text = "#" is_root = 0 value = ))
)<<<

                  rule(varname):	"foo->count == 3) ; a"
                    rule(identifier):	"foo->count == 3) ; a"

>>> create_node(begin) <<<
creating node text: "f"
>>> create_node(end) <<<


>>> create_node(begin) <<<
creating node text: "o"
>>> create_node(end) <<<


>>> concat_match(begin) <<<
tree a:
(length = 0 trees[0] = 
	(depth = 0 value = (id = 0 text = "" is_root = 0 value = ))
)
tree b:
(length = 1 trees[0] = 
	(depth = 0 value = (id = 0 text = "o" is_root = 0 value = ))
)
>>> concat_match(end) <<<


>>> create_node(begin) <<<
creating node text: "o"
>>> create_node(end) <<<


>>> concat_match(begin) <<<
tree a:
(length = 1 trees[0] = 
	(depth = 0 value = (id = 0 text = "o" is_root = 0 value = ))
)
tree b:
(length = 1 trees[0] = 
	(depth = 0 value = (id = 0 text = "o" is_root = 0 value = ))
)
>>> concat_match(end) <<<


>>>AST concat. a = (length = 2 trees[0] = 
	(depth = 0 value = (id = 0 text = "o" is_root = 0 value = ))
)
	b = (length = 1 trees[0] = 
	(depth = 0 value = (id = 0 text = "o" is_root = 0 value = ))
)<<<
>>>after AST concat. a = (length = 2 trees[0] = 
	(depth = 0 value = (id = 0 text = "o" is_root = 0 value = )) trees[1] = 
	(depth = 0 value = (id = 0 text = "o" is_root = 0 value = ))
)<<<


>>> concat_match(begin) <<<
tree a:
(length = 1 trees[0] = 
	(depth = 0 value = (id = 0 text = "f" is_root = 0 value = ))
)
tree b:
(length = 2 trees[0] = 
	(depth = 0 value = (id = 0 text = "o" is_root = 0 value = )) trees[1] = 
	(depth = 0 value = (id = 0 text = "o" is_root = 0 value = ))
)
>>> concat_match(end) <<<


>>>AST concat. a = (length = 3 trees[0] = 
	(depth = 0 value = (id = 0 text = "f" is_root = 0 value = ))
)
	b = (length = 2 trees[0] = 
	(depth = 0 value = (id = 0 text = "o" is_root = 0 value = )) trees[1] = 
	(depth = 0 value = (id = 0 text = "o" is_root = 0 value = ))
)<<<
>>>after AST concat. a = (length = 3 trees[0] = 
	(depth = 0 value = (id = 0 text = "f" is_root = 0 value = )) trees[1] = 
	(depth = 0 value = (id = 0 text = "o" is_root = 0 value = )) trees[2] = 
	(depth = 0 value = (id = 0 text = "o" is_root = 0 value = ))
)<<<

                    /rule(identifier):	"->count == 3) ; a.fo"
                    rule(identifier):	"foo->count == 3) ; a"

>>> create_node(begin) <<<
creating node text: "f"
>>> create_node(end) <<<


>>> create_node(begin) <<<
creating node text: "o"
>>> create_node(end) <<<


>>> concat_match(begin) <<<
tree a:
(length = 0 trees[0] = 
	(depth = 0 value = (id = 0 text = "" is_root = 0 value = ))
)
tree b:
(length = 1 trees[0] = 
	(depth = 0 value = (id = 0 text = "o" is_root = 0 value = ))
)
>>> concat_match(end) <<<


>>> create_node(begin) <<<
creating node text: "o"
>>> create_node(end) <<<


>>> concat_match(begin) <<<
tree a:
(length = 1 trees[0] = 
	(depth = 0 value = (id = 0 text = "o" is_root = 0 value = ))
)
tree b:
(length = 1 trees[0] = 
	(depth = 0 value = (id = 0 text = "o" is_root = 0 value = ))
)
>>> concat_match(end) <<<


>>>AST concat. a = (length = 2 trees[0] = 
	(depth = 0 value = (id = 0 text = "o" is_root = 0 value = ))
)
	b = (length = 1 trees[0] = 
	(depth = 0 value = (id = 0 text = "o" is_root = 0 value = ))
)<<<
>>>after AST concat. a = (length = 2 trees[0] = 
	(depth = 0 value = (id = 0 text = "o" is_root = 0 value = )) trees[1] = 
	(depth = 0 value = (id = 0 text = "o" is_root = 0 value = ))
)<<<


>>> concat_match(begin) <<<
tree a:
(length = 1 trees[0] = 
	(depth = 0 value = (id = 0 text = "f" is_root = 0 value = ))
)
tree b:
(length = 2 trees[0] = 
	(depth = 0 value = (id = 0 text = "o" is_root = 0 value = )) trees[1] = 
	(depth = 0 value = (id = 0 text = "o" is_root = 0 value = ))
)
>>> concat_match(end) <<<


>>>AST concat. a = (length = 3 trees[0] = 
	(depth = 0 value = (id = 0 text = "f" is_root = 0 value = ))
)
	b = (length = 2 trees[0] = 
	(depth = 0 value = (id = 0 text = "o" is_root = 0 value = )) trees[1] = 
	(depth = 0 value = (id = 0 text = "o" is_root = 0 value = ))
)<<<
>>>after AST concat. a = (length = 3 trees[0] = 
	(depth = 0 value = (id = 0 text = "f" is_root = 0 value = )) trees[1] = 
	(depth = 0 value = (id = 0 text = "o" is_root = 0 value = )) trees[2] = 
	(depth = 0 value = (id = 0 text = "o" is_root = 0 value = ))
)<<<

                    /rule(identifier):	"->count == 3) ; a.fo"
                  /rule(varname):	"->count == 3) ; a.fo"

>>> concat_match(begin) <<<
tree a:
(length = 2 trees[0] = 
	(depth = 0 value = (id = 2 text = "a" is_root = 0 value = )) trees[1] = 
	(depth = 0 value = (id = 0 text = "#" is_root = 0 value = ))
)
tree b:
(length = 3 trees[0] = 
	(depth = 0 value = (id = 2 text = "foo" is_root = 0 value = ))
)
>>> concat_match(end) <<<


>>>AST concat. a = (length = 5 trees[0] = 
	(depth = 0 value = (id = 2 text = "a" is_root = 0 value = )) trees[1] = 
	(depth = 0 value = (id = 0 text = "#" is_root = 0 value = ))
)
	b = (length = 3 trees[0] = 
	(depth = 0 value = (id = 2 text = "foo" is_root = 0 value = ))
)<<<
>>>after AST concat. a = (length = 5 trees[0] = 
	(depth = 0 value = (id = 2 text = "a" is_root = 0 value = )) trees[1] = 
	(depth = 0 value = (id = 0 text = "#" is_root = 0 value = )) trees[2] = 
	(depth = 0 value = (id = 2 text = "foo" is_root = 0 value = ))
)<<<

                /rule(setS):	"->count == 3) ; a.fo"
                rule(setS):	"a#foo->count == 3) ;"
                  rule(catom):	"a#foo->count == 3) ;"
                    rule(identifier):	"a#foo->count == 3) ;"

>>> create_node(begin) <<<
creating node text: "a"
>>> create_node(end) <<<


>>> concat_match(begin) <<<
tree a:
(length = 1 trees[0] = 
	(depth = 0 value = (id = 0 text = "a" is_root = 0 value = ))
)
tree b:
(length = 0 trees[0] = 
	(depth = 0 value = (id = 0 text = "" is_root = 0 value = ))
)
>>> concat_match(end) <<<

                    /rule(identifier):	"#foo->count == 3) ; "
                    rule(identifier):	"a#foo->count == 3) ;"

>>> create_node(begin) <<<
creating node text: "a"
>>> create_node(end) <<<


>>> concat_match(begin) <<<
tree a:
(length = 1 trees[0] = 
	(depth = 0 value = (id = 0 text = "a" is_root = 0 value = ))
)
tree b:
(length = 0 trees[0] = 
	(depth = 0 value = (id = 0 text = "" is_root = 0 value = ))
)
>>> concat_match(end) <<<

                    /rule(identifier):	"#foo->count == 3) ; "
                  /rule(catom):	"#foo->count == 3) ; "
                  rule(tShift):	"#foo->count == 3) ; "
                  #rule(tShift):	"#foo->count == 3) ; "

>>> concat_match(begin) <<<
tree a:
(length = 1 trees[0] = 
	(depth = 0 value = (id = 2 text = "a" is_root = 0 value = ))
)
tree b:
(length = 0 trees[0] = 
	(depth = 0 value = (id = 0 text = "" is_root = 0 value = ))
)
>>> concat_match(end) <<<


>>> create_node(begin) <<<
creating node text: "#"
>>> create_node(end) <<<


>>> concat_match(begin) <<<
tree a:
(length = 1 trees[0] = 
	(depth = 0 value = (id = 2 text = "a" is_root = 0 value = ))
)
tree b:
(length = 1 trees[0] = 
	(depth = 0 value = (id = 0 text = "#" is_root = 0 value = ))
)
>>> concat_match(end) <<<


>>>AST concat. a = (length = 2 trees[0] = 
	(depth = 0 value = (id = 2 text = "a" is_root = 0 value = ))
)
	b = (length = 1 trees[0] = 
	(depth = 0 value = (id = 0 text = "#" is_root = 0 value = ))
)<<<
>>>after AST concat. a = (length = 2 trees[0] = 
	(depth = 0 value = (id = 2 text = "a" is_root = 0 value = )) trees[1] = 
	(depth = 0 value = (id = 0 text = "#" is_root = 0 value = ))
)<<<

                  rule(varname):	"foo->count == 3) ; a"
                    rule(identifier):	"foo->count == 3) ; a"

>>> create_node(begin) <<<
creating node text: "f"
>>> create_node(end) <<<


>>> create_node(begin) <<<
creating node text: "o"
>>> create_node(end) <<<


>>> concat_match(begin) <<<
tree a:
(length = 0 trees[0] = 
	(depth = 0 value = (id = 0 text = "" is_root = 0 value = ))
)
tree b:
(length = 1 trees[0] = 
	(depth = 0 value = (id = 0 text = "o" is_root = 0 value = ))
)
>>> concat_match(end) <<<


>>> create_node(begin) <<<
creating node text: "o"
>>> create_node(end) <<<


>>> concat_match(begin) <<<
tree a:
(length = 1 trees[0] = 
	(depth = 0 value = (id = 0 text = "o" is_root = 0 value = ))
)
tree b:
(length = 1 trees[0] = 
	(depth = 0 value = (id = 0 text = "o" is_root = 0 value = ))
)
>>> concat_match(end) <<<


>>>AST concat. a = (length = 2 trees[0] = 
	(depth = 0 value = (id = 0 text = "o" is_root = 0 value = ))
)
	b = (length = 1 trees[0] = 
	(depth = 0 value = (id = 0 text = "o" is_root = 0 value = ))
)<<<
>>>after AST concat. a = (length = 2 trees[0] = 
	(depth = 0 value = (id = 0 text = "o" is_root = 0 value = )) trees[1] = 
	(depth = 0 value = (id = 0 text = "o" is_root = 0 value = ))
)<<<


>>> concat_match(begin) <<<
tree a:
(length = 1 trees[0] = 
	(depth = 0 value = (id = 0 text = "f" is_root = 0 value = ))
)
tree b:
(length = 2 trees[0] = 
	(depth = 0 value = (id = 0 text = "o" is_root = 0 value = )) trees[1] = 
	(depth = 0 value = (id = 0 text = "o" is_root = 0 value = ))
)
>>> concat_match(end) <<<


>>>AST concat. a = (length = 3 trees[0] = 
	(depth = 0 value = (id = 0 text = "f" is_root = 0 value = ))
)
	b = (length = 2 trees[0] = 
	(depth = 0 value = (id = 0 text = "o" is_root = 0 value = )) trees[1] = 
	(depth = 0 value = (id = 0 text = "o" is_root = 0 value = ))
)<<<
>>>after AST concat. a = (length = 3 trees[0] = 
	(depth = 0 value = (id = 0 text = "f" is_root = 0 value = )) trees[1] = 
	(depth = 0 value = (id = 0 text = "o" is_root = 0 value = )) trees[2] = 
	(depth = 0 value = (id = 0 text = "o" is_root = 0 value = ))
)<<<

                    /rule(identifier):	"->count == 3) ; a.fo"
                    rule(identifier):	"foo->count == 3) ; a"

>>> create_node(begin) <<<
creating node text: "f"
>>> create_node(end) <<<


>>> create_node(begin) <<<
creating node text: "o"
>>> create_node(end) <<<


>>> concat_match(begin) <<<
tree a:
(length = 0 trees[0] = 
	(depth = 0 value = (id = 0 text = "" is_root = 0 value = ))
)
tree b:
(length = 1 trees[0] = 
	(depth = 0 value = (id = 0 text = "o" is_root = 0 value = ))
)
>>> concat_match(end) <<<


>>> create_node(begin) <<<
creating node text: "o"
>>> create_node(end) <<<


>>> concat_match(begin) <<<
tree a:
(length = 1 trees[0] = 
	(depth = 0 value = (id = 0 text = "o" is_root = 0 value = ))
)
tree b:
(length = 1 trees[0] = 
	(depth = 0 value = (id = 0 text = "o" is_root = 0 value = ))
)
>>> concat_match(end) <<<


>>>AST concat. a = (length = 2 trees[0] = 
	(depth = 0 value = (id = 0 text = "o" is_root = 0 value = ))
)
	b = (length = 1 trees[0] = 
	(depth = 0 value = (id = 0 text = "o" is_root = 0 value = ))
)<<<
>>>after AST concat. a = (length = 2 trees[0] = 
	(depth = 0 value = (id = 0 text = "o" is_root = 0 value = )) trees[1] = 
	(depth = 0 value = (id = 0 text = "o" is_root = 0 value = ))
)<<<


>>> concat_match(begin) <<<
tree a:
(length = 1 trees[0] = 
	(depth = 0 value = (id = 0 text = "f" is_root = 0 value = ))
)
tree b:
(length = 2 trees[0] = 
	(depth = 0 value = (id = 0 text = "o" is_root = 0 value = )) trees[1] = 
	(depth = 0 value = (id = 0 text = "o" is_root = 0 value = ))
)
>>> concat_match(end) <<<


>>>AST concat. a = (length = 3 trees[0] = 
	(depth = 0 value = (id = 0 text = "f" is_root = 0 value = ))
)
	b = (length = 2 trees[0] = 
	(depth = 0 value = (id = 0 text = "o" is_root = 0 value = )) trees[1] = 
	(depth = 0 value = (id = 0 text = "o" is_root = 0 value = ))
)<<<
>>>after AST concat. a = (length = 3 trees[0] = 
	(depth = 0 value = (id = 0 text = "f" is_root = 0 value = )) trees[1] = 
	(depth = 0 value = (id = 0 text = "o" is_root = 0 value = )) trees[2] = 
	(depth = 0 value = (id = 0 text = "o" is_root = 0 value = ))
)<<<

                    /rule(identifier):	"->count == 3) ; a.fo"
                  /rule(varname):	"->count == 3) ; a.fo"

>>> concat_match(begin) <<<
tree a:
(length = 2 trees[0] = 
	(depth = 0 value = (id = 2 text = "a" is_root = 0 value = )) trees[1] = 
	(depth = 0 value = (id = 0 text = "#" is_root = 0 value = ))
)
tree b:
(length = 3 trees[0] = 
	(depth = 0 value = (id = 2 text = "foo" is_root = 0 value = ))
)
>>> concat_match(end) <<<


>>>AST concat. a = (length = 5 trees[0] = 
	(depth = 0 value = (id = 2 text = "a" is_root = 0 value = )) trees[1] = 
	(depth = 0 value = (id = 0 text = "#" is_root = 0 value = ))
)
	b = (length = 3 trees[0] = 
	(depth = 0 value = (id = 2 text = "foo" is_root = 0 value = ))
)<<<
>>>after AST concat. a = (length = 5 trees[0] = 
	(depth = 0 value = (id = 2 text = "a" is_root = 0 value = )) trees[1] = 
	(depth = 0 value = (id = 0 text = "#" is_root = 0 value = )) trees[2] = 
	(depth = 0 value = (id = 2 text = "foo" is_root = 0 value = ))
)<<<

                /rule(setS):	"->count == 3) ; a.fo"
              /rule(setVar):	"->count == 3) ; a.fo"
            #rule(setB):	"count == 3) ; a.foo "
          #rule(boolExpSimple):	"count == 3) ; a.foo "
        #rule(boolExp):	"count == 3) ; a.foo "
        rule(setB):	" (a#foo->count == 3)"
          rule(setVar):	" (a#foo->count == 3)"
            rule(setS):	" (a#foo->count == 3)"
              rule(catom):	" (a#foo->count == 3)"
                rule(identifier):	" (a#foo->count == 3)"

>>> create_node(begin) <<<
creating node text: " "
>>> create_node(end) <<<

                #rule(identifier):	"(a#foo->count == 3) "
                rule(identifier):	" (a#foo->count == 3)"

>>> create_node(begin) <<<
creating node text: " "
>>> create_node(end) <<<

                #rule(identifier):	"(a#foo->count == 3) "
              #rule(catom):	"(a#foo->count == 3) "
            #rule(setS):	"(a#foo->count == 3) "
            rule(setS):	" (a#foo->count == 3)"
              rule(catom):	" (a#foo->count == 3)"
                rule(identifier):	" (a#foo->count == 3)"

>>> create_node(begin) <<<
creating node text: " "
>>> create_node(end) <<<

                #rule(identifier):	"(a#foo->count == 3) "
                rule(identifier):	" (a#foo->count == 3)"

>>> create_node(begin) <<<
creating node text: " "
>>> create_node(end) <<<

                #rule(identifier):	"(a#foo->count == 3) "
              #rule(catom):	"(a#foo->count == 3) "
            #rule(setS):	"(a#foo->count == 3) "
          #rule(setVar):	"(a#foo->count == 3) "
        #rule(setB):	"(a#foo->count == 3) "
      #rule(boolExpSimple):	"(a#foo->count == 3) "
    #rule(boolExp):	"(a#foo->count == 3) "
  #rule(condition):	"(a#foo->count == 3) "
#grammar(cond):	"(a#foo->count == 3) "
watchpoint parsing failed
