title: NLTK fcfg parse error: IndexError when accessing the SEM feature
body: <p>Still working to further expand my grammer in small app that transforms NL to SQL.  Done slightly more sophisticated examples than the one I'll explain below, so I'm rather puzzled why this one doesn't parse despite it's simplicity.</p>
  
  <p>I have got working "show movies", but I want to also be able to handle "movies list" for example, and define the fcfg grammer as below:</p>
  
  <pre><code>% start S
  S[SEM=(?np)] -&gt; NP[SEM=?np]
  NP[SEM=(?v + ?n)] -&gt; V[SEM=?v] N[SEM=?n]
  V[SEM='SELECT'] -&gt; 'show' | 'list' | 'display'
  N[SEM='title, description, category, rating FROM film_list'] -&gt; 'movie' | 'movies' | 'film' | 'films'
  </code></pre>
  
  <p>Note the noun comes first.  I get the following parse log when trace=2</p>
  
  <pre><code>|.movie. list.|
  Traceback (most recent call last):
  Leaf Init Rule:
    File "C:/Users/JP/PycharmProjects/imat5112/misc/test7.py", line 8, in &lt;module&gt;
  |[-----]     .| [0:1] 'movie'
      top_tree_semantics = trees[0].label()['SEM']  # get first list entry with semantics
  |.     [-----]| [1:2] 'list'
  IndexError: list index out of range
  Feature Bottom Up Predict Combine Rule:
  |[-----]     .| [0:1] N[SEM='title, description, category, rating FROM film_list'] -&gt; 'movie' *
  Feature Bottom Up Predict Combine Rule:
  |.     [-----]| [1:2] V[SEM='SELECT'] -&gt; 'list' *
  Feature Bottom Up Predict Combine Rule:
  |.     [-----&gt;| [1:2] NP[SEM=(?v+?n)] -&gt; V[SEM=?v] * N[SEM=?n] {?v: 'SELECT'}
  </code></pre>
  
  <p>Using the following code to parse:</p>
  
  <pre><code>feature_cfg = load_parser('grammer_004_pos.fcfg', trace=2)
  nlquery = 'movie list'
  trees = list(feature_cfg.parse(nlquery.split()))  # Put all tuples into list
  top_tree_semantics = trees[0].label()['SEM']  # get first list entry with semantics
  top_tree_semantics = [s for s in top_tree_semantics if s]  # first SEM entry from tuple to list
  sqlquery = ' '.join(top_tree_semantics)  # join each list element separated by space
  </code></pre>
  
  <p>Really puzzled why this one is failing ("movie list") and yet something like "show movies" (with switch of order between noun and verb) works.  Most grateful for highlighting of my idiocy, cheers!</p>