Abstract syntax tree: Difference between revisions

Content deleted Content added
STBot (talk | contribs)
m clean up - if I go crazy visit User talk:STBot using AWB
Brick Thrower (talk | contribs)
// link in operator, operand, clarify meaning of leaf node
Line 1:
In [[computer science]], an '''abstract syntax tree''' (AST) is a [[finite set|finite]], [[labeled tree|labeled]], [[directed tree]], where the [[internal node|internal nodes]] are labeled by operators[[operator]]s, and the [[leaf node]]s represent the operands[[operand]]s of the node operators. Thus, the leaves haveare nullary[[null (computer)|NULL]] operators, i.e.,and only represent variables or constants. In computing, it is used in a [[parser]] as an intermediate between a [[parse tree]] and a [[data structure]], the latter which is often used as a [[compiler (computing)|compiler]] or [[interpreter (computing)|interpreter]]'s internal [[intermediate representation|representation]] of a [[computer program]] while it is being [[compiler optimization|optimized]] and from which code generation is performed. The range of all possible such structures is described by the [[abstract syntax]]. An AST differs from a parse tree by omitting nodes and edges for syntax rules that do not affect the
In [[computer science]], an '''abstract syntax tree''' (AST) is a [[finite set|finite]], [[labeled tree|labeled]], [[directed tree]], where the [[internal node|internal
nodes]] are labeled by operators, and the [[leaf node]]s represent the operands of the node operators. Thus, the leaves have nullary operators, i.e., variables or constants. In computing, it is used in a [[parser]] as an intermediate between a [[parse tree]] and a [[data structure]], the latter which is often used as a [[compiler (computing)|compiler]] or [[interpreter (computing)|interpreter]]'s internal [[intermediate representation|representation]] of a [[computer program]] while it is being [[compiler optimization|optimized]] and from which code generation is performed. The range of all possible such structures is described by the [[abstract syntax]]. An AST differs from a parse tree by omitting nodes and edges for syntax rules that do not affect the
semantics of the program. The classic example of such an omission is grouping parentheses, since in an AST the grouping of operands is explicit in the tree structure.