Author image Jeremy Kahn


  list-edges - reads penn treebanks, prints out all edges found in each tree, one tree per line


  list-edges [options] [file ...]

     -help        brief help message
     -man         full documentation
    --verbose     more verbose to STDERR
    --directinput allow TTY to STDIN

    --format FORMAT provide a different output format

    --terminal    include (exclude) terminal expansions
    --noterminal  default is --noterminal

Sample output

  $ echo "(S (NP (DET the) (NN dog)) (VP (VBD ran)))" | ./list-edges --terminal
  DET::the,0,1 NN::dog,1,2 NP,0,2 VBD::ran,2,3 VP,2,3



Show this help message.


Show the manual page for this script.


By default, if there is a human-operated TTY on STDIN, this script issues a usage message and exits (this is so users can run list-edges and get the usage message). If you really want to type trees by hand on STDIN, add the --directinput flag.


Repeatable option. Report more of what we're doing.


Whether or not to print the edges indicating terminal items.

--format FORMAT

doesn't currently do anything


This program lists all edges in the trees presented, one tree per line. Edges are LABEL,INDEX,INDEX where INDEX values come from between the words (0-based).


The trees must be in Penn treebank format.


None that I know of.


Jeremy G. Kahn <>