While parsers are quite powerful, they can involve a large number of states, and this can cause complications for the implementation. We can reduce the number of states without paying too much of a price in terms of increased conflicts by noting that there will often be two different states whose basic items are the same, but which differ only in lookahead sets.
We can reduce the size of an parse table if we combine such
states together; the resulting lookahead is the union of the two
individual lookaheads. Parse tables constructed from this type of DFA
are known as parsers, for Look-Ahead parsers.
[Stupid name - all parsers have lookahead]
Merging two states in this manner will not adversely effect the function, since this does not depend on the lookahead.
Merging states will not add any extra shift/reduce conflicts that were not in the parser originally, since shift actions do not depend on lookaheads. However, the number of reduce/reduce conflicts may be increased.