| |
| |
|
|
| #include <boost/program_options.hpp> |
| #include <boost/program_options/options_description.hpp> |
| #include <boost/program_options/parsers.hpp> |
| #include <boost/program_options/variables_map.hpp> |
| #include <boost/iostreams/device/mapped_file.hpp> |
|
|
| #include <iostream> |
| #include <fstream> |
| #include <sstream> |
| #include <iomanip> |
| #include <vector> |
| #include <string> |
|
|
| #include <sys/types.h> |
| #include <sys/wait.h> |
|
|
| #include "ug_conll_record.h" |
| #include "tpt_tokenindex.h" |
| #include "ug_mm_ttrack.h" |
| #include "tpt_pickler.h" |
| #include "ug_deptree.h" |
| #include "moses/TranslationModel/UG/generic/sorting/VectorIndexSorter.h" |
| #include "ug_im_ttrack.h" |
| #include "ug_bitext.h" |
|
|
| using namespace std; |
| using namespace ugdiss; |
| using namespace Moses; |
| using namespace boost; |
| using namespace Moses::bitext; |
| namespace po=boost::program_options; |
|
|
| typedef L2R_Token<SimpleWordId> L2R; |
|
|
| int main() |
| { |
| SPTR<imBitext<L2R> > bt(new imBitext<L2R>()); |
| string s1,s2,aln; |
| vector<string> S1,S2,ALN; |
| while (getline(cin,s1) && getline(cin,s2) && getline(cin,aln)) |
| { |
| S1.push_back(s1); |
| S2.push_back(s2); |
| ALN.push_back(aln); |
| } |
| bt = bt->add(S1,S2,ALN); |
|
|
| TSA<L2R>::tree_iterator m(bt->I2.get()); |
| m.down(); |
| do { |
| char const* p = m.lower_bound(-1); |
| tsa::ArrayEntry I(p); |
| do { |
| m.root->readEntry(I.next,I); |
| L2R const* stop = m.root->getCorpus()->sntEnd(I.sid); |
| for (L2R const* t = m.root->getCorpus()->getToken(I); t < stop; ++t) |
| cout << (*bt->V2)[t->id()] << " "; |
| cout << endl; |
| } while (I.next < m.upper_bound(-1)); |
| } while (m.over()); |
| } |
|
|