Parser mode reference

This document is a rewrite of "parser-mode-reference-oe" by Susan Pintzuk, itself based on "parser-mode-reference" for the PPCME2 by Ann Taylor.

Depending on your keyboard, META maps to ALT, Command or ESC.

Summary of mouse commands (more info under Details)

Modifier *left* (= mouse)
add / move
*middle* (= F11)
*right* (= F12)
(mostly) delete
--- move bracketed constituent (3a) promote bracketed constituent (4a) delete labeled brackets (1c)
label add labeled brackets (1a, 2c) replace label (1b)
<space> (dash-tag) add dash-tag (2b, 2c) replace/delete dash-tag (2d, 2e)
Ctrl add ICH-trace (6c) check parentheses (10a, 10b)
Shift add movement trace (6a, 6b) express promote (4c) add = coindexing (7)
Shift + Meta move bare word (3b) promote bare word (4b) delete null (use Meta-d)

General commands

Meta-u undo
Meta-p on reopening files, goes to most recent cursor position
(must be first emacs command on reopening file)
Meta-h idle
Meta-Shift-r resume editing after saving

Commands for correction

letters [a-z] choose bracket tag (will echo as all caps)
<hyphen>[a-z] choose dash-tag (will echo as all caps)
<space>[a-z] same as <hyphen>[a-z], but more convenient to type
<space><space> clears dash tag (i.e., adds null dash tag)
Meta-n insert null element
0 (C 0) (add in subordinate CP; don't add in matrix CP; see Internal structure of clauses for details)
b or B (WADVP 0) (change label as needed)
j or J (WADJP 0) (change label as needed)
w or W (WNP 0) (change label as needed)
* or 8 (X *)
a (NP-SBJ *arb*)
c (NP-SBJ *con*)
p ((NP-SBJ *pro*)
x (NP-SBJ *exp*)
Meta-Shift-* insert (X *) with nicer formating
Meta-d delete null element (cursor must be *on* left paren)
< insert comment
Meta-Shift-; delete comment

Commands for reformating

Meta-i reindent token
4, 5, 6 or 7 move current line up and reindent
Meta-<space> add space between top paren and first labelled paren and reindent

Commands for display and navigation

Meta-Shift-l (ell, not one) move current line (where cursor is) to top of screen
Ctrl-x Ctrl-x return to mark; handy if you search for something and then want to go back. Mark is set by positioning cursor.
Meta-Shift-Ctrl-b depending on position of cursor, go to start of previous token or constituent


1.  ADD/REPLACE/DELETE LABELS (back to summary)

    a.  to add a bracket + label
        1) type label (label appears in mode line)
        2) point mouse where you want the bracket + label inserted
        3) *left* click

    b.  to replace an existing label
        1) type new label (label appears in mode line)
        2) position mouse on the label to be replaced
        3) *right* click

    c.  to delete a bracket + label
        1) position mouse on the label to be deleted
        2) *right* click

2.  ADD/REPLACE/DELETE DASH-TAGS (back to summary)

    a.  to choose a dash-tag:
        1) type <space>
        2) type letter code for dash-tag
