Symbolic Lookaheads for Bottom-up Parsing