UCLA-PPP: A program for learning how to parse sentencesAn image created in UCLA-PPP

I use this program in my course Linguistics 20, which is the basic introduction to linguistics at UCLA. Basically, it is a click-and-drag interface for drawing trees. It includes a set of (instructor-changeable) phrase structure rules, and guides the student by lighting up nodes in red and posting an error message when a structure impossible by the rules. Students can also check if the answer they draw is correct.

How to download and set up UCLA-PPP

This is a Java program. It runs on both Windows and Mac machines (we don't know if it runs on Linux; let us know if you find out).

You don't have to install UCLA-PPP. Just download it and put it in some convenient location on your computer. The file is named "UCLA-PPP.jar".

Download UCLA-PPP

To make UCLA-PPP run, your computer needs to be set up to run a Java program. Many computers are already set up do this. If not, you must download the Java Run Time Environment and install it first.

Download the Java Run Time Environment (if necessary)

I suggest just trying to run UCLA-PPP.jar by clicking on it; and if this doesn't work, only then try obtaining the Java Run Time Environment as a fix.

Also, you need a batch of sentences to practice on. At present I've set up a group of 38 sentences, all in a file called Hayes38Sentences.txt. This file sits inside a zipped file, along with (just for reference) a copy of the grammar normally used by the program. I'm using a zipped file because this seems to help in downloading the files safely (files aren't altered by your browser).

Download practice sentences and grammar

Most computers these days are already set up so they can unzip a zipped folder; if not, use a search engine and search for "free unzip software" to obtain software that can perform this task.

So, at this stage, I assume you have on your hard disk the files UCLA-PPP.jar and Hayes38Sentences.txt.

Launching UCLA-PPP

On a PC, just double click on it.

On a Mac, you need to get around security.  Instead of double-click, right click and select Open.

Using UCLA-PPP for Parsing Practice

On the File menu, click the Open button.  Browse through your folders and find wherever you put the file Hayes38Sentences.txt, then click to open it. In the (expandible) window on the left side of the screen (see figure below), you will get a choice of 38 sentences.  Identical sentences on the list have two meanings (and two correct parses), for which "keys" will be displayed along with the sentence when it is displayed.  

Click on whatever sentence you like. The words of the sentence will appear in the main window.  Now, click on the buttons labeled “NP”, etc., and drag them to make a tree. You can draw lines by clicking and dragging, or by clicking consecutively on the starting and ending nodes.  Also, if you grab a node and hover in the region where it is supposed to go, the nodes that will have lines automatically drawn to them when you release the mouse will appear in brown.

If you make a mistake, drag the incorrect material into the Trash, or right click and select Delete. You can make your tree look prettier by clicking the Straighten Lines button.

When you think you have the right answer, click Check Answer, and find out. UCLA-PPP will automatically save your answer (whether right or wrong!) in computer memory, and you can move on to a new sentence by clicking in the left window.

Once you have done as many sentences as you want (or as many as your teacher told you), go to the File menu and click Export the Homework. UCLA-PPP will prompt you for a file name. It will save the file, which you can then print out. UCLA-PPP saves the tree in bracket, not graphic, format.

Using UCLA-PPP as tree-drawing software

Launch the program, and from the Task menu pick Draw Tree.  The various menus will give you options for the appearance of your tree (font, alignment, etc.) You can save your tree as a .png image by choosing Save Tree as Image from the File menu. The image at right is a tree drawn using UCLA-PPP.

Comments and feedback

Comments and feedback are welcome; please address them to me, Bruce Hayes, at bhayes@humnet.ucla.edu.


This program was written by Yi Zhang, a 2017 B.A. in Linguistics and Computer Science from  UCLA Department of Linguistics, who designed the interface with input from me and wrote all the Java code.  Thanks to Yi for making this project possible.

Source code

This may be obtained from the GitHub site of Yi Zhang, here.

Picture of the interface

view of the interface

Last modified October 6, 2016