Syntax analysis involves converting a stream of tokens into a parse tree using grammar production rules. It recognizes the structure of a program using grammar rules. There are three main types of parsers - top-down, bottom-up, and universal. Top-down parsers build parse trees from the top-down while bottom-up parsers work from the leaves up. Bottom-up shift-reduce parsing uses a stack and input buffer, making shift and reduce decisions based on parser states to replace substrings matching productions. The largest class of grammars bottom-up parsers can handle is LR grammars.