This document discusses syntax analysis in programming languages. It defines syntax as the arrangement of words and symbols in a program to show their relationships. Syntax analysis determines if a program is valid based on the syntactic rules of the language. Common formal methods for describing syntax include grammars, parse trees, and syntax diagrams. Grammars provide mathematical rules for valid symbol strings, including terminal symbols, non-terminal symbols, and productions.