(codes are largely mnemonic; non-mnemonic codes are listed in command line) b. to add a dash-tag to a label: 1) choose a dash-tag as in (2a) 2) point the mouse at the label 3) *left* click c. to add a bracket label and a dash-tag: 1) type bracket label (bracket label appears in mode line) 2) choose dash-tag as in (2a) (dash-tag is added to label) 3) point mouse where you want the bracket + label + dash-tag 4) *left* click d. to replace an existing dash-tag: 1) choose new tag as in (2c) 2) point mouse where you want to replace 3) *right* click (replaces *all* dash-tags, not just last one) e. to remove all dash-tags on a label: 1) type <space> twice 2) point mouse where you want dash-tags removed 3) *right* click 3. MOVE CONSTITUENT A INTO CONSTITUENT B (back to summary) a. to move a bracketed constituent: *left* drag from label of A to right of label of B b. to move a bare word: Shift-Meta-*left* drag from word A to the right of label of B 4. PROMOTE CONSTITUENT (back to summary) (only leftmost and rightmost siblings can be promoted) a. to promote a bracketed constituent (i.e., to move it up one level): *middle* click on label b. to promote a bare word: Shift-Meta-*middle* click on word c. to express promote (i.e., to move to highest legal level): Shift-*middle* click on label or word 5. ADD NULL ELEMENTS WITHOUT COINDEXING (back to summary) To insert a null element without coindexing, position the cursor where you want to insert (by pointing the mouse and then *left* click), then type the sequence in the first column to insert the null element in the second column. Meta-n 0 (C 0) empty complementizer ((add in subordinate CP; don't add in matrix CP; see Internal structure of clauses for details) Meta-n W or w (WNP 0) empty wh- NP (change label as needed) Meta-n * or 8 (X *) generic empty category Meta-n a (NP-SBJ *arb*) arbitrary empty subject in ECM infinitives Meta-n c (NP-SBJ *con*) empty subject elided under conjunction Meta-n x (NP-SBJ *exp*) empty expletive Meta-n p (NP-SBJ *pro*) "small pro" 6. ADD NULL ELEMENTS WITH COINDEXING (back to summary) a. For wh- traces: to insert (X *T*) and coindex, Shift-*left* drag from the wh- constituent to the position for the wh- trace. The created X constituent is the non-wh variant of the wh- constituent, e.g. dragging from WADVP creates an ADVP trace. b. For traces of A movement: to insert (X *) and coindex, Shift-*left* drag from the moved constituent (usually an NP) to the position for the trace. c. For traces of A' movement other than wh: to insert (X *ICH*) and coindex, control-*left* drag from the moved constituent to the position for the null element. ICH stands for 'interpret constituent here'. 7. COINDEX WITH = (back to summary) Shift-*right* drag from "original" to "copy". For expletive coindexing, the original is the associate, the copy is the (nominative) expletive. This adds = with an index to the expletive, which will be changed to - with an index in post-processing. For gapping, the original is the clause without the gap, the copy is the clause with the gap. 8. DELETE A NULL ELEMENT (back to summary) Shift-Meta *right* with the mouse positioned anywhere on the null element; for this procedure to work, the null must have its own set of brackets. Alternatively, position the cursor on the open paren (i.e., point the mouse and *left* click), and type Meta-d 9. SPLIT A TOKEN INTO TWO OR MORE TOKENS (back to summary) 1. Promote the constituent that you want to put into a separate token out of the token it's currently in. Once in a while, the system will not permit you to promote the constituent; if this happens, simply promote instead the constituent that you want to remain. 2. Now you must enclose the promoted constituent in a pair of unlabelled parens (= wrapper parens). To do this, a. position the cursor at the start of the constituent b. type Meta-Shift-( c. drag the constituent into the paired parens and fix the line breaks 10. CHECK FOR MATCHING PARENS AND FIX UP TOKENS (back to summary) a. Ctrl-x Ctrl-f jumps forward an sexp. (If "Ctrl-x Ctrl-f" doesn't work, use "Meta-x forward-sexp"). b. Ctrl-Meta-Shift-b jumps to the open bracket of the previous token c. To find the matching opening paren for a close paren, Ctrl-*right* click on the close paren d. To add wrapper parens around a constituent, i.e. to promote a constituent to token status, see Step 9.2. 11. ADDITIONAL NOTES ON REPLACING AND DELETING LABELS (back to summary) a. If a label contains + or $, you cannot simply delete it with *right*. Replace it first with some other label, e.g. X, and then delete the label X. b. You cannot simply replace a pos label with a new label containing | (vertical bar). Instead, you must first add a new set of brackets with the new label, and then delete the old brackets plus label. i.e. (N dryhten) → (N|N (N dryhten)) → (N|N dryhten) c. In parser mode, you cannot add a label that contains +, e.g. you cannot replace BEP by NEG+BEP. Instead use |, which will be replaced by + in post-processing.