LIMA
Libre Multilingual Analyzer — C++ API
Loading...
Searching...
No Matches
State.h
Go to the documentation of this file.
1// Copyright 2002-2013 CEA LIST
2// SPDX-FileCopyrightText: 2022 CEA LIST <gael.de-chalendar@cea.fr>
3//
4// SPDX-License-Identifier: MIT
5
6// NAUTITIA
7//
8// jys 22-JUL-2002
9//
10// State is the recovery point for automatons. State is a
11// collection of Transition and eventually inner automatons.
12// Inner automatons are called once when state is entered at
13// first time. Inner automatons are called before checking
14// transition. Inner automatons can return a status which
15// ccan be used by transitions.
16
17#ifndef LIMA_LINGUISTICPROCESSING_FLATTOKENIZER_State_H
18#define LIMA_LINGUISTICPROCESSING_FLATTOKENIZER_State_H
19
20#include "FlatTokenizerExport.h"
21#include "Text.h"
22#include "Automaton.h"
23#include "ReturnStatus.h"
24// #include "linguisticProcessing/core/Tokenizer/ParseMarkup.h"
25
26namespace Lima
27{
28namespace LinguisticProcessing
29{
30namespace FlatTokenizer
31{
32
33
34class Transition;
35
37{
38
39public:
40 explicit State(const Lima::LimaString& name, Automaton& automaton);
41 virtual ~State();
42
43 // Run-Time. Returns true if a transition was founs open
44 const State* run(Text& text) const;
45
46 inline const LimaString& name() const {return m_name;}
47
48 inline std::list< Transition* >& transitions() {return m_transitions;}
49 inline const std::list< Transition* >& transitions() const {return m_transitions;}
50
51 inline const Automaton& automaton() const {return m_automaton;}
52
53protected:
54
55private:
56 Automaton& m_automaton;
57 std::list< Transition* > m_transitions;
58 LimaString m_name;
59};
60
61} //namespace FlatTokenizer
62} // namespace LinguisticProcessing
63} // namespace Lima
64
65#endif
#define LIMA_FLATTOKENIZER_EXPORT
const std::list< Transition * > & transitions() const
Definition State.h:49
std::list< Transition * > & transitions()
Definition State.h:48
const Automaton & automaton() const
Definition State.h:51
int run(int aargc, char **aargv)
Definition main.cpp:31
NAUTITIA.
QString LimaString
Definition LimaString.h:33