Checking in much of a hand-written shift-reduce parser.