Efficient LR(1) Parsers