Syntactic analysis (or syntactic parsing) is the process of analyzing the linear sequence of a language lexemes (words, tokens) to its formal grammar. The result is usually a parse tree or an abstract syntax tree. Context-free grammars are used for syntactic analysis of programming languages. Grammars of the more general types in Chomsky hierarchy (context-sensitive and regular grammars) are much more difficult to analyze in a definite way. However, simple (regular) grammars aren't expressive enough to describe nested language constructions.
According to the order in which the parsing tree is constructed, parsing techniques can be divided into two large classes: descending and ascending. The descending technique (top-down parsing) begins from the end of the parse tree nodes and gradually combine them to build higher-level nodes until the parse tree root is reached. The ascending technique (bottom-up parsing) begins from the parse tree root until the tree nodes correspond to the syntax of the sentence being analyzed.
References
0