LIMA
Libre Multilingual Analyzer — C++ API
Loading...
Searching...
No Matches
Lima::LinguisticProcessing::Automaton::Constraint Class Reference

#include <linguisticProcessing/core/Automaton/constraint.h>

Public Member Functions

 Constraint ()
 
 Constraint (const uint64_t i, const std::string &functionName, const ConstraintAction a, MediaId language, const LimaString &complement=LimaString(), const bool negative=false)
 
 Constraint (const Constraint &)
 
 ~Constraint ()
 
Constraint & operator= (const Constraint &)
 
void reinit ()
 
uint64_t index () const
 
ConstraintFunction * functionAddr () const
 
std::string functionName () const
 
ConstraintAction action () const
 
LimaString str () const
 
void setIndex (const uint64_t)
 
void setFunctionAddr (ConstraintFunction *f)
 
void setAction (const ConstraintAction)
 
bool checkConstraint (const LinguisticAnalysisStructure::AnalysisGraph &graph, const LinguisticGraphVertex &vertex, AnalysisContent &analysis, ConstraintCheckList &constraintCheckList) const
 check a constraint
 
bool apply (const LinguisticAnalysisStructure::AnalysisGraph &graph, AnalysisContent &analysis, ConstraintCheckList &constraintCheckList, const bool success, RecognizerMatch *result) const
 apply an action (only for EXECUTE type of action)
 

Static Public Attributes

static const uint64_t noindex =UINT_MAX
 

Friends

class AutomatonReader
 
class AutomatonWriter
 
LIMA_AUTOMATON_EXPORT std::ostream & operator<< (std::ostream &, const Constraint &)
 
LIMA_AUTOMATON_EXPORT QDebug & operator<< (QDebug &, const Constraint &)
 
bool operator== (const Constraint &, const Constraint &)
 

Detailed Description

Definition at line 37 of file constraint.h.

Constructor & Destructor Documentation

◆ Constraint() [1/3]

Lima::LinguisticProcessing::Automaton::Constraint::Constraint ( )

Definition at line 42 of file constraint.cpp.

◆ Constraint() [2/3]

Lima::LinguisticProcessing::Automaton::Constraint::Constraint ( const uint64_t  i,
const std::string &  functionName,
const ConstraintAction  a,
MediaId  language,
const LimaString &  complement = LimaString(),
const bool  negative = false 
)

Definition at line 50 of file constraint.cpp.

◆ Constraint() [3/3]

Lima::LinguisticProcessing::Automaton::Constraint::Constraint ( const Constraint &  c)

Definition at line 65 of file constraint.cpp.

◆ ~Constraint()

Lima::LinguisticProcessing::Automaton::Constraint::~Constraint ( )

Definition at line 76 of file constraint.cpp.

Member Function Documentation

◆ action()

ConstraintAction Lima::LinguisticProcessing::Automaton::Constraint::action ( ) const
inline

Definition at line 129 of file constraint.h.

◆ apply()

bool Lima::LinguisticProcessing::Automaton::Constraint::apply ( const LinguisticAnalysisStructure::AnalysisGraph &  graph,
AnalysisContent &  analysis,
ConstraintCheckList &  constraintCheckList,
const bool  success,
RecognizerMatch *  result 
) const

apply an action (only for EXECUTE type of action)

Parameters
graphthe graph
analysisthe current result of the analysis (may be modified)
constraintCheckListthe current constraint checklist
successa boolean indicating if the rule succeeded or not (action is conditionned by that)
resultthe expression recognized by the rule, if found (actions are applied after end of rule)
Returns

Definition at line 212 of file constraint.cpp.

◆ checkConstraint()

bool Lima::LinguisticProcessing::Automaton::Constraint::checkConstraint ( const LinguisticAnalysisStructure::AnalysisGraph &  graph,
const LinguisticGraphVertex &  vertex,
AnalysisContent &  analysis,
ConstraintCheckList &  constraintCheckList 
) const

check a constraint

Parameters
graphthe graph of the analysis
vertexthe current vertex
analysisthe current result of the analysis (may be modified)
constraintCheckListthe constraint checklist
Returns

Definition at line 119 of file constraint.cpp.

◆ functionAddr()

ConstraintFunction * Lima::LinguisticProcessing::Automaton::Constraint::functionAddr ( ) const
inline

Definition at line 133 of file constraint.h.

◆ functionName()

std::string Lima::LinguisticProcessing::Automaton::Constraint::functionName ( ) const

Definition at line 98 of file constraint.cpp.

◆ index()

uint64_t Lima::LinguisticProcessing::Automaton::Constraint::index ( ) const
inline

Definition at line 128 of file constraint.h.

◆ operator=()

Constraint & Lima::LinguisticProcessing::Automaton::Constraint::operator= ( const Constraint &  c)

Definition at line 88 of file constraint.cpp.

◆ reinit()

void Lima::LinguisticProcessing::Automaton::Constraint::reinit ( )

Definition at line 78 of file constraint.cpp.

◆ setAction()

void Lima::LinguisticProcessing::Automaton::Constraint::setAction ( const ConstraintAction  a)
inline

Definition at line 131 of file constraint.h.

◆ setFunctionAddr()

void Lima::LinguisticProcessing::Automaton::Constraint::setFunctionAddr ( ConstraintFunction *  f)
inline

Definition at line 136 of file constraint.h.

◆ setIndex()

void Lima::LinguisticProcessing::Automaton::Constraint::setIndex ( const uint64_t  i)
inline

Definition at line 130 of file constraint.h.

◆ str()

LimaString Lima::LinguisticProcessing::Automaton::Constraint::str ( ) const

Definition at line 315 of file constraint.cpp.

Friends And Related Symbol Documentation

◆ AutomatonReader

friend class AutomatonReader
friend

Definition at line 39 of file constraint.h.

◆ AutomatonWriter

friend class AutomatonWriter
friend

Definition at line 40 of file constraint.h.

◆ operator<< [1/2]

LIMA_AUTOMATON_EXPORT QDebug & operator<< ( QDebug &  os,
const Constraint &  c 
)
friend

Definition at line 457 of file constraint.cpp.

◆ operator<< [2/2]

LIMA_AUTOMATON_EXPORT std::ostream & operator<< ( std::ostream &  os,
const Constraint &  c 
)
friend

Definition at line 422 of file constraint.cpp.

◆ operator==

bool operator== ( const Constraint &  c1,
const Constraint &  c2 
)
friend

Definition at line 304 of file constraint.cpp.

Member Data Documentation

◆ noindex

const uint64_t Lima::LinguisticProcessing::Automaton::Constraint::noindex =UINT_MAX
static

Definition at line 58 of file constraint.h.


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