CMiniLexicon::FindMajorSignatures(): use log file routines
[linguistica.git] / DCNcorpussyl.cpp
blob2581cfd8fb1d8e0e08ce6a6ad49382e22536d08b
1 // Syllabification using Dynamic Computational Networks
2 // Copyright © 2009 The University of Chicago
3 #include "DCNcorpussyl.h"
4 #include <Q3TextStream>
5 #include <QLabel>
7 //////////////////////////////////////////////////////////////////////
8 // Construction/Destruction
9 //////////////////////////////////////////////////////////////////////
11 corpussyl::corpussyl()
16 corpussyl::~corpussyl()
21 void corpussyl::readInput(QFile &file)
23 if ( file.open( QIODevice::ReadOnly ) )
25 Q3TextStream stream( &file );
26 QString line;
27 m_numOfWords = 0;
28 while ( !stream.atEnd() ) {
29 line = stream.readLine(); // line of text excluding '\n'
30 dcnword word;
31 word.setText(line.section('\t', 0, 0));
32 word.setMaxima(line.section('\t', 1, 1));
34 m_wordVector.push_back(word);
35 m_numOfWords++;
37 file.close();
41 void corpussyl::printCorpus(QLabel *label, grammarsyl *gram)
43 networksyl net;
44 net.setGrammar(gram);
46 QString corpus = gram->print() + "\n\n";
48 Q3ValueVector<dcnword>::const_iterator it = m_wordVector.begin();
49 Q3ValueVector<dcnword>::const_iterator end = m_wordVector.end();
51 while (it != end)
53 QString targText = it->getText();
54 QString targMaxima = it->getMaxima();
56 net.setWord(targText);
57 net.equilibrium();
58 QString expText = net.getSyllabifiedWord();
59 QString expMaxima = net.getMaxima();
60 corpus += targText + "\t" + targMaxima + "\t\t" + expText + "\t\t"
61 + expMaxima + "\n";
63 it++;
65 label->setText(corpus);
69 QString corpussyl::printCorpus(grammarsyl *gram)
71 networksyl net;
72 net.setGrammar(gram);
74 QString corpus;
76 Q3ValueVector<dcnword>::const_iterator it = m_wordVector.begin();
77 Q3ValueVector<dcnword>::const_iterator end = m_wordVector.end();
79 while (it != end)
81 QString targText = it->getText();
82 QString targMaxima = it->getMaxima();
84 net.setWord(targText);
85 net.equilibrium();
86 QString expText = net.getSyllabifiedWord();
87 QString expMaxima = net.getMaxima();
88 corpus += targText + "\t\t" + targMaxima + "\n" + expText + "\t\t"
89 + expMaxima + "\n\n";
91 it++;
93 return corpus;
96 dcnword corpussyl::wordAt(uint index) const
98 return m_wordVector.at(index);