Stanford University: Keith Schwarz's "Bottom-Up Parsing"