LIMA
Libre Multilingual Analyzer — C++ API
Loading...
Searching...
No Matches
dotGraphWriter.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
#ifndef LIMA_MORPHOLOGICANALYSIS_DOTGRAPHWRITER_H
7
#define LIMA_MORPHOLOGICANALYSIS_DOTGRAPHWRITER_H
8
9
#include "
PosTaggerExport.h
"
10
#include "
common/MediaProcessors/MediaProcessUnit.h
"
11
#include "
ngramMatrices.h
"
12
13
namespace
Lima
14
{
15
namespace
LinguisticProcessing
16
{
17
18
#define DOTGRAPHWRITER_CLASSID "DotGraphWriter"
19
20
class
LIMA_POSTAGGER_EXPORT
DotGraphWriter
:
public
MediaProcessUnit
21
{
22
23
public
:
24
DotGraphWriter
();
25
virtual
~DotGraphWriter
() =
default
;
26
27
void
init
(
28
Common::XMLConfigurationFiles::GroupConfigurationStructure
& unitConfiguration,
29
Manager
* manager)
override
;
30
31
LimaStatusCode
process(
AnalysisContent
& analysis)
const override
;
32
33
protected
:
34
35
std::string
m_outputSuffix
;
36
MediaId
m_language
;
37
std::shared_ptr<Lima::LinguisticProcessing::PosTagger::TrigramMatrix>
m_trigramMatrix
;
38
std::shared_ptr<Lima::LinguisticProcessing::PosTagger::BigramMatrix>
m_bigramMatrix
;
39
std::deque<std::string>
m_vertexDisplay
;
40
std::string
m_graphId
;
41
42
std::map<std::string,std::string>
m_graphDotOptions
;
43
std::map<std::string,std::string>
m_nodeDotOptions
;
44
std::map<std::string,std::string>
m_edgeDotOptions
;
45
46
};
47
48
struct
LIMA_POSTAGGER_EXPORT
LimaGraphGraphvizGraphWriter
49
{
50
LimaGraphGraphvizGraphWriter
(
51
const
std::map<std::string,std::string>& graphDotOptions,
52
const
std::map<std::string,std::string>& nodeDotOptions,
53
const
std::map<std::string,std::string>& edgeDotOptions):
54
m_graphDotOptions(graphDotOptions),
55
m_nodeDotOptions(nodeDotOptions),
56
m_edgeDotOptions(edgeDotOptions)
57
{
58
}
59
60
void
operator()
(std::ostream& out)
const
61
{
62
out <<
"graph ["
;
63
std::map<std::string,std::string>::const_iterator git, git_end;
64
git = m_graphDotOptions.begin(); git_end = m_graphDotOptions.end();
65
if
(git != git_end)
66
{
67
out << (*git).first <<
"="
<< (*git).second;
68
git++;
69
}
70
for
(; git != git_end; git++)
71
{
72
out <<
","
<< (*git).first <<
"="
<< (*git).second;
73
}
74
out <<
"]"
<< std::endl;
75
76
out <<
"node ["
;
77
std::map<std::string,std::string>::const_iterator nit, nit_end;
78
nit = m_nodeDotOptions.begin(); nit_end = m_nodeDotOptions.end();
79
if
(nit != nit_end)
80
{
81
out << (*nit).first <<
"="
<< (*nit).second;
82
nit++;
83
}
84
for
(; nit != nit_end; nit++)
85
{
86
out <<
","
<< (*nit).first <<
"="
<< (*nit).second;
87
}
88
out <<
"]"
<< std::endl;
89
90
out <<
"edge ["
;
91
std::map<std::string,std::string>::const_iterator eit, eit_end;
92
eit = m_edgeDotOptions.begin(); eit_end = m_edgeDotOptions.end();
93
if
(eit != eit_end)
94
{
95
out << (*eit).first <<
"="
<< (*eit).second;
96
eit++;
97
}
98
for
(; eit != eit_end; eit++)
99
{
100
out <<
","
<< (*eit).first <<
"="
<< (*eit).second;
101
}
102
out <<
"]"
<< std::endl;
103
}
104
105
private
:
106
const
std::map<std::string,std::string>& m_graphDotOptions;
107
const
std::map<std::string,std::string>& m_nodeDotOptions;
108
const
std::map<std::string,std::string>& m_edgeDotOptions;
109
110
};
111
112
}
// LinguisticProcessing
113
}
// Lima
114
115
#endif
MediaProcessUnit.h
PosTaggerExport.h
LIMA_POSTAGGER_EXPORT
#define LIMA_POSTAGGER_EXPORT
Definition
PosTaggerExport.h:30
Lima::AnalysisContent
Holds all data that pass through the ProcessUnits Analysis data are shared pointers,...
Definition
AnalysisContent.h:37
Lima::Common::XMLConfigurationFiles::GroupConfigurationStructure
Definition
groupConfigurationStructure.h:32
Lima::InitializableObjectManager
Manage initialization of InitializableObjects using configuration module and parameters.
Definition
InitializableObjectManager.h:32
Lima::LinguisticProcessing::DotGraphWriter
Definition
dotGraphWriter.h:21
Lima::LinguisticProcessing::DotGraphWriter::m_trigramMatrix
std::shared_ptr< Lima::LinguisticProcessing::PosTagger::TrigramMatrix > m_trigramMatrix
Definition
dotGraphWriter.h:37
Lima::LinguisticProcessing::DotGraphWriter::m_language
MediaId m_language
Definition
dotGraphWriter.h:36
Lima::LinguisticProcessing::DotGraphWriter::~DotGraphWriter
virtual ~DotGraphWriter()=default
Lima::LinguisticProcessing::DotGraphWriter::m_nodeDotOptions
std::map< std::string, std::string > m_nodeDotOptions
Definition
dotGraphWriter.h:43
Lima::LinguisticProcessing::DotGraphWriter::m_bigramMatrix
std::shared_ptr< Lima::LinguisticProcessing::PosTagger::BigramMatrix > m_bigramMatrix
Definition
dotGraphWriter.h:38
Lima::LinguisticProcessing::DotGraphWriter::m_edgeDotOptions
std::map< std::string, std::string > m_edgeDotOptions
Definition
dotGraphWriter.h:44
Lima::LinguisticProcessing::DotGraphWriter::m_graphId
std::string m_graphId
Definition
dotGraphWriter.h:40
Lima::LinguisticProcessing::DotGraphWriter::m_outputSuffix
std::string m_outputSuffix
Definition
dotGraphWriter.h:35
Lima::LinguisticProcessing::DotGraphWriter::m_graphDotOptions
std::map< std::string, std::string > m_graphDotOptions
Definition
dotGraphWriter.h:42
Lima::LinguisticProcessing::DotGraphWriter::init
void init(Common::XMLConfigurationFiles::GroupConfigurationStructure &unitConfiguration, Manager *manager) override
initialize with parameters from configuration file.
Lima::LinguisticProcessing::DotGraphWriter::m_vertexDisplay
std::deque< std::string > m_vertexDisplay
Definition
dotGraphWriter.h:39
Lima::MediaProcessUnit
Definition
MediaProcessUnit.h:33
Lima
NAUTITIA.
Definition
AmosePluginsManager.h:15
Lima::LimaStatusCode
LimaStatusCode
Definition
LimaCommon.h:236
ngramMatrices.h
Defines Bigrams and Trigrams matrices *.
Lima::LinguisticProcessing::LimaGraphGraphvizGraphWriter
Definition
dotGraphWriter.h:49
Lima::LinguisticProcessing::LimaGraphGraphvizGraphWriter::operator()
void operator()(std::ostream &out) const
Definition
dotGraphWriter.h:60
Lima::LinguisticProcessing::LimaGraphGraphvizGraphWriter::LimaGraphGraphvizGraphWriter
LimaGraphGraphvizGraphWriter(const std::map< std::string, std::string > &graphDotOptions, const std::map< std::string, std::string > &nodeDotOptions, const std::map< std::string, std::string > &edgeDotOptions)
Definition
dotGraphWriter.h:50
lima_linguisticprocessing
src
linguisticProcessing
core
PosTagger
dotGraphWriter.h
Generated by
1.9.8