nltk.CFG
¶
-
class
nltk.
CFG
(start, productions, calculate_leftcorners=True)[source]¶ A context-free grammar. A grammar consists of a start state and a set of productions. The set of terminals and nonterminals is implicitly specified by the productions.
If you need efficient key-based access to productions, you can use a subclass to implement it.
Methods¶
__init__ (start, productions[, ...]) |
Create a new context-free grammar, from the given start state and set of ``Production``s. |
check_coverage (tokens) |
Check whether the grammar rules cover the given list of tokens. |
fromstring (input[, encoding]) |
Return the CFG corresponding to the input string(s). |
is_binarised () |
Return True if all productions are at most binary. |
is_chomsky_normal_form () |
Return True if the grammar is of Chomsky Normal Form, i.e. |
is_flexible_chomsky_normal_form () |
Return True if all productions are of the forms A -> B C, A -> B, or A -> “s”. |
is_leftcorner (cat, left) |
True if left is a leftcorner of cat, where left can be a terminal or a nonterminal. |
is_lexical () |
Return True if all productions are lexicalised. |
is_nonempty () |
Return True if there are no empty productions. |
is_nonlexical () |
Return True if all lexical rules are “preterminals”, that is, unary rules which can be separated in a preprocessing step. |
leftcorner_parents (cat) |
Return the set of all nonterminals for which the given category is a left corner. |
leftcorners (cat) |
Return the set of all nonterminals that the given nonterminal can start with, including itself. |
max_len () |
Return the right-hand side length of the longest grammar production. |
min_len () |
Return the right-hand side length of the shortest grammar production. |
productions ([lhs, rhs, empty]) |
Return the grammar productions, filtered by the left-hand side or the first item in the right-hand side. |
start () |
Return the start symbol of the grammar |
unicode_repr () |