The Txala dependency parser [ACM05] gets parsed sentences -that is, sentence objects which have been enriched with a parse_tree by the chart_parser (or by any other means).
class dep_txala : public dependency_parser {
public:
/// constructor
dep_txala(const std::string &, const std::string &);
/// analyze given sentence.
void analyze(sentence &) const;
/// analyze given sentences.
void analyze(std::list<sentence> &) const;
/// return analyzed copy of given sentence
sentence analyze(const sentence &) const;
/// return analyzed copy of given sentences
std::list<sentence> analyze(const std::list<sentence> &) const;
};
The constructor receives two strings: the name of the file containging the dependency rules to be used, and the start symbol of the grammar used by the chart_parser to parse the sentence.
The dependency parser works in three stages:
<GRPAR> rules are used to complete the shallow parsing
produced by the chart into a complete parsing tree. The rules are
applied to a pair of adjacent chunks. At each step, the selected
pair is fused in a single chunk. The process stops when only one chunk remains
<GRLAB> rules
The syntax and semantics of <GRPAR> and <GRLAB> rules are described in
section 3.21.1.