class documentation

class InstantiateVarsChart(FeatureChart): (source)

Constructor: InstantiateVarsChart(tokens)

View In Hierarchy

A specialized chart that 'instantiates' variables whose names start with '@', by replacing them with unique new variables. In particular, whenever a complete edge is added to the chart, any variables in the edge's lhs whose names start with '@' will be replaced by unique new ``Variable``s.

Method __init__ Construct a new chart. The chart is initialized with the leaf edges corresponding to the terminal leaves.
Method initialize Clear the chart.
Method insert Add a new edge to the chart, and return True if this operation modified the chart. In particular, return true iff the chart did not already contain edge, or if it did not already associate child_pointer_lists...
Method inst_vars Undocumented
Method instantiate_edge If the edge is a FeatureTreeEdge, and it is complete, then instantiate all variables whose names start with '@', by replacing them with unique new variables.
Instance Variable _instantiated Undocumented

Inherited from FeatureChart:

Method parses Return an iterator of the complete tree structures that span the entire chart, and whose root node is root.
Method select Returns an iterator over the edges in this chart. See Chart.select for more information about the restrictions on the edges.
Method _add_index A helper function for select, which creates a new index for a given set of attributes (aka restriction keys).
Method _get_type_if_possible Helper function which returns the TYPE feature of the item, if it exists, otherwise it returns the item itself
Method _register_with_indexes A helper function for insert, which registers the new edge with all existing indexes.

Inherited from Chart (via FeatureChart):

Method child_pointer_lists Return the set of child pointer lists for the given edge. Each child pointer list is a list of edges that have been used to form this edge.
Method dot_digraph Undocumented
Method edges Return a list of all edges in this chart. New edges that are added to the chart after the call to edges() will not be contained in this list.
Method insert_with_backpointer Add a new edge to the chart, using a pointer to the previous edge.
Method iteredges Return an iterator over the edges in this chart. It is not guaranteed that new edges which are added to the chart before the iterator is exhausted will also be generated.
Method leaf Return the leaf value of the word at the given index.
Method leaves Return a list of the leaf values of each word in the chart's sentence.
Method num_edges Return the number of edges contained in this chart.
Method num_leaves Return the number of words in this chart's sentence.
Method pretty_format Return a pretty-printed string representation of this chart.
Method pretty_format_edge Return a pretty-printed string representation of a given edge in this chart.
Method pretty_format_leaves Return a pretty-printed string representation of this chart's leaves. This string can be used as a header for calls to pretty_format_edge.
Method trees Return an iterator of the tree structures that are associated with edge.
Method _append_edge Undocumented
Method _trees A helper function for trees.
Instance Variable _edge_to_cpls A dictionary mapping each edge to a set of child pointer lists that are associated with that edge.
Instance Variable _edges A list of the edges in the chart
Instance Variable _indexes A dictionary mapping tuples of edge attributes to indices, where each index maps the corresponding edge attribute values to lists of edges.
Instance Variable _num_leaves The number of tokens.
Instance Variable _tokens The sentence that the chart covers.
def __init__(self, tokens): (source)

Construct a new chart. The chart is initialized with the leaf edges corresponding to the terminal leaves.

Parameters
tokens:listThe sentence that this chart will be used to parse.
def initialize(self): (source)

Clear the chart.

def insert(self, edge, child_pointer_list): (source)

Add a new edge to the chart, and return True if this operation modified the chart. In particular, return true iff the chart did not already contain edge, or if it did not already associate child_pointer_lists with edge.

Parameters
edge:EdgeIThe new edge
child_pointer_listUndocumented
*child_pointer_lists:sequence of tuple(EdgeI)A sequence of lists of the edges that were used to form this edge. This list is used to reconstruct the trees (or partial trees) that are associated with edge.
Returns
boolUndocumented
def inst_vars(self, edge): (source)

Undocumented

def instantiate_edge(self, edge): (source)

If the edge is a FeatureTreeEdge, and it is complete, then instantiate all variables whose names start with '@', by replacing them with unique new variables.

Note that instantiation is done in-place, since the parsing algorithms might already hold a reference to the edge for future use.

_instantiated = (source)

Undocumented