Bottom-up parsing constructs a parse tree from the bottom up by reducing the input string according to grammar rules. There are several types of bottom-up parsing including shift-reduce parsing, operator precedence parsing, and LR parsing. Shift-reduce parsing uses a stack and input tape to shift and reduce the string according to grammar rules. Operator precedence parsing applies to grammars where operators have predefined precedence levels. LR parsing scans the input left-to-right while constructing a rightmost derivation to parse context-free grammars, including LR(0), SLR(1), CLR(1), and LALR(1) variants.