This document discusses bottom-up parsing and LR parsing. Bottom-up parsing starts from the leaf nodes of a parse tree and works upward to the root node by applying grammar rules in reverse. LR parsing is a type of bottom-up parsing that uses shift-reduce parsing with two steps: shifting input symbols onto a stack, and reducing grammar rules on the stack. The document describes LR parsers, types of LR parsers like SLR(1) and LALR(1), and the LR parsing algorithm. It also compares bottom-up LR parsing to top-down LL parsing.