FreeLing  3.1
Public Member Functions | Protected Member Functions | Protected Attributes | Private Member Functions
freeling::rule_expression Class Reference

The class rule_expression is an abstract class (interface) for building dynamic restriction on a ruleLabeler which are used by class depLabeler. More...

#include <dep_rules.h>

Inheritance diagram for freeling::rule_expression:
Inheritance graph
[legend]

List of all members.

Public Member Functions

 rule_expression ()
 Constructor.
 rule_expression (const std::wstring &, const std::wstring &)
virtual ~rule_expression ()
bool find (const std::wstring &) const
 Search for a value in the list of an expression.
bool find_match (const std::wstring &) const
 Search for a value in the list of an expression, taking into account wildcards.
bool match (const std::wstring &) const
 Match the value against a RegExp.
bool find_any (const std::list< std::wstring > &) const
 Search for any value of a list in the list of an expression.
bool find_any_match (const std::list< std::wstring > &) const
 Search for any value of a list in the list of an expression, taking into account wildcards.
virtual bool check (dep_tree::iterator, dep_tree::iterator) const
 Check wheter a rule_expression can be applied to the given pair of nodes.

Protected Member Functions

bool nodes_to_check (dep_tree::iterator, dep_tree::iterator, std::list< dep_tree::iterator > &) const
 Givent parent and daughter iterators, resolve which of them is to be checked in this condition.
virtual bool eval (dep_tree::iterator) const
 eval whether a single node matches a condition only called from check if needed.

Protected Attributes

std::wstring node
std::set< std::wstring > valueList

Private Member Functions

void parse_node_ref (std::wstring, dep_tree::iterator, std::list< dep_tree::iterator > &) const
 Recursive disassembly of node reference string (e.g.

Detailed Description

The class rule_expression is an abstract class (interface) for building dynamic restriction on a ruleLabeler which are used by class depLabeler.


Constructor & Destructor Documentation

Constructor.

freeling::rule_expression::rule_expression ( const std::wstring &  ,
const std::wstring &   
)
virtual freeling::rule_expression::~rule_expression ( ) [inline, virtual]

Member Function Documentation

bool freeling::rule_expression::check ( dep_tree::iterator  ancestor,
dep_tree::iterator  descendant 
) const [virtual]

Check wheter a rule_expression can be applied to the given pair of nodes.

Reimplemented in freeling::check_side, freeling::check_not, and freeling::check_and.

References eval(), nodes_to_check(), and TRACE.

Referenced by freeling::check_not::check(), and freeling::ruleLabeler::check().

bool freeling::rule_expression::eval ( dep_tree::iterator  n) const [protected, virtual]

eval whether a single node matches a condition only called from check if needed.

The abstract class version should never be reached.

Reimplemented in freeling::check_asynon, freeling::check_synon, freeling::check_semfile, freeling::check_tonto, freeling::check_wordclass, freeling::check_category, freeling::check_pos, and freeling::check_lemma.

Referenced by check().

bool freeling::rule_expression::find ( const std::wstring &  ) const

Search for a value in the list of an expression.

References valueList.

Referenced by freeling::depLabeler::build_expression(), freeling::check_lemma::eval(), freeling::check_semfile::eval(), and find_any().

bool freeling::rule_expression::find_any ( const std::list< std::wstring > &  ) const

Search for any value of a list in the list of an expression.

References find().

Referenced by freeling::check_tonto::eval(), freeling::check_synon::eval(), and freeling::check_asynon::eval().

bool freeling::rule_expression::find_any_match ( const std::list< std::wstring > &  ) const

Search for any value of a list in the list of an expression, taking into account wildcards.

References find_match().

bool freeling::rule_expression::find_match ( const std::wstring &  ) const

Search for a value in the list of an expression, taking into account wildcards.

References TRACE, and valueList.

Referenced by freeling::check_category::eval(), and find_any_match().

bool freeling::rule_expression::match ( const std::wstring &  ) const

Match the value against a RegExp.

References freeling::regexp::search(), set2wstring, and valueList.

Referenced by freeling::check_pos::eval().

Givent parent and daughter iterators, resolve which of them is to be checked in this condition.

References node, and parse_node_ref().

Referenced by check().

void freeling::rule_expression::parse_node_ref ( std::wstring  ,
dep_tree::iterator  ,
std::list< dep_tree::iterator > &   
) const [private]

Recursive disassembly of node reference string (e.g.

p:sn:sajd) to get the right iterator. When (if) found, add it to given list.

References TRACE.

Referenced by nodes_to_check().


Member Data Documentation

std::wstring freeling::rule_expression::node [protected]

Referenced by nodes_to_check().

std::set<std::wstring> freeling::rule_expression::valueList [protected]

The documentation for this class was generated from the following files: