The problem from my previous letter was: The input is:#r->a{1}{2} The output should put {..} into separate subtrees: ^(GET_PROPERTY_ARGUMENTS 1) ^(GET_PROPERTY_ARGUMENTS 2) But actually it goes wrong branch and reads ->a{1}{2} as plain text, or another bad thing happens, not sure what's going on. Thanks!