A bottom-up parser creates a parse tree starting from the leaves and working towards the root by finding the right-most derivation of the input string in reverse order. Bottom-up parsing involves two main actions: shift, which pushes the next input symbol onto a stack; and reduce, which pops symbols from the stack according to grammar rules. LR parsers are a type of bottom-up parser that can handle a wide range of grammars through the use of parsing tables constructed from the grammar to determine the shift and reduce actions.