_symbol_table Struct Reference

The SymbolTable object. More...

#include <symtab.h>

Data Fields


Detailed Description

The SymbolTable object.

cqp-2.2 uses a global symbol table to store label references which gives erroneous results for queries that contain optional elements. A proper treatment of labels requires each of the simulations traversing the NFA in parallel to have its own symbol table. Since the actual symbols are the same for all states, it is more efficient to split the symbol tables into symbol lookup and the actual data. Each simulation has its own data array (which stores corpus positions), but symbol lookup is shared between all simulations and returns an _index_ into the data array. If a simulation branches -- which happens at the left edge of alternatives or optional elements -- the symbol data array must be duplicated.

A symbol table now contains multiple namespaces (accessed by flags such as LAB_RDAT


Field Documentation

next free reference table index

Referenced by labellookup(), new_reftab(), new_symbol_table(), and print_label_values().


The documentation for this struct was generated from the following file:

Generated on Sun Feb 28 18:08:04 2010 for CWB by  doxygen 1.6.1