A 'parse tree' or 'concrete syntax tree' is a
tree that represents the
syntactic structure of a
string according to some
formal grammar. A program that produces such trees is called a
parser. Parse trees may be generated for
sentences in
natural languages (''see''
natural language processing), as well as during
processing of computer languages, such as
programming languages.
Basic description
A parse tree is made up of nodes and branches. Below is a linguistic parse tree, here representing the English sentence "John hit the ball". (Note: this is only one possible parse tree for this sentence; different kinds of linguistic parse trees exist.) The parse tree is the entire structure, starting from S and ending in each of the leaf nodes (John, hit, the, ball).

A simple parse tree
In a parse tree, each node is either a 'root' node, a 'branch' node, or a 'leaf' node. In the above example, S is a root node, NP and VP are branch nodes, while John, hit, the, and ball are all leaf nodes. (To better understand what "S", "VP", "NP" etc. mean, see
[1])
A node can also be referred to as parent node or a child node. A 'parent' node is one that has at least one other node linked by a branch under it. In the example, S is a parent of both NP and VP. A 'child' node is one that has at least one node directly above it to which it is linked by a branch of the tree. Again from our example, hit is a child node of V.
See also
★
Computational linguistics
★
Parsing
★
Sentence diagram
★
X-bar theory
External links
★
Linguistic Tree Constructor
★
phpSyntaxTree — Online parse tree drawing site
★
Qtree —
LaTeX package for drawing parse trees
★
Syntax Tree Drawer in SVG
★
TreeForm Syntax Tree Drawing Software
★
Trees Player