Efficient Top-Down Parser