Parsing is the application of grammatical structure to a stream of input symbols. Return a reference to the first child of the sibling list.
Trees are self-similar in that a tree node is also a tree.
The root of a tree pattern must be a token reference, but the children elements can even be subrules. An important thing to remember when specifying tree patterns and tree grammars in general is that sufficient matches are done not exact matches. As long as the tree satistfies the pattern, a match is reported, regardless of how much is left unparsed. However, there is occasionally the need to distinguish between similar tree structures. Syntactic predicates can be used to overcome the limitations of limited fixed lookahead.