A
parse tree or
parsing tree or
derivation tree or
(concrete) syntax tree is an ordered, rooted
tree that represents the
syntactic structure of a
string according to some
context-free grammar. The term
parse tree itself is used primarily in
computational linguistics; in theoretical syntax the term
syntax tree is more common. Parse trees are distinct from the
abstract syntax trees used in computer programming, in that their structure and elements more concretely reflect the syntax of the input language. They are also distinct from (although based on similar principles to) the
sentence diagrams (such as Reed-Kellogg diagrams) sometimes used for grammar teaching in schools.