Parsing Algorithms based on Tree Automata