Je te met
le code qui compile avec les mêmes variables
le fichier header de CChunker;
le .i
le code
la classe
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8 itStringPos = wsListPosNoun.begin(); while( itStringPos != wsListPosNoun.end()) { std::wstring wsPOS = *itStringPos; enPOS TempPOS = pPos->CPOS::GetPOSWithPOSLabel( wsPOS); ptListPosNoun->push_back( TempPOS); itStringPos++; }
le .i limitée à la classe CChunk
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36 class CChunker { private: std::list<enPOS>* ptListPosVerb; //Pos List for verb chunk type std::list<enPOS>* ptListPosNoun; //Pos List for noun chunk type std::list<enPOS>* ptListPosPostStopper; //Pos List for poststopper chunk type std::list<enPOS>* ptListPosPreStopper; //Pos List for prestopper chunk type std::list<enPOS>* ptListPosFunct; //Pos List for function chunk type std::list<std::wstring>* pListPosVerb; //Pos List for verb chunk type std::list<std::wstring>* pListPosNoun; //Pos List for noun chunk type std::list<std::wstring>* pListPostStopper; //Pos List for poststopper chunk type std::list<std::wstring>* pListPreStopper; //Pos List for prestopper chunk type std::list<std::wstring>* pListPosFunct; //Pos List for function chunk type std::list<std::wstring> m_wsListLemmaNonStopper;//Lemma Stopper list enum enCChunkerMethod { SPLIT_INTO_CHUNK =1, }; public: CChunker(); ~CChunker(); static enPOS TestPosType(CAnalysedWord *pWord); static erc SplitIntoChunk(CAnalysedSegment *pSegment, std::wstring id); // 1 2 3 4 5 6 7 8 static CAnalysedChunk* AnalyseCurrentVerbSyntagme( CLinguisticSegment * pLinguisticSegment, std::list<CAnalysedWord*>::iterator& itWord, CAnalysedChunk *pCurrentChunk, int& Step, enPOS& DrivingPos, bool bMarkOngoing, bool bPivotPending, std::list<CAnalysedWord*>::iterator& itEndWord); static CAnalysedChunk* AnalyseCurrentNounSyntagme( CLinguisticSegment * pLinguisticSegment, std::list<CAnalysedWord*>::iterator& itWord, CAnalysedChunk* pCurrentChunk, int & Step, enPOS & DrivingPos, bool bMarkOngoing, bool bPivotPending); static CAnalysedChunk* InitiateCurrentNounSyntagme( CLinguisticSegment * pLinguisticSegment, std::list<CAnalysedWord*>::iterator& itWord, CAnalysedChunk * pCurrentChunk, int& Step, enPOS& DrivingPos, bool bMarkOngoing, bool bPivotPending); static CAnalysedChunk* InitiateCurrentVerbSyntagme( CLinguisticSegment * pLinguisticSegment, std::list<CAnalysedWord*>::iterator& itWord, CAnalysedChunk* pCurrentChunk, int& Step, enPOS& DrivingPos, bool bMarkOngoing, bool bPivotPending); static bool IsSameChunkType(enChunkType TypeOfPreviousWord, CAnalysedWord *pWord); static enChunkType NewPosType(CAnalysedWord *pWord, CAnalysedWord *pNextWord); static CAnalysedWord* SetMark(std::wstring wsMark, enPOS POS, int len); void CaseNoun( enPOS Curpos, CAnalysedChunk* pCurrentChunk, CAnalysedWord* pWord, int &Step, enPOS &DivingPos); }; extern bool m_bOptionProblem; //To know if Option Mananger have done his work or not }; #endif /* CHUNKER_H */
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47 #line 1 "D:\\usr\\Specification LoaderV4.01\\dev\\Linguistic\\Analyser\\com\\Chunker.h" namespace SpecificationLoader { using namespace System; using namespace System::ComponentModel; using namespace System::Collections; using namespace System::Windows::Forms; using namespace System::Data; using namespace System::Drawing; using namespace System::IO; class CChunker { private: std::list<enPOS>* ptListPosVerb; std::list<enPOS>* ptListPosNoun; std::list<enPOS>* ptListPosPostStopper; std::list<enPOS>* ptListPosPreStopper; std::list<enPOS>* ptListPosFunct; std::list<std::wstring>* pListPosVerb; std::list<std::wstring>* pListPosNoun; std::list<std::wstring>* pListPostStopper; std::list<std::wstring>* pListPreStopper; std::list<std::wstring>* pListPosFunct; std::list<std::wstring> m_wsListLemmaNonStopper; enum enCChunkerMethod { SPLIT_INTO_CHUNK =1, }; public: CChunker(); ~CChunker(); static enPOS TestPosType(CAnalysedWord *pWord); static unsigned long long SplitIntoChunk(CAnalysedSegment *pSegment, std::wstring id); static CAnalysedChunk* AnalyseCurrentVerbSyntagme( CLinguisticSegment * pLinguisticSegment, std::list<CAnalysedWord*>::iterator& itWord, CAnalysedChunk *pCurrentChunk, int& Step, enPOS& DrivingPos, bool bMarkOngoing, bool bPivotPending, std::list<CAnalysedWord*>::iterator& itEndWord); static CAnalysedChunk* AnalyseCurrentNounSyntagme( CLinguisticSegment * pLinguisticSegment, std::list<CAnalysedWord*>::iterator& itWord, CAnalysedChunk* pCurrentChunk, int & Step, enPOS & DrivingPos, bool bMarkOngoing, bool bPivotPending); static CAnalysedChunk* InitiateCurrentNounSyntagme( CLinguisticSegment * pLinguisticSegment, std::list<CAnalysedWord*>::iterator& itWord, CAnalysedChunk * pCurrentChunk, int& Step, enPOS& DrivingPos, bool bMarkOngoing, bool bPivotPending); static CAnalysedChunk* InitiateCurrentVerbSyntagme( CLinguisticSegment * pLinguisticSegment, std::list<CAnalysedWord*>::iterator& itWord, CAnalysedChunk* pCurrentChunk, int& Step, enPOS& DrivingPos, bool bMarkOngoing, bool bPivotPending); static bool IsSameChunkType(enChunkType TypeOfPreviousWord, CAnalysedWord *pWord); static enChunkType NewPosType(CAnalysedWord *pWord, CAnalysedWord *pNextWord); static CAnalysedWord* SetMark(std::wstring wsMark, enPOS POS, int len); void CaseNoun( enPOS Curpos, CAnalysedChunk* pCurrentChunk, CAnalysedWord* pWord, int &Step, enPOS &DivingPos); }; extern bool m_bOptionProblem; };
Partager