 But this minimization is not necessary, and can sometimes create unnecessary lookahead conflicts.Canonical LR parsers use duplicated (or "split") states to better remember the left and right context of a nonterminal's use.Each occurrence of a symbol S in the grammar can be treated independently with its own lookahead set, to help resolve reduction conflicts.