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.
| Modifier | *left* (= mouse) add / move | *middle* (= F11) promote | *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) |
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
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
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
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.