Parsing is the process of analyzing a string of symbols according to the rules of a formal grammar to determine its syntactic structure. It involves expanding a parse tree from the start symbol to the leaves using either a top-down or bottom-up approach. Top-down parsers expand the leftmost non-terminal at each step, while bottom-up parsers start at the leaves and grow the tree toward the root. Bottom-up, or LR, parsing is preferred in practice.