Package nltk_lite :: Package parse :: Module rd :: Class RecursiveDescent
[show private | hide private]
[frames | no frames]

Type RecursiveDescent

object --+        
         |        
    ParseI --+    
             |    
 AbstractParse --+
                 |
                RecursiveDescent

Known Subclasses:
SteppingRecursiveDescent

A simple top-down CFG parser that parses texts by recursively expanding the fringe of a Tree, and matching it against a text.

RecursiveDescent uses a list of tree locations called a frontier to remember which subtrees have not yet been expanded and which leaves have not yet been matched against the text. Each tree location consists of a list of child indices specifying the path from the root of the tree to a subtree or a leaf; see the reference documentation for Tree for more information about tree locations.

When the parser begins parsing a text, it constructs a tree containing only the start symbol, and a frontier containing the location of the tree's root node. It then extends the tree to cover the text, using the following recursive procedure:

See Also: nltk.cfg

Method Summary
  __init__(self, grammar, trace)
Create a new RecursiveDescent, that uses grammar to parse texts.
  get_parse_list(self, tokens)
None trace(self, trace)
Set the level of tracing output that should be generated when parsing a text.
Inherited from AbstractParse: get_parse, grammar, parse
Inherited from ParseI: get_parse_probs
Inherited from object: __delattr__, __getattribute__, __hash__, __new__, __reduce__, __reduce_ex__, __repr__, __setattr__, __str__

Method Details

__init__(self, grammar, trace=0)
(Constructor)

Create a new RecursiveDescent, that uses grammar to parse texts.
Parameters:
grammar - The grammar used to parse texts.
           (type=Grammar)
trace - The level of tracing that should be used when parsing a text. 0 will generate no tracing output; and higher numbers will produce more verbose tracing output.
           (type=int)
Overrides:
nltk_lite.parse.AbstractParse.__init__

trace(self, trace=2)

Set the level of tracing output that should be generated when parsing a text.
Parameters:
trace - The trace level. A trace level of 0 will generate no tracing output; and higher trace levels will produce more verbose tracing output.
           (type=int)
Returns:
None

Generated by Epydoc 2.1 on Tue Sep 5 09:37:22 2006 http://epydoc.sf.net