From b0e0546dd901983f2cda726656e3855f5da298c5 Mon Sep 17 00:00:00 2001 From: bhaddow Date: Fri, 16 Dec 2011 17:00:13 +0000 Subject: [PATCH 01/32] Add option to lowercase input --- scripts/generic/multi-bleu.perl | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/scripts/generic/multi-bleu.perl b/scripts/generic/multi-bleu.perl index a24cd2cc7..06f01acff 100755 --- a/scripts/generic/multi-bleu.perl +++ b/scripts/generic/multi-bleu.perl @@ -3,9 +3,15 @@ # $Id$ use strict; +my $lowercase = 0; +if ($ARGV[0] eq "-lc") { + $lowercase = 1; + shift; +} + my $stem = $ARGV[0]; if (!defined $stem) { - print STDERR "usage: multi-bleu.pl reference < hypothesis\n"; + print STDERR "usage: multi-bleu.pl [-lc] reference < hypothesis\n"; print STDERR "Reads the references from reference or reference0, reference1, ...\n"; exit(1); } @@ -35,12 +41,14 @@ my(@CORRECT,@TOTAL,$length_translation,$length_reference); my $s=0; while() { chop; + $_ = lc if $lowercase; my @WORD = split; my %REF_NGRAM = (); my $length_translation_this_sentence = scalar(@WORD); my ($closest_diff,$closest_length) = (9999,9999); foreach my $reference (@{$REF[$s]}) { # print "$s $_ <=> $reference\n"; + $reference = lc($reference) if $lowercase; my @WORD = split(/ /,$reference); my $length = scalar(@WORD); my $diff = abs($length_translation_this_sentence-$length); From 6f2068bddc86badbe2762825f489543dca2b8a85 Mon Sep 17 00:00:00 2001 From: Barry Haddow Date: Mon, 19 Dec 2011 15:27:54 +0000 Subject: [PATCH 02/32] Fix handling of scientific notation --- scripts/ems/support/reuse-weights.perl | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/scripts/ems/support/reuse-weights.perl b/scripts/ems/support/reuse-weights.perl index bb8dc1b02..b51f23236 100755 --- a/scripts/ems/support/reuse-weights.perl +++ b/scripts/ems/support/reuse-weights.perl @@ -16,7 +16,7 @@ while() { if (/^\[weight\-(\S+)\]/) { $current_weight = $1; } - elsif ($current_weight && /^([\-\d\.]+)([Ee][+-]?[\d]+)?$/) { + elsif ($current_weight && /^(([\-\d\.]+)([Ee][+-]?[\d]+)?)$/) { push @{$WEIGHT{$current_weight}},$1; } elsif (/^\[/) { From 58265be9ca26841aa805d163c8c5af0a9de3d730 Mon Sep 17 00:00:00 2001 From: Hieu Hoang Date: Tue, 20 Dec 2011 16:44:45 +0700 Subject: [PATCH 03/32] move some functions to .hh file for easier integration with other products --- lm/ngram_query.cc | 97 ++++------------------------------------------- lm/ngram_query.hh | 91 ++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 99 insertions(+), 89 deletions(-) create mode 100644 lm/ngram_query.hh diff --git a/lm/ngram_query.cc b/lm/ngram_query.cc index 1b2cd5db3..19a63fb25 100644 --- a/lm/ngram_query.cc +++ b/lm/ngram_query.cc @@ -1,90 +1,9 @@ -#include "lm/enumerate_vocab.hh" -#include "lm/model.hh" +#include "lm/ngram_query.hh" -#include -#include -#include -#include - -#include -#if !defined(_WIN32) && !defined(_WIN64) -#include -#include -#endif - -#if !defined(_WIN32) && !defined(_WIN64) -float FloatSec(const struct timeval &tv) { - return static_cast(tv.tv_sec) + (static_cast(tv.tv_usec) / 1000000000.0); -} -#endif - -void PrintUsage(const char *message) { -#if !defined(_WIN32) && !defined(_WIN64) - struct rusage usage; - if (getrusage(RUSAGE_SELF, &usage)) { - perror("getrusage"); - return; - } - std::cerr << message; - std::cerr << "user\t" << FloatSec(usage.ru_utime) << "\nsys\t" << FloatSec(usage.ru_stime) << '\n'; - - // Linux doesn't set memory usage :-(. - std::ifstream status("/proc/self/status", std::ios::in); - std::string line; - while (getline(status, line)) { - if (!strncmp(line.c_str(), "VmRSS:\t", 7)) { - std::cerr << "rss " << (line.c_str() + 7) << '\n'; - break; - } - } -#endif -} - -template void Query(const Model &model, bool sentence_context) { - PrintUsage("Loading statistics:\n"); - typename Model::State state, out; - lm::FullScoreReturn ret; - std::string word; - - while (std::cin) { - state = sentence_context ? model.BeginSentenceState() : model.NullContextState(); - float total = 0.0; - bool got = false; - unsigned int oov = 0; - while (std::cin >> word) { - got = true; - lm::WordIndex vocab = model.GetVocabulary().Index(word); - if (vocab == 0) ++oov; - ret = model.FullScore(state, vocab, out); - total += ret.prob; - std::cout << word << '=' << vocab << ' ' << static_cast(ret.ngram_length) << ' ' << ret.prob << '\t'; - state = out; - char c; - while (true) { - c = std::cin.get(); - if (!std::cin) break; - if (c == '\n') break; - if (!isspace(c)) { - std::cin.unget(); - break; - } - } - if (c == '\n') break; - } - if (!got && !std::cin) break; - if (sentence_context) { - ret = model.FullScore(state, model.GetVocabulary().EndSentence(), out); - total += ret.prob; - std::cout << "=" << model.GetVocabulary().EndSentence() << ' ' << static_cast(ret.ngram_length) << ' ' << ret.prob << '\t'; - } - std::cout << "Total: " << total << " OOV: " << oov << '\n'; - } - PrintUsage("After queries:\n"); -} template void Query(const char *name) { lm::ngram::Config config; - Model model(name, config); + Model model(name, config, std::cin, std::cout); Query(model); } @@ -100,19 +19,19 @@ int main(int argc, char *argv[]) { if (lm::ngram::RecognizeBinary(argv[1], model_type)) { switch(model_type) { case lm::ngram::HASH_PROBING: - Query(argv[1], sentence_context); + Query(argv[1], sentence_context, std::cin, std::cout); break; case lm::ngram::TRIE_SORTED: - Query(argv[1], sentence_context); + Query(argv[1], sentence_context, std::cin, std::cout); break; case lm::ngram::QUANT_TRIE_SORTED: - Query(argv[1], sentence_context); + Query(argv[1], sentence_context, std::cin, std::cout); break; case lm::ngram::ARRAY_TRIE_SORTED: - Query(argv[1], sentence_context); + Query(argv[1], sentence_context, std::cin, std::cout); break; case lm::ngram::QUANT_ARRAY_TRIE_SORTED: - Query(argv[1], sentence_context); + Query(argv[1], sentence_context, std::cin, std::cout); break; case lm::ngram::HASH_SORTED: default: @@ -120,7 +39,7 @@ int main(int argc, char *argv[]) { abort(); } } else { - Query(argv[1], sentence_context); + Query(argv[1], sentence_context, std::cin, std::cout); } PrintUsage("Total time including destruction:\n"); diff --git a/lm/ngram_query.hh b/lm/ngram_query.hh new file mode 100644 index 000000000..6bf6ec48b --- /dev/null +++ b/lm/ngram_query.hh @@ -0,0 +1,91 @@ +#ifndef LM_NGRAM_QUERY__ +#define LM_NGRAM_QUERY__ + +#include "lm/enumerate_vocab.hh" +#include "lm/model.hh" + +#include +#include +#include +#include + +#include +#if !defined(_WIN32) && !defined(_WIN64) +#include +#include +#endif + +#if !defined(_WIN32) && !defined(_WIN64) +float FloatSec(const struct timeval &tv) { + return static_cast(tv.tv_sec) + (static_cast(tv.tv_usec) / 1000000000.0); +} +#endif + +void PrintUsage(const char *message) { +#if !defined(_WIN32) && !defined(_WIN64) + struct rusage usage; + if (getrusage(RUSAGE_SELF, &usage)) { + perror("getrusage"); + return; + } + std::cerr << message; + std::cerr << "user\t" << FloatSec(usage.ru_utime) << "\nsys\t" << FloatSec(usage.ru_stime) << '\n'; + + // Linux doesn't set memory usage :-(. + std::ifstream status("/proc/self/status", std::ios::in); + std::string line; + while (getline(status, line)) { + if (!strncmp(line.c_str(), "VmRSS:\t", 7)) { + std::cerr << "rss " << (line.c_str() + 7) << '\n'; + break; + } + } +#endif +} + +template void Query(const Model &model, bool sentence_context, std::istream &inStream, std::ostream &outStream) { + PrintUsage("Loading statistics:\n"); + typename Model::State state, out; + lm::FullScoreReturn ret; + std::string word; + + while (inStream) { + state = sentence_context ? model.BeginSentenceState() : model.NullContextState(); + float total = 0.0; + bool got = false; + unsigned int oov = 0; + while (inStream >> word) { + got = true; + lm::WordIndex vocab = model.GetVocabulary().Index(word); + if (vocab == 0) ++oov; + ret = model.FullScore(state, vocab, out); + total += ret.prob; + outStream << word << '=' << vocab << ' ' << static_cast(ret.ngram_length) << ' ' << ret.prob << '\t'; + state = out; + char c; + while (true) { + c = inStream.get(); + if (!inStream) break; + if (c == '\n') break; + if (!isspace(c)) { + inStream.unget(); + break; + } + } + if (c == '\n') break; + } + if (!got && !inStream) break; + if (sentence_context) { + ret = model.FullScore(state, model.GetVocabulary().EndSentence(), out); + total += ret.prob; + outStream << "=" << model.GetVocabulary().EndSentence() << ' ' << static_cast(ret.ngram_length) << ' ' << ret.prob << '\t'; + } + outStream << "Total: " << total << " OOV: " << oov << '\n'; + } + PrintUsage("After queries:\n"); +} + + +#endif // LM_NGRAM_QUERY__ + + From d6035a06129c777d2fc058877d1dbe75b3e468eb Mon Sep 17 00:00:00 2001 From: Philipp Koehn Date: Wed, 21 Dec 2011 01:04:11 +0000 Subject: [PATCH 04/32] first cimmit to github: enable parallel data preparation in ems --- scripts/ems/experiment.perl | 2 ++ 1 file changed, 2 insertions(+) diff --git a/scripts/ems/experiment.perl b/scripts/ems/experiment.perl index d3e37e31b..cf94e4160 100755 --- a/scripts/ems/experiment.perl +++ b/scripts/ems/experiment.perl @@ -1888,6 +1888,7 @@ sub get_training_setting { my $source_syntax = &get("GENERAL:input-parser"); my $target_syntax = &get("GENERAL:output-parser"); my $score_settings = &get("TRAINING:score-settings"); + my $parallel = &get("TRAINING:parallel"); my $xml = $source_syntax || $target_syntax; @@ -1909,6 +1910,7 @@ sub get_training_setting { $cmd .= "-source-syntax " if $source_syntax; $cmd .= "-glue-grammar " if $hierarchical; $cmd .= "-score-options '".$score_settings."' " if $score_settings; + $cmd .= "-parallel " if $parallel; # factored training if (&backoff_and_get("TRAINING:input-factors")) { From 3ab37ca321ae53b15729140443b518e41324f881 Mon Sep 17 00:00:00 2001 From: Kenneth Heafield Date: Tue, 20 Dec 2011 23:12:35 -0500 Subject: [PATCH 05/32] Attempt to fix Stephan Walter's bug report --- moses/src/LM/Ken.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/moses/src/LM/Ken.cpp b/moses/src/LM/Ken.cpp index 9aa4d2788..ec0f58a92 100644 --- a/moses/src/LM/Ken.cpp +++ b/moses/src/LM/Ken.cpp @@ -101,11 +101,11 @@ template class LanguageModelKen : public LanguageModel { lm::WordIndex *end = indices + m_ngram->Order() - 1; int position = hypo.GetCurrTargetWordsRange().GetEndPos(); for (; ; ++index, --position) { + if (index == end) return index; if (position == -1) { *index = m_ngram->GetVocabulary().BeginSentence(); return index + 1; } - if (index == end) return index; *index = TranslateID(hypo.GetWord(position)); } } From b95c372e3a254e3eee36112efa0c8d4a97cf5ada Mon Sep 17 00:00:00 2001 From: Philipp Koehn Date: Wed, 21 Dec 2011 04:26:27 +0000 Subject: [PATCH 06/32] updates to EMS: mteval-v13a.pl, parallel preparation, better paths and defaults in examples --- scripts/ems/example/config.basic | 66 +- scripts/ems/example/config.factored | 58 +- scripts/ems/example/config.hierarchical | 62 +- scripts/ems/example/config.syntax | 62 +- scripts/ems/example/config.toy | 62 +- scripts/ems/experiment.perl | 3 +- scripts/generic/mteval-v12.pl | 1 + scripts/generic/mteval-v13a.pl | 1168 +++++++++++++++++++++++ 8 files changed, 1373 insertions(+), 109 deletions(-) create mode 100755 scripts/generic/mteval-v13a.pl diff --git a/scripts/ems/example/config.basic b/scripts/ems/example/config.basic index fb8d62c74..407311eb8 100644 --- a/scripts/ems/example/config.basic +++ b/scripts/ems/example/config.basic @@ -18,25 +18,34 @@ pair-extension = fr-en # moses moses-src-dir = /home/pkoehn/moses # +# moses binaries +moses-bin-dir = $moses-src-dir/dist/bin +# # moses scripts -moses-script-dir = /home/pkoehn/moses/scripts +moses-script-dir = $moses-src-dir/scripts # # srilm srilm-dir = $moses-src-dir/srilm/bin/i686 # +# irstlm +irstlm-dir = $moses-src-dir/irstlm/bin +# +# randlm +randlm-dir = $moses-src-dir/randlm/bin +# # data wmt10-data = $working-dir/data ### basic tools # # moses decoder -decoder = $moses-src-dir/dist/bin/moses +decoder = $moses-bin-dir/moses # conversion of phrase table into binary on-disk format -ttable-binarizer = $moses-src-dir/dist/bin/processPhraseTable +ttable-binarizer = $moses-bin-dir/processPhraseTable # conversion of rule table into binary on-disk format -#ttable-binarizer = "$moses-src-dir/dist/bin/CreateOnDiskPt 1 1 5 100 2" +#ttable-binarizer = "$moses-bin-dir/CreateOnDiskPt 1 1 5 100 2" # tokenizers - comment out if all your data is already tokenized input-tokenizer = "$moses-script-dir/tokenizer/tokenizer.perl -a -l $input-extension" @@ -138,27 +147,21 @@ order = 5 # (default: no binarization) # irstlm -#lm-binarizer = $moses-src-dir/irstlm/bin/compile-lm +#lm-binarizer = $irstlm-dir/compile-lm # kenlm, also set type to 8 -#lm-binarizer = $moses-src-dir/dist/bin/build_binary -#type = 8 - -# -# if binarized, set type (default srilm; if binarized: irstlm) -# -# set to 8 when using kenlm -#type = 8 +lm-binarizer = $moses-bin-dir/build_binary +type = 8 ### script to create quantized language model format (irstlm) # (default: no quantization) # -#lm-quantizer = $moses-src-dir/irstlm/bin/quantize-lm +#lm-quantizer = $irstlm-dir/quantize-lm ### script to use for converting into randomized table format # (default: no randomization) # -#lm-randomizer = "$moses-src-dir/randlm/bin/buildlm -falsepos 8 -values 8" +#lm-randomizer = "$randlm-dir/buildlm -falsepos 8 -values 8" ### each language model to be used has its own section here @@ -219,21 +222,21 @@ tuning-sgm = $wmt10-data/dev/news-test2008-ref.$output-extension.sgm # (default: no binarization) # irstlm -#lm-binarizer = $moses-src-dir/irstlm/bin/compile-lm +#lm-binarizer = $irstlm-dir/compile-lm # kenlm, also set type to 8 -#lm-binarizer = $moses-src-dir/dist/bin/build_binary -#type = 8 +lm-binarizer = $moses-bin-dir/build_binary +type = 8 ### script to create quantized language model format (irstlm) # (default: no quantization) # -#lm-quantizer = $moses-src-dir/irstlm/bin/quantize-lm +#lm-quantizer = $irstlm-dir/quantize-lm ### script to use for converting into randomized table format # (default: no randomization) # -#lm-randomizer = "$moses-src-dir/randlm/bin/buildlm -falsepos 8 -values 8" +#lm-randomizer = "$randlm-dir/buildlm -falsepos 8 -values 8" ################################################################# # TRANSLATION MODEL TRAINING @@ -261,12 +264,18 @@ script = $moses-script-dir/training/train-model.perl #generation-factors = "word -> pos" #decoding-steps = "t0, g0" +### parallelization of data preparation step +# the two directions of the data preparation can be run in parallel +# comment out if not needed +# +parallel = yes + ### pre-computation for giza++ # giza++ has a more efficient data structure that needs to be # initialized with snt2cooc. if run in parallel, this may reduces # memory requirements. set here the number of parts # -run-giza-in-parts = 5 +#run-giza-in-parts = 5 ### symmetrization method to obtain word alignments from giza output # (commonly used: grow-diag-final-and) @@ -355,7 +364,7 @@ score-settings = "--GoodTuring" ### tuning script to be used # tuning-script = $moses-script-dir/training/mert-moses.pl -tuning-settings = "-mertdir $moses-src-dir/mert" +tuning-settings = "-mertdir $moses-bin-dir" ### specify the corpus used for tuning # it should contain 1000s of sentences @@ -394,14 +403,14 @@ decoder-settings = "" # and also point to a configuration file that contains # pointers to all relevant model files # -#config = +#config-with-reused-weights = ######################################################### ## RECASER: restore case, this part only trains the model [RECASING] -#decoder = $moses-src-dir/moses-cmd/src/moses.1521.srilm +#decoder = $moses-bin-dir/moses ### training data # raw input needs to be still tokenized, @@ -448,6 +457,11 @@ trainer = $moses-script-dir/recaser/train-truecaser.perl ### additional decoder settings # switches for the Moses decoder +# common choices: +# "-threads N" for multi-threading +# "-mbr" for MBR decoding +# "-drop-unknown" for dropping unknown source words +# "-search-algorithm 1 -cube-pruning-pop-limit 5000 -s 5000" for cube pruning # decoder-settings = "-search-algorithm 1 -cube-pruning-pop-limit 5000 -s 5000" @@ -470,8 +484,8 @@ wrapping-script = "$moses-script-dir/ems/support/wrap-xml.perl $output-extension ### BLEU # -nist-bleu = $moses-script-dir/generic/mteval-v12.pl -nist-bleu-c = "$moses-script-dir/generic/mteval-v12.pl -c" +nist-bleu = $moses-script-dir/generic/mteval-v13a.pl +nist-bleu-c = "$moses-script-dir/generic/mteval-v13a.pl -c" #multi-bleu = $moses-script-dir/generic/multi-bleu.perl #ibm-bleu = diff --git a/scripts/ems/example/config.factored b/scripts/ems/example/config.factored index 0fb072c66..a69bf7973 100644 --- a/scripts/ems/example/config.factored +++ b/scripts/ems/example/config.factored @@ -18,25 +18,34 @@ pair-extension = fr-en # moses moses-src-dir = /home/pkoehn/moses # +# moses binaries +moses-bin-dir = $moses-src-dir/dist/bin +# # moses scripts -moses-script-dir = /home/pkoehn/moses/scripts +moses-script-dir = $moses-src-dir/scripts # # srilm srilm-dir = $moses-src-dir/srilm/bin/i686 # +# irstlm +irstlm-dir = $moses-src-dir/irstlm/bin +# +# randlm +randlm-dir = $moses-src-dir/randlm/bin +# # data wmt10-data = $working-dir/data ### basic tools # # moses decoder -decoder = $moses-src-dir/dist/bin/moses +decoder = $moses-bin-dir/moses # conversion of phrase table into binary on-disk format -ttable-binarizer = $moses-src-dir/misc/processPhraseTable +ttable-binarizer = $moses-bin-dir/processPhraseTable # conversion of rule table into binary on-disk format -#ttable-binarizer = "$moses-src-dir/dist/bin/CreateOnDiskPt 1 1 5 100 2" +#ttable-binarizer = "$moses-bin-dir/CreateOnDiskPt 1 1 5 100 2" # tokenizers - comment out if all your data is already tokenized input-tokenizer = "$moses-script-dir/tokenizer/tokenizer.perl -a -l $input-extension" @@ -132,27 +141,27 @@ order = 5 ### tool to be used for training randomized language model from scratch # (more commonly, a SRILM is trained) # -#rlm-training = "$moses-src-dir/randlm/bin/buildlm -falsepos 8 -values 8" +#rlm-training = "$randlm-dir/buildlm -falsepos 8 -values 8" ### script to use for binary table format for irstlm or kenlm # (default: no binarization) # irstlm -#lm-binarizer = $moses-src-dir/irstlm/bin/compile-lm +#lm-binarizer = $irstlm-dir/compile-lm # kenlm, also set type to 8 -#lm-binarizer = $moses-src-dir/dist/bin/build_binary +#lm-binarizer = $moses-bin-dir/build_binary #type = 8 ### script to create quantized language model format (irstlm) # (default: no quantization) # -#lm-quantizer = $moses-src-dir/irstlm/bin/quantize-lm +#lm-quantizer = $irstlm-dir/quantize-lm ### script to use for converting into randomized table format # (default: no randomization) # -#lm-randomizer = "$moses-src-dir/randlm/bin/buildlm -falsepos 8 -values 8" +#lm-randomizer = "$randlm-dir/buildlm -falsepos 8 -values 8" ### each language model to be used has its own section here @@ -218,21 +227,21 @@ tuning-sgm = $wmt10-data/dev/news-test2008-ref.$output-extension.sgm # (default: no binarization) # irstlm -#lm-binarizer = $moses-src-dir/irstlm/bin/compile-lm +#lm-binarizer = $irstlm-dir/compile-lm # kenlm, also set type to 8 -#lm-binarizer = $moses-src-dir/dist/bin/build_binary +#lm-binarizer = $moses-bin-dir/build_binary #type = 8 ### script to create quantized language model format (irstlm) # (default: no quantization) # -#lm-quantizer = $moses-src-dir/irstlm/bin/quantize-lm +#lm-quantizer = $irstlm-dir/quantize-lm ### script to use for converting into randomized table format # (default: no randomization) # -#lm-randomizer = "$moses-src-dir/randlm/bin/buildlm -falsepos 8 -values 8" +#lm-randomizer = "$randlm-dir/buildlm -falsepos 8 -values 8" ################################################################# # FACTOR DEFINITION @@ -275,12 +284,18 @@ reordering-factors = "word -> word" #generation-factors = decoding-steps = "t0" +### parallelization of data preparation step +# the two directions of the data preparation can be run in parallel +# comment out if not needed +# +parallel = yes + ### pre-computation for giza++ # giza++ has a more efficient data structure that needs to be # initialized with snt2cooc. if run in parallel, this may reduces # memory requirements. set here the number of parts # -run-giza-in-parts = 5 +#run-giza-in-parts = 5 ### symmetrization method to obtain word alignments from giza output # (commonly used: grow-diag-final-and) @@ -354,7 +369,7 @@ score-settings = "--GoodTuring" # point to a configuration file that contains # pointers to all relevant model files # -#config = +#config-with-reused-weights = ##################################################### ### TUNING: finding good weights for model components @@ -369,7 +384,7 @@ score-settings = "--GoodTuring" ### tuning script to be used # tuning-script = $moses-script-dir/training/mert-moses.pl -tuning-settings = "-mertdir $moses-src-dir/mert" +tuning-settings = "-mertdir $moses-bin-dir" ### specify the corpus used for tuning # it should contain 1000s of sentences @@ -415,7 +430,7 @@ decoder-settings = "" [RECASING] -#decoder = $moses-src-dir/moses-cmd/src/moses.1521.srilm +#decoder = $moses-bin-dir/moses ### training data # raw input needs to be still tokenized, @@ -462,6 +477,11 @@ trainer = $moses-script-dir/recaser/train-truecaser.perl ### additional decoder settings # switches for the Moses decoder +# common choices: +# "-threads N" for multi-threading +# "-mbr" for MBR decoding +# "-drop-unknown" for dropping unknown source words +# "-search-algorithm 1 -cube-pruning-pop-limit 5000 -s 5000" for cube pruning # decoder-settings = "-search-algorithm 1 -cube-pruning-pop-limit 5000 -s 5000" @@ -484,8 +504,8 @@ wrapping-script = "$moses-script-dir/ems/support/wrap-xml.perl $output-extension ### BLEU # -nist-bleu = $moses-script-dir/generic/mteval-v12.pl -nist-bleu-c = "$moses-script-dir/generic/mteval-v12.pl -c" +nist-bleu = $moses-script-dir/generic/mteval-v13a.pl +nist-bleu-c = "$moses-script-dir/generic/mteval-v13a.pl -c" #multi-bleu = $moses-script-dir/generic/multi-bleu.perl #ibm-bleu = diff --git a/scripts/ems/example/config.hierarchical b/scripts/ems/example/config.hierarchical index 9284726c7..76a5d180a 100644 --- a/scripts/ems/example/config.hierarchical +++ b/scripts/ems/example/config.hierarchical @@ -18,25 +18,34 @@ pair-extension = fr-en # moses moses-src-dir = /home/pkoehn/moses # +# moses binaries +moses-bin-dir = $moses-src-dir/dist/bin +# # moses scripts -moses-script-dir = /home/pkoehn/moses/scripts +moses-script-dir = $moses-src-dir/scripts # # srilm srilm-dir = $moses-src-dir/srilm/bin/i686 # +# irstlm +irstlm-dir = $moses-src-dir/irstlm/bin +# +# randlm +randlm-dir = $moses-src-dir/randlm/bin +# # data wmt10-data = $working-dir/data ### basic tools # # moses decoder -decoder = $moses-src-dir/dist/bin/moses_chart +decoder = $moses-bin-dir/moses_chart # conversion of phrase table into binary on-disk format -#ttable-binarizer = $moses-src-dir/dist/bin/processPhraseTable +#ttable-binarizer = $moses-bin-dir/processPhraseTable # conversion of rule table into binary on-disk format -ttable-binarizer = "$moses-src-dir/dist/bin/CreateOnDiskPt 1 1 5 100 2" +ttable-binarizer = "$moses-bin-dir/CreateOnDiskPt 1 1 5 100 2" # tokenizers - comment out if all your data is already tokenized input-tokenizer = "$moses-script-dir/tokenizer/tokenizer.perl -a -l $input-extension" @@ -132,27 +141,27 @@ order = 5 ### tool to be used for training randomized language model from scratch # (more commonly, a SRILM is trained) # -#rlm-training = "$moses-src-dir/randlm/bin/buildlm -falsepos 8 -values 8" +#rlm-training = "$randlm-dir/buildlm -falsepos 8 -values 8" ### script to use for binary table format for irstlm or kenlm # (default: no binarization) # irstlm -#lm-binarizer = $moses-src-dir/irstlm/bin/compile-lm +#lm-binarizer = $irstlm-dir/compile-lm # kenlm, also set type to 8 -#lm-binarizer = $moses-src-dir/dist/bin/build_binary -#type = 8 +lm-binarizer = $moses-bin-dir/build_binary +type = 8 ### script to create quantized language model format (irstlm) # (default: no quantization) # -#lm-quantizer = $moses-src-dir/irstlm/bin/quantize-lm +#lm-quantizer = $irstlm-dir/quantize-lm ### script to use for converting into randomized table format # (default: no randomization) # -#lm-randomizer = "$moses-src-dir/randlm/bin/buildlm -falsepos 8 -values 8" +#lm-randomizer = "$randlm-dir/buildlm -falsepos 8 -values 8" ### each language model to be used has its own section here @@ -213,21 +222,21 @@ tuning-sgm = $wmt10-data/dev/news-test2008-ref.$output-extension.sgm # (default: no binarization) # irstlm -#lm-binarizer = $moses-src-dir/irstlm/bin/compile-lm +#lm-binarizer = $irstlm-dir/compile-lm # kenlm, also set type to 8 -#lm-binarizer = $moses-src-dir/dist/bin/build_binary -#type = 8 +lm-binarizer = $moses-bin-dir/build_binary +type = 8 ### script to create quantized language model format (irstlm) # (default: no quantization) # -#lm-quantizer = $moses-src-dir/irstlm/bin/quantize-lm +#lm-quantizer = $irstlm-dir/quantize-lm ### script to use for converting into randomized table format # (default: no randomization) # -#lm-randomizer = "$moses-src-dir/randlm/bin/buildlm -falsepos 8 -values 8" +#lm-randomizer = "$randlm-dir/buildlm -falsepos 8 -values 8" ################################################################# # TRANSLATION MODEL TRAINING @@ -255,12 +264,18 @@ script = $moses-script-dir/training/train-model.perl #generation-factors = "word -> pos" #decoding-steps = "t0, g0" +### parallelization of data preparation step +# the two directions of the data preparation can be run in parallel +# comment out if not needed +# +parallel = yes + ### pre-computation for giza++ # giza++ has a more efficient data structure that needs to be # initialized with snt2cooc. if run in parallel, this may reduces # memory requirements. set here the number of parts # -run-giza-in-parts = 5 +#run-giza-in-parts = 5 ### symmetrization method to obtain word alignments from giza output # (commonly used: grow-diag-final-and) @@ -334,7 +349,7 @@ score-settings = "--GoodTuring" # point to a configuration file that contains # pointers to all relevant model files # -#config = +#config-with-reused-weights = ##################################################### ### TUNING: finding good weights for model components @@ -349,7 +364,7 @@ score-settings = "--GoodTuring" ### tuning script to be used # tuning-script = $moses-script-dir/training/mert-moses.pl -tuning-settings = "-mertdir $moses-src-dir/mert" +tuning-settings = "-mertdir $moses-bin-dir" ### specify the corpus used for tuning # it should contain 1000s of sentences @@ -395,7 +410,7 @@ decoder-settings = "" [RECASING] -#decoder = $moses-src-dir/moses-cmd/src/moses.1521.srilm +#decoder = $moses-bin-dir/moses ### training data # raw input needs to be still tokenized, @@ -442,6 +457,11 @@ trainer = $moses-script-dir/recaser/train-truecaser.perl ### additional decoder settings # switches for the Moses decoder +# common choices: +# "-threads N" for multi-threading +# "-mbr" for MBR decoding +# "-drop-unknown" for dropping unknown source words +# "-search-algorithm 1 -cube-pruning-pop-limit 5000 -s 5000" for cube pruning # #decoder-settings = "" @@ -464,8 +484,8 @@ wrapping-script = "$moses-script-dir/ems/support/wrap-xml.perl $output-extension ### BLEU # -nist-bleu = $moses-script-dir/generic/mteval-v12.pl -nist-bleu-c = "$moses-script-dir/generic/mteval-v12.pl -c" +nist-bleu = $moses-script-dir/generic/mteval-v13a.pl +nist-bleu-c = "$moses-script-dir/generic/mteval-v13a.pl -c" #multi-bleu = $moses-script-dir/generic/multi-bleu.perl #ibm-bleu = diff --git a/scripts/ems/example/config.syntax b/scripts/ems/example/config.syntax index 085e210a5..a5ee56df8 100644 --- a/scripts/ems/example/config.syntax +++ b/scripts/ems/example/config.syntax @@ -18,25 +18,34 @@ pair-extension = fr-en # moses moses-src-dir = /home/pkoehn/moses # +# moses binaries +moses-bin-dir = $moses-src-dir/dist/bin +# # moses scripts -moses-script-dir = /home/pkoehn/moses/scripts +moses-script-dir = $moses-src-dir/scripts # # srilm srilm-dir = $moses-src-dir/srilm/bin/i686 # +# irstlm +irstlm-dir = $moses-src-dir/irstlm/bin +# +# randlm +randlm-dir = $moses-src-dir/randlm/bin +# # data wmt10-data = $working-dir/data ### basic tools # # moses decoder -decoder = $moses-src-dir/dist/bin/moses_chart +decoder = $moses-bin-dir/moses_chart # conversion of phrase table into binary on-disk format -#ttable-binarizer = $moses-src-dir/dist/bin/processPhraseTable +#ttable-binarizer = $moses-bin-dir/processPhraseTable # conversion of rule table into binary on-disk format -ttable-binarizer = "$moses-src-dir/dist/bin/CreateOnDiskPt 1 1 5 100 2" +ttable-binarizer = "$moses-bin-dir/CreateOnDiskPt 1 1 5 100 2" # tokenizers - comment out if all your data is already tokenized input-tokenizer = "$moses-script-dir/tokenizer/tokenizer.perl -a -l $input-extension" @@ -136,27 +145,27 @@ order = 5 ### tool to be used for training randomized language model from scratch # (more commonly, a SRILM is trained) # -#rlm-training = "$moses-src-dir/randlm/bin/buildlm -falsepos 8 -values 8" +#rlm-training = "$randlm-dir/buildlm -falsepos 8 -values 8" ### script to use for binary table format for irstlm or kenlm # (default: no binarization) # irstlm -#lm-binarizer = $moses-src-dir/irstlm/bin/compile-lm +#lm-binarizer = $irstlm-dir/compile-lm # kenlm, also set type to 8 -#lm-binarizer = $moses-src-dir/dist/bin/build_binary -#type = 8 +lm-binarizer = $moses-bin-dir/build_binary +type = 8 ### script to create quantized language model format (irstlm) # (default: no quantization) # -#lm-quantizer = $moses-src-dir/irstlm/bin/quantize-lm +#lm-quantizer = $irstlm-dir/quantize-lm ### script to use for converting into randomized table format # (default: no randomization) # -#lm-randomizer = "$moses-src-dir/randlm/bin/buildlm -falsepos 8 -values 8" +#lm-randomizer = "$randlm-dir/buildlm -falsepos 8 -values 8" ### each language model to be used has its own section here @@ -217,21 +226,21 @@ tuning-sgm = $wmt10-data/dev/news-test2008-ref.$output-extension.sgm # (default: no binarization) # irstlm -#lm-binarizer = $moses-src-dir/irstlm/bin/compile-lm +#lm-binarizer = $irstlm-dir/compile-lm # kenlm, also set type to 8 -#lm-binarizer = $moses-src-dir/dist/bin/build_binary -#type = 8 +lm-binarizer = $moses-bin-dir/build_binary +type = 8 ### script to create quantized language model format (irstlm) # (default: no quantization) # -#lm-quantizer = $moses-src-dir/irstlm/bin/quantize-lm +#lm-quantizer = $irstlm-dir/quantize-lm ### script to use for converting into randomized table format # (default: no randomization) # -#lm-randomizer = "$moses-src-dir/randlm/bin/buildlm -falsepos 8 -values 8" +#lm-randomizer = "$randlm-dir/buildlm -falsepos 8 -values 8" ################################################################# # TRANSLATION MODEL TRAINING @@ -259,12 +268,18 @@ script = $moses-script-dir/training/train-model.perl #generation-factors = "word -> pos" #decoding-steps = "t0, g0" +### parallelization of data preparation step +# the two directions of the data preparation can be run in parallel +# comment out if not needed +# +parallel = yes + ### pre-computation for giza++ # giza++ has a more efficient data structure that needs to be # initialized with snt2cooc. if run in parallel, this may reduces # memory requirements. set here the number of parts # -run-giza-in-parts = 5 +#run-giza-in-parts = 5 ### symmetrization method to obtain word alignments from giza output # (commonly used: grow-diag-final-and) @@ -338,7 +353,7 @@ score-settings = "--GoodTuring" # point to a configuration file that contains # pointers to all relevant model files # -#config = +#config-with-reused-weights = ##################################################### ### TUNING: finding good weights for model components @@ -353,7 +368,7 @@ score-settings = "--GoodTuring" ### tuning script to be used # tuning-script = $moses-script-dir/training/mert-moses.pl -tuning-settings = "-mertdir $moses-src-dir/mert" +tuning-settings = "-mertdir $moses-bin-dir" ### specify the corpus used for tuning # it should contain 1000s of sentences @@ -399,7 +414,7 @@ decoder-settings = "" [RECASING] -#decoder = $moses-src-dir/moses-cmd/src/moses.1521.srilm +#decoder = $moses-bin-dir/moses ### training data # raw input needs to be still tokenized, @@ -446,6 +461,11 @@ trainer = $moses-script-dir/recaser/train-truecaser.perl ### additional decoder settings # switches for the Moses decoder +# common choices: +# "-threads N" for multi-threading +# "-mbr" for MBR decoding +# "-drop-unknown" for dropping unknown source words +# "-search-algorithm 1 -cube-pruning-pop-limit 5000 -s 5000" for cube pruning # #decoder-settings = "" @@ -468,8 +488,8 @@ wrapping-script = "$moses-script-dir/ems/support/wrap-xml.perl $output-extension ### BLEU # -nist-bleu = $moses-script-dir/generic/mteval-v12.pl -nist-bleu-c = "$moses-script-dir/generic/mteval-v12.pl -c" +nist-bleu = $moses-script-dir/generic/mteval-v13a.pl +nist-bleu-c = "$moses-script-dir/generic/mteval-v13a.pl -c" #multi-bleu = $moses-script-dir/generic/multi-bleu.perl #ibm-bleu = diff --git a/scripts/ems/example/config.toy b/scripts/ems/example/config.toy index 59753a50e..78f208163 100644 --- a/scripts/ems/example/config.toy +++ b/scripts/ems/example/config.toy @@ -18,25 +18,34 @@ pair-extension = fr-en # moses moses-src-dir = /home/pkoehn/moses # +# moses binaries +moses-bin-dir = $moses-src-dir/dist/bin +# # moses scripts -moses-script-dir = /home/pkoehn/moses/scripts +moses-script-dir = $moses-src-dir/scripts # # srilm srilm-dir = $moses-src-dir/srilm/bin/i686 # +# irstlm +irstlm-dir = $moses-src-dir/irstlm/bin +# +# randlm +randlm-dir = $moses-src-dir/randlm/bin +# # data toy-data = $moses-script-dir/ems/example/data ### basic tools # # moses decoder -decoder = $moses-src-dir/dist/bin/moses +decoder = $moses-bin-dir/moses # conversion of phrase table into binary on-disk format -ttable-binarizer = $moses-src-dir/dist/bin/processPhraseTable +ttable-binarizer = $moses-bin-dir/processPhraseTable # conversion of rule table into binary on-disk format -#ttable-binarizer = "$moses-src-dir/dist/bin/CreateOnDiskPt 1 1 5 100 2" +#ttable-binarizer = "$moses-bin-dir/CreateOnDiskPt 1 1 5 100 2" # tokenizers - comment out if all your data is already tokenized input-tokenizer = "$moses-script-dir/tokenizer/tokenizer.perl -a -l $input-extension" @@ -126,27 +135,27 @@ order = 5 ### tool to be used for training randomized language model from scratch # (more commonly, a SRILM is trained) # -#rlm-training = "$moses-src-dir/randlm/bin/buildlm -falsepos 8 -values 8" +#rlm-training = "$randlm-dir/buildlm -falsepos 8 -values 8" ### script to use for binary table format for irstlm or kenlm # (default: no binarization) # irstlm -#lm-binarizer = $moses-src-dir/irstlm/bin/compile-lm +#lm-binarizer = $irstlm-dir/compile-lm # kenlm, also set type to 8 -#lm-binarizer = $moses-src-dir/dist/bin/build_binary -#type = 8 +lm-binarizer = $moses-bin-dir/build_binary +type = 8 ### script to create quantized language model format (irstlm) # (default: no quantization) # -#lm-quantizer = $moses-src-dir/irstlm/bin/quantize-lm +#lm-quantizer = $irstlm-dir/quantize-lm ### script to use for converting into randomized table format # (default: no randomization) # -#lm-randomizer = "$moses-src-dir/randlm/bin/buildlm -falsepos 8 -values 8" +#lm-randomizer = "$randlm-dir/buildlm -falsepos 8 -values 8" ### each language model to be used has its own section here @@ -197,21 +206,21 @@ raw-corpus = $toy-data/nc-5k.$output-extension # (default: no binarization) # irstlm -#lm-binarizer = $moses-src-dir/irstlm/bin/compile-lm +#lm-binarizer = $irstlm-dir/compile-lm # kenlm, also set type to 8 -#lm-binarizer = $moses-src-dir/dist/bin/build_binary -#type = 8 +lm-binarizer = $moses-bin-dir/build_binary +type = 8 ### script to create quantized language model format (irstlm) # (default: no quantization) # -#lm-quantizer = $moses-src-dir/irstlm/bin/quantize-lm +#lm-quantizer = $irstlm-dir/quantize-lm ### script to use for converting into randomized table format # (default: no randomization) # -#lm-randomizer = "$moses-src-dir/randlm/bin/buildlm -falsepos 8 -values 8" +#lm-randomizer = "$randlm-dir/buildlm -falsepos 8 -values 8" ################################################################# # TRANSLATION MODEL TRAINING @@ -239,12 +248,18 @@ script = $moses-script-dir/training/train-model.perl #generation-factors = "word -> pos" #decoding-steps = "t0, g0" +### parallelization of data preparation step +# the two directions of the data preparation can be run in parallel +# comment out if not needed +# +parallel = yes + ### pre-computation for giza++ # giza++ has a more efficient data structure that needs to be # initialized with snt2cooc. if run in parallel, this may reduces # memory requirements. set here the number of parts # -run-giza-in-parts = 5 +#run-giza-in-parts = 5 ### symmetrization method to obtain word alignments from giza output # (commonly used: grow-diag-final-and) @@ -318,7 +333,7 @@ score-settings = "--GoodTuring" # point to a configuration file that contains # pointers to all relevant model files # -#config = +#config-with-reused-weights = ##################################################### ### TUNING: finding good weights for model components @@ -333,7 +348,7 @@ weight-config = $toy-data/weight.ini ### tuning script to be used # tuning-script = $moses-script-dir/training/mert-moses.pl -tuning-settings = "-mertdir $moses-src-dir/mert" +tuning-settings = "-mertdir $moses-bin-dir" ### specify the corpus used for tuning # it should contain 1000s of sentences @@ -379,7 +394,7 @@ decoder-settings = "" [RECASING] -#decoder = $moses-src-dir/moses-cmd/src/moses.1521.srilm +#decoder = $moses-bin-dir/moses ### training data # raw input needs to be still tokenized, @@ -422,6 +437,11 @@ trainer = $moses-script-dir/recaser/train-truecaser.perl ### additional decoder settings # switches for the Moses decoder +# common choices: +# "-threads N" for multi-threading +# "-mbr" for MBR decoding +# "-drop-unknown" for dropping unknown source words +# "-search-algorithm 1 -cube-pruning-pop-limit 5000 -s 5000" for cube pruning # decoder-settings = "-search-algorithm 1 -cube-pruning-pop-limit 5000 -s 5000" @@ -444,8 +464,8 @@ wrapping-script = "$moses-script-dir/ems/support/wrap-xml.perl $output-extension ### BLEU # -nist-bleu = $moses-script-dir/generic/mteval-v12.pl -nist-bleu-c = "$moses-script-dir/generic/mteval-v12.pl -c" +nist-bleu = $moses-script-dir/generic/mteval-v13a.pl +nist-bleu-c = "$moses-script-dir/generic/mteval-v13a.pl -c" #multi-bleu = $moses-script-dir/generic/multi-bleu.perl #ibm-bleu = diff --git a/scripts/ems/experiment.perl b/scripts/ems/experiment.perl index cf94e4160..21327cc3e 100755 --- a/scripts/ems/experiment.perl +++ b/scripts/ems/experiment.perl @@ -1275,7 +1275,8 @@ sub check_if_crashed { foreach my $pattern (@{$ERROR{&defined_step_id($i)}}, 'error','killed','core dumped','can\'t read', 'no such file or directory','unknown option', - 'died at','exit code','permission denied') { + 'died at','exit code','permission denied', + "Can't locate") { if (/$pattern/i) { my $not_error = 0; if (defined($NOT_ERROR{&defined_step_id($i)})) { diff --git a/scripts/generic/mteval-v12.pl b/scripts/generic/mteval-v12.pl index 737dc5a0f..1010eabfd 100755 --- a/scripts/generic/mteval-v12.pl +++ b/scripts/generic/mteval-v12.pl @@ -553,6 +553,7 @@ sub bleu_score { my $score = 0; my $iscore = 0; my $len_score = min (0, 1-$shortest_ref_length/$tst_ngrams->[1]); + print "length ratio: ".($tst_ngrams->[1]/$shortest_ref_length)." ($tst_ngrams->[1]/$shortest_ref_length), penalty (log): $len_score\n"; for (my $j=1; $j<=$max_Ngram; $j++) { if ($matching_ngrams->[$j] == 0) { diff --git a/scripts/generic/mteval-v13a.pl b/scripts/generic/mteval-v13a.pl new file mode 100755 index 000000000..879212e6e --- /dev/null +++ b/scripts/generic/mteval-v13a.pl @@ -0,0 +1,1168 @@ +#!/usr/bin/perl + +use warnings; +use strict; +use utf8; +use Encode; +use XML::Twig; + +binmode STDOUT, ":utf8"; +binmode STDERR, ":utf8"; + + +################################# +# History: +# +# version 13a +# * modified the scoring functions to prevent division-by-zero errors when a system segment is empty +# * affected methods: 'bleu_score' and 'bleu_score_smoothing' +# +# version 13 +# * Uses a XML parser to read data (only when extension is .xml) +# * Smoothing of the segment-level BLEU scores, done by default +# * smoothing method similar to that of bleu-1.04.pl (IBM) +# * see comments above the 'bleu_score' method for more details on how the smoothing is computed +# * added a '--no-smoothing' option to simulate old scripts behavior +# * Introduction of the 'brevity-penalty' option, taking one of two values: +# * 'closest' (default) : act as IBM BLEU (taking the closest reference translation length) +# * in case two reference translations are at the same distance, will take the shortest one +# * for more details regarding how the BP is computed, see comments of the 'brevity_penalty_closest' function +# * 'shortest' : act as previous versions of the script (taking shortest reference translation length) +# * Introduction of the 'international-tokenization' option, boolean, disabled by default +# by default (when the option is not provided), uses 11b's tokenization function +# when option specified, uses v12's tokenization function +# * Introduction of a 'Metrics MATR output' flag (option '--metricsMATR') +# when used, creates three files for both BLEU score and NIST score: +# * BLEU-seg.scr and NIST-seg.scr: contain segment-level scores +# * BLEU-doc.scr and NIST-doc.scr: contain document-level scores +# * BLEU-sys.scr and NIST-sys.scr: contain system-level scores +# * SGML parsing +# * script will halt if source, reference and test files don't share the same setid attribute value (used for metricsMATR output) +# * correct segment IDs extracted from the files (was previously using an array, and using the index as a segID for output) +# * detailed output flag (-d) can now be used when running both BLEU and NIST +# +# version 12 +# * Text normalization changes: +# * convert entity references (only the entities declared in the DTD) +# * now uses unicode categories +# * tokenize punctuation unless followed AND preceded by digits +# * tokenize symbols +# * UTF-8 handling: +# * files are now read using utf8 mode +# * Added the '-e' command-line option to enclose non-ASCII characters between spaces +# +# version 11b -- text normalization modified: +# * take out the join digit line because it joins digits +# when it shouldn't have +# $norm_text =~ s/(\d)\s+(?=\d)/$1/g; #join digits +# +# version 11a -- corrected output of individual n-gram precision values +# +# version 11 -- bug fixes: +# * make filehandle operate in binary mode to prevent Perl from operating +# (by default in Red Hat 9) in UTF-8 +# * fix failure on joining digits +# version 10 -- updated output to include more details of n-gram scoring. +# Defaults to generate both NIST and BLEU scores. Use -b for BLEU +# only, use -n for NIST only +# +# version 09d -- bug fix (for BLEU scoring, ngrams were fixed at 4 +# being the max, regardless what was entered on the command line.) +# +# version 09c -- bug fix (During the calculation of ngram information, +# each ngram was being counted only once for each segment. This has +# been fixed so that each ngram is counted correctly in each segment.) +# +# version 09b -- text normalization modified: +# * option flag added to preserve upper case +# * non-ASCII characters left in place. +# +# version 09a -- text normalization modified: +# * " and & converted to "" and &, respectively +# * non-ASCII characters kept together (bug fix) +# +# version 09 -- modified to accommodate sgml tag and attribute +# names revised to conform to default SGML conventions. +# +# version 08 -- modifies the NIST metric in accordance with the +# findings on the 2001 Chinese-English dry run corpus. Also +# incorporates the BLEU metric as an option and supports the +# output of ngram detail. +# +# version 07 -- in response to the MT meeting on 28 Jan 2002 at ISI +# Keep strings of non-ASCII characters together as one word +# (rather than splitting them into one-character words). +# Change length penalty so that translations that are longer than +# the average reference translation are not penalized. +# +# version 06 +# Prevent divide-by-zero when a segment has no evaluation N-grams. +# Correct segment index for level 3 debug output. +# +# version 05 +# improve diagnostic error messages +# +# version 04 +# tag segments +# +# version 03 +# add detailed output option (intermediate document and segment scores) +# +# version 02 +# accommodation of modified sgml tags and attributes +# +# version 01 +# same as bleu version 15, but modified to provide formal score output. +# +# original IBM version +# Author: Kishore Papineni +# Date: 06/10/2001 +################################# + +###### +# Intro +my ($date, $time) = date_time_stamp(); +print "MT evaluation scorer began on $date at $time\n"; +print "command line: ", $0, " ", join(" ", @ARGV), "\n"; +my $usage = "\n\nUsage: $0 -r -s -t \n\n". + "Description: This Perl script evaluates MT system performance.\n". + "\n". + "Required arguments:\n". + " -r is a file containing the reference translations for\n". + " the documents to be evaluated.\n". + " -s is a file containing the source documents for which\n". + " translations are to be evaluated\n". + " -t is a file containing the translations to be evaluated\n". + "\n". + "Optional arguments:\n". + " -h prints this help message to STDOUT\n". + " -c preserves upper-case alphabetic characters\n". + " -b generate BLEU scores only\n". + " -n generate NIST scores only\n". + " -d detailed output flag:\n". + " 0 (default) for system-level score only\n". + " 1 to include document-level scores\n". + " 2 to include segment-level scores\n". + " 3 to include ngram-level scores\n". + " -e enclose non-ASCII characters between spaces\n". + " --brevity-penalty ( closest | shortest )\n" . + " closest (default) : acts as IBM BLEU (takes the closest reference translation length)\n" . + " shortest : acts as previous versions of the script (takes the shortest reference translation length)\n" . + " --international-tokenization\n" . + " when specified, uses Unicode-based (only) tokenization rules\n" . + " when not specified (default), uses default tokenization (some language-dependant rules)\n" . + " --metricsMATR : create three files for both BLEU scores and NIST scores:\n" . + " BLEU-seg.scr and NIST-seg.scr : segment-level scores\n" . + " BLEU-doc.scr and NIST-doc.scr : document-level scores\n" . + " BLEU-sys.scr and NIST-sys.scr : system-level scores\n" . + " --no-smoothing : disable smoothing on BLEU scores\n" . + "\n"; + +use vars qw ($opt_r $opt_s $opt_t $opt_d $opt_h $opt_b $opt_n $opt_c $opt_x $opt_e); +use Getopt::Long; +my $ref_file = ''; +my $src_file = ''; +my $tst_file = ''; +my $detail = 0; +my $help = ''; +my $preserve_case = ''; +my $split_non_ASCII = ''; +my $brevity_penalty = 'closest'; +my $international_tokenization; +my $metricsMATR_output = ''; +my $no_smoothing = ''; +our $opt_x = ''; +our $opt_b = ''; +our $opt_n = ''; +GetOptions( + 'r=s' => \$ref_file, + 's=s' => \$src_file, + 't=s' => \$tst_file, + 'd:i' => \$detail, + 'h|help' => \$help, + 'b', + 'n', + 'c' => \$preserve_case, + 'x:s', + 'e' => \$split_non_ASCII, + 'brevity-penalty:s' => \$brevity_penalty, + 'international-tokenization' => \$international_tokenization, + 'metricsMATR-output' => \$metricsMATR_output, + 'no-smoothing' => \$no_smoothing +); +die $usage if $help; + +die "Error in command line: ref_file not defined$usage" unless ( $ref_file ); +die "Error in command line: src_file not defined$usage" unless ( $src_file ); +die "Error in command line: tst_file not defined$usage" unless ( $tst_file ); +my $BLEU_BP; +if ( !( $brevity_penalty cmp 'closest' ) ) +{ + $BLEU_BP = \&brevity_penalty_closest; +} +elsif ( !( $brevity_penalty cmp 'shortest' ) ) +{ + $BLEU_BP = \&brevity_penalty_shortest; +} +else +{ + die "Incorrect value supplied for 'brevity_penalty'$usage"; +} +my $TOKENIZATION = \&tokenization; +$TOKENIZATION = \&tokenization_international if ( $international_tokenization ); + +my $BLEU_SCORE = \&bleu_score; +$BLEU_SCORE = \&bleu_score_nosmoothing if ( $no_smoothing ); + +my $max_Ngram = 9; + +my $METHOD = "BOTH"; +if ( $opt_b ) { $METHOD = "BLEU"; } +if ( $opt_n ) { $METHOD = "NIST"; } +my $method; + +###### +# Global variables +my ($src_lang, $tgt_lang, @tst_sys, @ref_sys); # evaluation parameters +my (%tst_data, %ref_data); # the data -- with structure: {system}{document}{segments} +my ($src_id, $ref_id, $tst_id); # unique identifiers for ref and tst translation sets +my %eval_docs; # document information for the evaluation data set +my %ngram_info; # the information obtained from (the last word in) the ngram + +###### +# Get source document ID's +($src_id) = get_source_info ($src_file); + +###### +# Get reference translations +($ref_id) = get_MT_data (\%ref_data, "RefSet", $ref_file); + +compute_ngram_info (); + +###### +# Get translations to evaluate +($tst_id) = get_MT_data (\%tst_data, "TstSet", $tst_file); + +###### +# Check data for completeness and correctness +check_MT_data (); + +###### +# +my %NISTmt; +my %NISTOverall; +my %BLEUmt; +my %BLEUOverall; + +###### +# Evaluate +print " Evaluation of $src_lang-to-$tgt_lang translation using:\n"; +my $cum_seg = 0; +foreach my $doc (sort keys %eval_docs) +{ + $cum_seg += scalar( keys( %{$eval_docs{$doc}{SEGS}} ) ); +} +print " src set \"$src_id\" (", scalar keys %eval_docs, " docs, $cum_seg segs)\n"; +print " ref set \"$ref_id\" (", scalar keys %ref_data, " refs)\n"; +print " tst set \"$tst_id\" (", scalar keys %tst_data, " systems)\n\n"; + +foreach my $sys (sort @tst_sys) +{ + for (my $n=1; $n<=$max_Ngram; $n++) + { + $NISTmt{$n}{$sys}{cum} = 0; + $NISTmt{$n}{$sys}{ind} = 0; + $BLEUmt{$n}{$sys}{cum} = 0; + $BLEUmt{$n}{$sys}{ind} = 0; + } + if ( ($METHOD eq "BOTH") || ($METHOD eq "NIST") ) + { + $method="NIST"; + score_system ($sys, \%NISTmt, \%NISTOverall); + } + if ( ($METHOD eq "BOTH") || ($METHOD eq "BLEU") ) + { + $method="BLEU"; + score_system ($sys, \%BLEUmt, \%BLEUOverall); + } +} + +###### +printout_report (); +if ( $metricsMATR_output ) +{ + outputMetricsMATR( 'NIST', %NISTOverall ) if ( ( $METHOD eq 'BOTH' ) || ( $METHOD eq 'NIST' ) ); + outputMetricsMATR( 'BLEU', %BLEUOverall ) if ( ( $METHOD eq 'BOTH' ) || ( $METHOD eq 'BLEU' ) ); +} + +($date, $time) = date_time_stamp(); +print "MT evaluation scorer ended on $date at $time\n"; + +exit 0; + +################################# + +sub get_source_info +{ + my ($file) = @_; + my ($name, $id, $src, $doc, $seg); + my ($data, $tag, $span); + + # Extension of the file determines the parser used: + # .xml : XML::Twig + # otherwise : simple SGML parsing functions + if ( $file =~ /\.xml$/i ) + { + my $twig = XML::Twig->new(); + $twig->parsefile( $file ); + my $root = $twig->root; + my $currentSet = $root->first_child( 'srcset' ); + die "Source XML file '$file' does not contain the 'srcset' element" if ( not $currentSet ); + $id = $currentSet->{ 'att' }->{ 'setid' } or die "No 'setid' attribute value in '$file'"; + $src = $currentSet->{ 'att' }->{ 'srclang' } or die "No srcset 'srclang' attribute value in '$file'"; + die "Not the same srclang attribute values across sets" unless ( not defined $src_lang or $src eq $src_lang ); + $src_lang = $src; + foreach my $currentDoc ( $currentSet->get_xpath( './/doc' ) ) + { + my $docID = $currentDoc->{ 'att' }->{ 'docid' } or die "No document 'docid' attribute value in '$file'"; + foreach my $currentSeg ( $currentDoc->get_xpath( './/seg' ) ) + { + my $segID = $currentSeg->{ 'att' }->{ 'id' } or die "No segment 'id' attribute value in '$file'"; + my $segData = $currentSeg->text; + ($eval_docs{$docID}{SEGS}{$segID}) = &{ $TOKENIZATION }( $segData ); + } + } + } + else + { + #read data from file + open (FILE, $file) or die "\nUnable to open translation data file '$file'", $usage; + binmode FILE, ":utf8"; + $data .= $_ while ; + close (FILE); + + #get source set info + die "\n\nFATAL INPUT ERROR: no 'src_set' tag in src_file '$file'\n\n" + unless ($tag, $span, $data) = extract_sgml_tag_and_span ("SrcSet", $data); + die "\n\nFATAL INPUT ERROR: no tag attribute '$name' in file '$file'\n\n" + unless ($id) = extract_sgml_tag_attribute ($name="SetID", $tag); + die "\n\nFATAL INPUT ERROR: no tag attribute '$name' in file '$file'\n\n" + unless ($src) = extract_sgml_tag_attribute ($name="SrcLang", $tag); + die "\n\nFATAL INPUT ERROR: $name ('$src') in file '$file' inconsistent\n" + ." with $name in previous input data ('$src_lang')\n\n" + unless (not defined $src_lang or $src eq $src_lang); + $src_lang = $src; + + #get doc info -- ID and # of segs + $data = $span; + while (($tag, $span, $data) = extract_sgml_tag_and_span ("Doc", $data)) + { + die "\n\nFATAL INPUT ERROR: no tag attribute '$name' in file '$file'\n\n" + unless ($doc) = extract_sgml_tag_attribute ($name="DocID", $tag); + die "\n\nFATAL INPUT ERROR: duplicate '$name' in file '$file'\n\n" + if defined $eval_docs{$doc}; + $span =~ s/[\s\n\r]+/ /g; # concatenate records + my $nseg=0, my $seg_data = $span; + while (($tag, $span, $seg_data) = extract_sgml_tag_and_span ("Seg", $seg_data)) + { + die "\n\nFATAL INPUT ERROR: no attribute '$name' in file '$file'\n\n" + unless ($seg) = extract_sgml_tag_attribute( $name='id', $tag ); + ($eval_docs{$doc}{SEGS}{$seg}) = &{ $TOKENIZATION }( $span ); + $nseg++; + } + die "\n\nFATAL INPUT ERROR: no segments in document '$doc' in file '$file'\n\n" + if $nseg == 0; + } + die "\n\nFATAL INPUT ERROR: no documents in file '$file'\n\n" + unless keys %eval_docs > 0; + } + return $id; +} + +################################# + +sub get_MT_data +{ + my ($docs, $set_tag, $file) = @_; + my ($name, $id, $src, $tgt, $sys, $doc, $seg); + my ($tag, $span, $data); + + # Extension of the file determines the parser used: + # .xml : XML::Twig + # otherwise : simple SGML parsing functions + if ( $file =~ /\.xml$/i ) + { + my $twig = XML::Twig->new(); + $twig->parsefile( $file ); + my $root = $twig->root; + foreach my $currentSet ( $root->get_xpath( 'refset' ), $root->get_xpath( 'tstset' ) ) + { + $id = $currentSet->{ 'att' }->{ 'setid' } or die "No 'setid' attribute value in '$file'"; + $src = $currentSet->{ 'att' }->{ 'srclang' } or die "No 'srclang' attribute value in '$file'"; + $tgt = $currentSet->{ 'att' }->{ 'trglang' } or die "No 'trglang' attribute value in '$file'"; + die "Not the same 'srclang' attribute value across sets" unless ( $src eq $src_lang ); + die "Not the same 'trglang' attribute value across sets" unless ( ( not defined $tgt_lang ) or ( $tgt = $tgt_lang ) ); + $tgt_lang = $tgt; + my $sys; + if ( $currentSet->name eq 'tstset' ) + { + $sys = $currentSet->{ 'att' }->{ 'sysid' } or die "No 'sysid' attribute value in '$file'"; + } + else + { + $sys = $currentSet->{ 'att' }->{ 'refid' } or die "No 'refid' attribute value in '$file'"; + } + foreach my $currentDoc ( $currentSet->get_xpath( './/doc' ) ) + { + my $docID = $currentDoc->{ 'att' }->{ 'docid' } or die "No document 'docid' attribute value in '$file'"; + $docs->{ $sys }{ $docID }{ FILE } = $file; + foreach my $currentSeg ( $currentDoc->get_xpath( './/seg' ) ) + { + my $segID = $currentSeg->{ 'att' }->{ 'id' } or die "No segment 'id' attribute value in '$file'"; + my $segData = $currentSeg->text; + ($docs->{$sys}{$docID}{SEGS}{$segID}) = &{ $TOKENIZATION }( $segData ); + } + } + } + } + else + { + #read data from file + open (FILE, $file) or die "\nUnable to open translation data file '$file'", $usage; + binmode FILE, ":utf8"; + $data .= $_ while ; + close (FILE); + + #get tag info + while (($tag, $span, $data) = extract_sgml_tag_and_span ($set_tag, $data)) + { + die "\n\nFATAL INPUT ERROR: no tag attribute '$name' in file '$file'\n\n" + unless ($id) = extract_sgml_tag_attribute ($name="SetID", $tag); + die "\n\nFATAL INPUT ERROR: no tag attribute '$name' in file '$file'\n\n" + unless ($src) = extract_sgml_tag_attribute ($name="SrcLang", $tag); + die "\n\nFATAL INPUT ERROR: $name ('$src') in file '$file' inconsistent\n" + ." with $name of source ('$src_lang')\n\n" + unless $src eq $src_lang; + die "\n\nFATAL INPUT ERROR: no tag attribute '$name' in file '$file'\n\n" + unless ($tgt) = extract_sgml_tag_attribute ($name="TrgLang", $tag); + die "\n\nFATAL INPUT ERROR: $name ('$tgt') in file '$file' inconsistent\n" + ." with $name of the evaluation ('$tgt_lang')\n\n" + unless (not defined $tgt_lang or $tgt eq $tgt_lang); + $tgt_lang = $tgt; + + my $mtdata = $span; + while (($tag, $span, $mtdata) = extract_sgml_tag_and_span ("Doc", $mtdata)) + { + die "\n\nFATAL INPUT ERROR: no tag attribute '$name' in file '$file'\n\n" + unless (my $sys) = extract_sgml_tag_attribute ($name="SysID", $tag); + die "\n\nFATAL INPUT ERROR: no tag attribute '$name' in file '$file'\n\n" + unless $doc = extract_sgml_tag_attribute ($name="DocID", $tag); + die "\n\nFATAL INPUT ERROR: document '$doc' for system '$sys' in file '$file'\n" + ." previously loaded from file '$docs->{$sys}{$doc}{FILE}'\n\n" + unless (not defined $docs->{$sys}{$doc}); + + $span =~ s/[\s\n\r]+/ /g; # concatenate records + my $nseg=0, my $seg_data = $span; + while (($tag, $span, $seg_data) = extract_sgml_tag_and_span ("Seg", $seg_data)) + { + die "\n\nFATAIL INPUT ERROR: no tag attribute '$name' in file '$file'\n\n" + unless $seg = extract_sgml_tag_attribute( $name="id", $tag ); + ($docs->{$sys}{$doc}{SEGS}{$seg}) = &{ $TOKENIZATION }( $span ); + $nseg++; + } + die "\n\nFATAL INPUT ERROR: no segments in document '$doc' in file '$file'\n\n" if $nseg == 0; + $docs->{$sys}{$doc}{FILE} = $file; + } + } + } + return $id; +} + +################################# + +sub check_MT_data +{ + @tst_sys = sort keys %tst_data; + @ref_sys = sort keys %ref_data; + + die "Not the same 'setid' attribute values across files" unless ( ( $src_id eq $tst_id ) && ( $src_id eq $ref_id ) ); + +#every evaluation document must be represented for every system and every reference + foreach my $doc (sort keys %eval_docs) + { + my $nseg_source = scalar( keys( %{$eval_docs{$doc}{SEGS}} ) ); + foreach my $sys (@tst_sys) + { + die "\n\nFATAL ERROR: no document '$doc' for system '$sys'\n\n" unless defined $tst_data{$sys}{$doc}; + my $nseg = scalar( keys( %{$tst_data{$sys}{$doc}{SEGS}} ) ); + die "\n\nFATAL ERROR: translated documents must contain the same # of segments as the source, but\n" + ." document '$doc' for system '$sys' contains $nseg segments, while\n" + ." the source document contains $nseg_source segments.\n\n" + unless $nseg == $nseg_source; + } + foreach my $sys (@ref_sys) + { + die "\n\nFATAL ERROR: no document '$doc' for reference '$sys'\n\n" unless defined $ref_data{$sys}{$doc}; + my $nseg = scalar( keys( %{$ref_data{$sys}{$doc}{SEGS}} ) ); + die "\n\nFATAL ERROR: translated documents must contain the same # of segments as the source, but\n" + ." document '$doc' for system '$sys' contains $nseg segments, while\n" + ." the source document contains $nseg_source segments.\n\n" + unless $nseg == $nseg_source; + } + } +} + +################################# + +sub compute_ngram_info +{ + my ($ref, $doc, $seg); + my (@wrds, $tot_wrds, %ngrams, $ngram, $mgram); + my (%ngram_count, @tot_ngrams); + + foreach $ref (keys %ref_data) + { + foreach $doc (keys %{$ref_data{$ref}}) + { + foreach $seg ( keys %{$ref_data{$ref}{$doc}{SEGS}}) + { + @wrds = split /\s+/, $ref_data{ $ref }{ $doc }{ SEGS }{ $seg }; + $tot_wrds += @wrds; + %ngrams = %{Words2Ngrams (@wrds)}; + foreach $ngram (keys %ngrams) + { + $ngram_count{$ngram} += $ngrams{$ngram}; + } + } + } + } + + foreach $ngram (keys %ngram_count) + { + @wrds = split / /, $ngram; + pop @wrds, $mgram = join " ", @wrds; + $ngram_info{$ngram} = - log ($mgram ? $ngram_count{$ngram}/$ngram_count{$mgram} : $ngram_count{$ngram}/$tot_wrds) / log 2; + if (defined $opt_x and $opt_x eq "ngram info") + { + @wrds = split / /, $ngram; + printf "ngram info:%9.4f%6d%6d%8d%3d %s\n", $ngram_info{$ngram}, $ngram_count{$ngram}, + $mgram ? $ngram_count{$mgram} : $tot_wrds, $tot_wrds, scalar @wrds, $ngram; + } + } +} + +################################# + +sub score_system +{ + my ($sys, $ref, $doc, $SCOREmt, $overallScore); + ($sys, $SCOREmt, $overallScore) = @_; + my ($ref_length, $match_cnt, $tst_cnt, $ref_cnt, $tst_info, $ref_info); + my ($cum_ref_length, @cum_match, @cum_tst_cnt, @cum_ref_cnt, @cum_tst_info, @cum_ref_info); + + $cum_ref_length = 0; + for (my $j=1; $j<=$max_Ngram; $j++) + { + $cum_match[$j] = $cum_tst_cnt[$j] = $cum_ref_cnt[$j] = $cum_tst_info[$j] = $cum_ref_info[$j] = 0; + } + foreach $doc (sort keys %eval_docs) + { + ($ref_length, $match_cnt, $tst_cnt, $ref_cnt, $tst_info, $ref_info) = score_document ($sys, $doc, $overallScore); + if ( $method eq "NIST" ) + { + my %DOCmt = (); + my $docScore = nist_score( scalar( @ref_sys ), $match_cnt, $tst_cnt, $ref_cnt, $tst_info, $ref_info, $sys, \%DOCmt ); + $overallScore->{ $sys }{ 'documents' }{ $doc }{ 'score' } = $docScore; + if ( $detail >= 1 ) + { + printf "$method score using 5-grams = %.4f for system \"$sys\" on document \"$doc\" (%d segments, %d words)\n", + $docScore, scalar keys %{$tst_data{$sys}{$doc}{SEGS}}, $tst_cnt->[1]; + } + } + + if ( $method eq "BLEU" ) + { + my %DOCmt = (); + my $docScore = &{$BLEU_SCORE}( $ref_length, $match_cnt, $tst_cnt, $sys, \%DOCmt ); + $overallScore->{ $sys }{ 'documents' }{ $doc }{ 'score' } = $docScore; + if ( $detail >= 1 ) + { + printf "$method score using 4-grams = %.4f for system \"$sys\" on document \"$doc\" (%d segments, %d words)\n", + $docScore, scalar keys %{$tst_data{$sys}{$doc}{SEGS}}, $tst_cnt->[1]; + } + } + + $cum_ref_length += $ref_length; + for (my $j=1; $j<=$max_Ngram; $j++) + { + $cum_match[$j] += $match_cnt->[$j]; + $cum_tst_cnt[$j] += $tst_cnt->[$j]; + $cum_ref_cnt[$j] += $ref_cnt->[$j]; + $cum_tst_info[$j] += $tst_info->[$j]; + $cum_ref_info[$j] += $ref_info->[$j]; + printf "document info: $sys $doc %d-gram %d %d %d %9.4f %9.4f\n", $j, $match_cnt->[$j], + $tst_cnt->[$j], $ref_cnt->[$j], $tst_info->[$j], $ref_info->[$j] + if (defined $opt_x and $opt_x eq "document info"); + } + } + + if ($method eq "BLEU") + { + $overallScore->{ $sys }{ 'score' } = &{$BLEU_SCORE}($cum_ref_length, \@cum_match, \@cum_tst_cnt, $sys, $SCOREmt, 1); + } + if ($method eq "NIST") + { + $overallScore->{ $sys }{ 'score' } = nist_score (scalar @ref_sys, \@cum_match, \@cum_tst_cnt, \@cum_ref_cnt, \@cum_tst_info, \@cum_ref_info, $sys, $SCOREmt); + } +} + +################################# + +sub score_document +{ + my ($sys, $ref, $doc, $overallScore); + ($sys, $doc, $overallScore) = @_; + my ($ref_length, $match_cnt, $tst_cnt, $ref_cnt, $tst_info, $ref_info); + my ($cum_ref_length, @cum_match, @cum_tst_cnt, @cum_ref_cnt, @cum_tst_info, @cum_ref_info); + + $cum_ref_length = 0; + for (my $j=1; $j<=$max_Ngram; $j++) + { + $cum_match[$j] = $cum_tst_cnt[$j] = $cum_ref_cnt[$j] = $cum_tst_info[$j] = $cum_ref_info[$j] = 0; + } + +#score each segment + foreach my $seg ( sort{ $a <=> $b } keys( %{$tst_data{$sys}{$doc}{SEGS}} ) ) + { + my @ref_segments = (); + foreach $ref (@ref_sys) + { + push @ref_segments, $ref_data{$ref}{$doc}{SEGS}{$seg}; + if ( $detail >= 3 ) + { + printf "ref '$ref', seg $seg: %s\n", $ref_data{$ref}{$doc}{SEGS}{$seg} + } + + } + + printf "sys '$sys', seg $seg: %s\n", $tst_data{$sys}{$doc}{SEGS}{$seg} if ( $detail >= 3 ); + ($ref_length, $match_cnt, $tst_cnt, $ref_cnt, $tst_info, $ref_info) = score_segment ($tst_data{$sys}{$doc}{SEGS}{$seg}, @ref_segments); + + if ( $method eq "BLEU" ) + { + my %DOCmt = (); + my $segScore = &{$BLEU_SCORE}($ref_length, $match_cnt, $tst_cnt, $sys, %DOCmt); + $overallScore->{ $sys }{ 'documents' }{ $doc }{ 'segments' }{ $seg }{ 'score' } = $segScore; + if ( $detail >= 2 ) + { + printf " $method score using 4-grams = %.4f for system \"$sys\" on segment $seg of document \"$doc\" (%d words)\n", $segScore, $tst_cnt->[1] + } + } + if ( $method eq "NIST" ) + { + my %DOCmt = (); + my $segScore = nist_score (scalar @ref_sys, $match_cnt, $tst_cnt, $ref_cnt, $tst_info, $ref_info, $sys, %DOCmt); + $overallScore->{ $sys }{ 'documents' }{ $doc }{ 'segments' }{ $seg }{ 'score' } = $segScore; + if ( $detail >= 2 ) + { + printf " $method score using 5-grams = %.4f for system \"$sys\" on segment $seg of document \"$doc\" (%d words)\n", $segScore, $tst_cnt->[1]; + } + } + $cum_ref_length += $ref_length; + for (my $j=1; $j<=$max_Ngram; $j++) + { + $cum_match[$j] += $match_cnt->[$j]; + $cum_tst_cnt[$j] += $tst_cnt->[$j]; + $cum_ref_cnt[$j] += $ref_cnt->[$j]; + $cum_tst_info[$j] += $tst_info->[$j]; + $cum_ref_info[$j] += $ref_info->[$j]; + } + } + return ($cum_ref_length, [@cum_match], [@cum_tst_cnt], [@cum_ref_cnt], [@cum_tst_info], [@cum_ref_info]); +} + +############################################################################################################################### +# function returning the shortest reference length +# takes as input: +# - currentLength : the current (shortest) reference length +# - referenceSentenceLength : the current reference sentence length +# - candidateSentenceLength : the current candidate sentence length (unused) +############################################################################################################################### +sub brevity_penalty_shortest +{ + my ( $currentLength, $referenceSentenceLength, $candidateSentenceLength ) = @_; + return ( $referenceSentenceLength < $currentLength ? $referenceSentenceLength : $currentLength ); +} + +############################################################################################################################### +# function returning the closest reference length (to the candidate sentence length) +# takes as input: +# - currentLength: the current (closest) reference length. +# - candidateSentenceLength : the current reference sentence length +# - candidateSentenceLength : the current candidate sentence length +# when two reference sentences are at the same distance, it will return the shortest reference sentence length +# example of 4 iterations, given: +# - one candidate sentence containing 7 tokens +# - one reference translation containing 11 tokens +# - one reference translation containing 8 tokens +# - one reference translation containing 6 tokens +# - one reference translation containing 7 tokens +# the multiple invokations will return: +# - currentLength is set to 11 (outside of this function) +# - brevity_penalty_closest( 11, 8, 7 ) returns 8, since abs( 8 - 7 ) < abs( 11 - 7 ) +# - brevity_penalty_closest( 8, 6, 7 ) returns 6, since abs( 8 - 7 ) == abs( 6 - 7 ) AND 6 < 8 +# - brevity_penalty_closest( 7, 6, 7 ) returns 7, since abs( 7 - 7 ) < abs( 6 - 7 ) +############################################################################################################################### +sub brevity_penalty_closest +{ + my ( $currentLength, $referenceSentenceLength, $candidateSentenceLength ) = @_; + my $result = $currentLength; + if ( abs( $candidateSentenceLength - $referenceSentenceLength ) <= abs( $candidateSentenceLength - $currentLength ) ) + { + if ( abs( $candidateSentenceLength - $referenceSentenceLength ) == abs( $candidateSentenceLength - $currentLength ) ) + { + if ( $currentLength > $referenceSentenceLength ) + { + $result = $referenceSentenceLength; + } + } + else + { + $result = $referenceSentenceLength; + } + } + return $result; +} + +################################# + +sub score_segment +{ + my ($tst_seg, @ref_segs) = @_; + my (@tst_wrds, %tst_ngrams, @match_count, @tst_count, @tst_info); + my (@ref_wrds, $ref_seg, %ref_ngrams, %ref_ngrams_max, @ref_count, @ref_info); + my ($ngram); + my (@nwrds_ref); + my $ref_length; + + for (my $j=1; $j<= $max_Ngram; $j++) + { + $match_count[$j] = $tst_count[$j] = $ref_count[$j] = $tst_info[$j] = $ref_info[$j] = 0; + } + +# get the ngram counts for the test segment + @tst_wrds = split /\s+/, $tst_seg; + %tst_ngrams = %{Words2Ngrams (@tst_wrds)}; + for (my $j=1; $j<=$max_Ngram; $j++) + { + # compute ngram counts + $tst_count[$j] = $j<=@tst_wrds ? (@tst_wrds - $j + 1) : 0; + } + +# get the ngram counts for the reference segments + foreach $ref_seg (@ref_segs) + { + @ref_wrds = split /\s+/, $ref_seg; + %ref_ngrams = %{Words2Ngrams (@ref_wrds)}; + foreach $ngram (keys %ref_ngrams) + { + # find the maximum # of occurrences + my @wrds = split / /, $ngram; + $ref_info[@wrds] += $ngram_info{$ngram}; + $ref_ngrams_max{$ngram} = defined $ref_ngrams_max{$ngram} ? max ($ref_ngrams_max{$ngram}, $ref_ngrams{$ngram}) : $ref_ngrams{$ngram}; + } + for (my $j=1; $j<=$max_Ngram; $j++) + { + # update ngram counts + $ref_count[$j] += $j<=@ref_wrds ? (@ref_wrds - $j + 1) : 0; + } + if ( not defined( $ref_length ) ) + { + $ref_length = scalar( @ref_wrds ); + } + else + { + $ref_length = &{$BLEU_BP}( $ref_length, scalar( @ref_wrds ), scalar( @tst_wrds ) ); + } + } + +# accumulate scoring stats for tst_seg ngrams that match ref_seg ngrams + foreach $ngram (keys %tst_ngrams) + { + next unless defined $ref_ngrams_max{$ngram}; + my @wrds = split / /, $ngram; + $tst_info[@wrds] += $ngram_info{$ngram} * min($tst_ngrams{$ngram},$ref_ngrams_max{$ngram}); + $match_count[@wrds] += my $count = min($tst_ngrams{$ngram},$ref_ngrams_max{$ngram}); + printf "%.2f info for each of $count %d-grams = '%s'\n", $ngram_info{$ngram}, scalar @wrds, $ngram + if $detail >= 3; + } + + return ($ref_length, [@match_count], [@tst_count], [@ref_count], [@tst_info], [@ref_info]); +} + +################################# + +sub bleu_score_nosmoothing +{ + my ($ref_length, $matching_ngrams, $tst_ngrams, $sys, $SCOREmt) = @_; + my $score = 0; + my $iscore = 0; + + for ( my $j = 1; $j <= $max_Ngram; ++$j ) + { + if ($matching_ngrams->[ $j ] == 0) + { + $SCOREmt->{ $j }{ $sys }{ cum }=0; + } + else + { + my $len_score = min (0, 1-$ref_length/$tst_ngrams->[1]); + # Cumulative N-Gram score + $score += log( $matching_ngrams->[ $j ] / $tst_ngrams->[ $j ] ); + $SCOREmt->{ $j }{ $sys }{ cum } = exp( $score / $j + $len_score ); + # Individual N-Gram score + $iscore = log( $matching_ngrams->[ $j ] / $tst_ngrams->[ $j ] ); + $SCOREmt->{ $j }{ $sys }{ ind } = exp( $iscore ); + } + } + return $SCOREmt->{ 4 }{ $sys }{ cum }; +} + +############################################################################################################################### +# Default method used to compute the BLEU score, using smoothing. +# Note that the method used can be overridden using the '--no-smoothing' command-line argument +# The smoothing is computed by taking 1 / ( 2^k ), instead of 0, for each precision score whose matching n-gram count is null +# k is 1 for the first 'n' value for which the n-gram match count is null +# For example, if the text contains: +# - one 2-gram match +# - and (consequently) two 1-gram matches +# the n-gram count for each individual precision score would be: +# - n=1 => prec_count = 2 (two unigrams) +# - n=2 => prec_count = 1 (one bigram) +# - n=3 => prec_count = 1/2 (no trigram, taking 'smoothed' value of 1 / ( 2^k ), with k=1) +# - n=4 => prec_count = 1/4 (no fourgram, taking 'smoothed' value of 1 / ( 2^k ), with k=2) +############################################################################################################################### +sub bleu_score +{ + my ($ref_length, $matching_ngrams, $tst_ngrams, $sys, $SCOREmt,$report_length) = @_; + my $score = 0; + my $iscore = 0; + my $exp_len_score = 0; + $exp_len_score = exp( min (0, 1 - $ref_length / $tst_ngrams->[ 1 ] ) ) if ( $tst_ngrams->[ 1 ] > 0 ); + print "length ratio: ".($tst_ngrams->[1]/$ref_length)." ($tst_ngrams->[1]/$ref_length), penalty (log): ".log($exp_len_score)."\n" if $report_length; + my $smooth = 1; + for ( my $j = 1; $j <= $max_Ngram; ++$j ) + { + if ( $tst_ngrams->[ $j ] == 0 ) + { + $iscore = 0; + } + elsif ( $matching_ngrams->[ $j ] == 0 ) + { + $smooth *= 2; + $iscore = log( 1 / ( $smooth * $tst_ngrams->[ $j ] ) ); + } + else + { + $iscore = log( $matching_ngrams->[ $j ] / $tst_ngrams->[ $j ] ); + } + $SCOREmt->{ $j }{ $sys }{ ind } = exp( $iscore ); + $score += $iscore; + $SCOREmt->{ $j }{ $sys }{ cum } = exp( $score / $j ) * $exp_len_score; + } + return $SCOREmt->{ 4 }{ $sys }{ cum }; +} + +################################# + +sub nist_score +{ + my ($nsys, $matching_ngrams, $tst_ngrams, $ref_ngrams, $tst_info, $ref_info, $sys, $SCOREmt) = @_; + my $score = 0; + my $iscore = 0; + + for (my $n=1; $n<=$max_Ngram; $n++) + { + $score += $tst_info->[$n]/max($tst_ngrams->[$n],1); + $SCOREmt->{$n}{$sys}{cum} = $score * nist_length_penalty($tst_ngrams->[1]/($ref_ngrams->[1]/$nsys)); + $iscore = $tst_info->[$n]/max($tst_ngrams->[$n],1); + $SCOREmt->{$n}{$sys}{ind} = $iscore * nist_length_penalty($tst_ngrams->[1]/($ref_ngrams->[1]/$nsys)); + } + return $SCOREmt->{5}{$sys}{cum}; +} + +################################# + +sub Words2Ngrams +{ + #convert a string of words to an Ngram count hash + my %count = (); + + for (; @_; shift) + { + my ($j, $ngram, $word); + for ($j=0; $j<$max_Ngram and defined($word=$_[$j]); $j++) + { + $ngram .= defined $ngram ? " $word" : $word; + $count{$ngram}++; + } + } + return {%count}; +} + +################################# + +sub tokenization +{ + my ($norm_text) = @_; + +# language-independent part: + $norm_text =~ s///g; # strip "skipped" tags + $norm_text =~ s/-\n//g; # strip end-of-line hyphenation and join lines + $norm_text =~ s/\n/ /g; # join lines + $norm_text =~ s/"/"/g; # convert SGML tag for quote to " + $norm_text =~ s/&/&/g; # convert SGML tag for ampersand to & + $norm_text =~ s/</ + $norm_text =~ s/>/>/g; # convert SGML tag for greater-than to < + +# language-dependent part (assuming Western languages): + $norm_text = " $norm_text "; + $norm_text =~ tr/[A-Z]/[a-z]/ unless $preserve_case; + $norm_text =~ s/([\{-\~\[-\` -\&\(-\+\:-\@\/])/ $1 /g; # tokenize punctuation + $norm_text =~ s/([^0-9])([\.,])/$1 $2 /g; # tokenize period and comma unless preceded by a digit + $norm_text =~ s/([\.,])([^0-9])/ $1 $2/g; # tokenize period and comma unless followed by a digit + $norm_text =~ s/([0-9])(-)/$1 $2 /g; # tokenize dash when preceded by a digit + $norm_text =~ s/\s+/ /g; # one space only between words + $norm_text =~ s/^\s+//; # no leading space + $norm_text =~ s/\s+$//; # no trailing space + + return $norm_text; +} + + +sub tokenization_international +{ + my ($norm_text) = @_; + + $norm_text =~ s///g; # strip "skipped" tags + $norm_text =~ s/\p{Hyphen}\p{Zl}//g; # strip end-of-line hyphenation and join lines + $norm_text =~ s/\p{Zl}/ /g; # join lines + + # replace entities + $norm_text =~ s/"/\"/g; # quote to " + $norm_text =~ s/&/&/g; # ampersand to & + $norm_text =~ s/<//g; # greater-than to > + $norm_text =~ s/'/\'/g; # apostrophe to ' + + $norm_text = lc( $norm_text ) unless $preserve_case; # lowercasing if needed + $norm_text =~ s/([^[:ascii:]])/ $1 /g if ( $split_non_ASCII ); + + # punctuation: tokenize any punctuation unless followed AND preceded by a digit + $norm_text =~ s/(\P{N})(\p{P})/$1 $2 /g; + $norm_text =~ s/(\p{P})(\P{N})/ $1 $2/g; + + $norm_text =~ s/(\p{S})/ $1 /g; # tokenize symbols + + $norm_text =~ s/\p{Z}+/ /g; # one space only between words + $norm_text =~ s/^\p{Z}+//; # no leading space + $norm_text =~ s/\p{Z}+$//; # no trailing space + + return $norm_text; +} + +################################# + +sub nist_length_penalty +{ + my ($ratio) = @_; + return 1 if $ratio >= 1; + return 0 if $ratio <= 0; + my $ratio_x = 1.5; + my $score_x = 0.5; + my $beta = -log($score_x)/log($ratio_x)/log($ratio_x); + return exp (-$beta*log($ratio)*log($ratio)); +} + +################################# + +sub date_time_stamp +{ + my ($sec, $min, $hour, $mday, $mon, $year, $wday, $yday, $isdst) = localtime(); + my @months = qw(Jan Feb Mar Apr May Jun Jul Aug Sep Oct Nov Dec); + my ($date, $time); + $time = sprintf "%2.2d:%2.2d:%2.2d", $hour, $min, $sec; + $date = sprintf "%4.4s %3.3s %s", 1900+$year, $months[$mon], $mday; + return ($date, $time); +} + +################################# + +sub extract_sgml_tag_and_span +{ + my ($name, $data) = @_; + ($data =~ m|<$name\s*([^>]*)>(.*?)(.*)|si) ? ($1, $2, $3) : (); +} + +################################# + +sub extract_sgml_tag_attribute +{ + my ($name, $data) = @_; + ($data =~ m|$name\s*=\s*\"([^\"]*)\"|si) ? ($1) : (); +} + +################################# + +sub max +{ + my ($max, $next); + + return unless defined ($max=pop); + while (defined ($next=pop)) + { + $max = $next if $next > $max; + } + return $max; +} + +################################# + +sub min +{ + my ($min, $next); + + return unless defined ($min=pop); + while (defined ($next=pop)) + { + $min = $next if $next < $min; + } + return $min; +} + +################################# + +sub printout_report +{ + if ( $METHOD eq "BOTH" ) + { + foreach my $sys (sort @tst_sys) + { + printf "NIST score = %2.4f BLEU score = %.4f for system \"$sys\"\n",$NISTmt{5}{$sys}{cum},$BLEUmt{4}{$sys}{cum}; + } + } + elsif ($METHOD eq "NIST" ) + { + foreach my $sys (sort @tst_sys) + { + printf "NIST score = %2.4f for system \"$sys\"\n",$NISTmt{5}{$sys}{cum}; + } + } + elsif ($METHOD eq "BLEU" ) + { + foreach my $sys (sort @tst_sys) + { + printf "\nBLEU score = %.4f for system \"$sys\"\n",$BLEUmt{4}{$sys}{cum}; + } + } + printf "\n# ------------------------------------------------------------------------\n\n"; + printf "Individual N-gram scoring\n"; + printf " 1-gram 2-gram 3-gram 4-gram 5-gram 6-gram 7-gram 8-gram 9-gram\n"; + printf " ------ ------ ------ ------ ------ ------ ------ ------ ------\n"; + + if ( ( $METHOD eq "BOTH" ) || ($METHOD eq "NIST") ) + { + foreach my $sys (sort @tst_sys) + { + printf " NIST:"; + for (my $i=1; $i<=$max_Ngram; $i++) + { + printf " %2.4f ",$NISTmt{$i}{$sys}{ind} + } + printf " \"$sys\"\n"; + } + printf "\n"; + } + + if ( ( $METHOD eq "BOTH" ) || ($METHOD eq "BLEU") ) + { + foreach my $sys (sort @tst_sys) + { + printf " BLEU:"; + for (my $i=1; $i<=$max_Ngram; $i++) + { + printf " %2.4f ",$BLEUmt{$i}{$sys}{ind} + } + printf " \"$sys\"\n"; + } + } + + printf "\n# ------------------------------------------------------------------------\n"; + printf "Cumulative N-gram scoring\n"; + printf " 1-gram 2-gram 3-gram 4-gram 5-gram 6-gram 7-gram 8-gram 9-gram\n"; + printf " ------ ------ ------ ------ ------ ------ ------ ------ ------\n"; + + if (( $METHOD eq "BOTH" ) || ($METHOD eq "NIST")) + { + foreach my $sys (sort @tst_sys) + { + printf " NIST:"; + for (my $i=1; $i<=$max_Ngram; $i++) + { + printf " %2.4f ",$NISTmt{$i}{$sys}{cum} + } + printf " \"$sys\"\n"; + } + } + printf "\n"; + if ( ( $METHOD eq "BOTH" ) || ($METHOD eq "BLEU") ) + { + foreach my $sys (sort @tst_sys) + { + printf " BLEU:"; + for (my $i=1; $i<=$max_Ngram; $i++) + { + printf " %2.4f ",$BLEUmt{$i}{$sys}{cum} + } + printf " \"$sys\"\n"; + } + } +} + +############################################################################################################################### +# Create three files, by using: +# - $prefix : the prefix used for the output file names +# - %overall : a hash containing seg/doc/sys-level scores: +# - $overall{ $SYSTEM_ID }{ 'score' } => system-level score +# - $overall{ $SYSTEM_ID }{ 'documents' }{ $DOCUMENT_ID }{ 'score' } => document-level score +# - $overall{ $SYSTEM_ID }{ 'documents' }{ $DOCUMENT_ID }{ 'segments' }{ $SEGMENT_ID } => segment-level score +############################################################################################################################### +sub outputMetricsMATR +{ + my ( $prefix, %overall ) = @_; + my $fileNameSys = $prefix . '-sys.scr'; + my $fileNameDoc = $prefix . '-doc.scr'; + my $fileNameSeg = $prefix . '-seg.scr'; + open FILEOUT_SYS, '>', $fileNameSys or die "Could not open file: ${fileNameSys}"; + open FILEOUT_DOC, '>', $fileNameDoc or die "Could not open file: ${fileNameDoc}"; + open FILEOUT_SEG, '>', $fileNameSeg or die "Could not open file: ${fileNameSeg}"; + foreach my $sys ( sort( keys( %overall ) ) ) + { + my $scoreSys = $overall{ $sys }{ 'score' }; + print FILEOUT_SYS "${tst_id}\t${sys}\t${scoreSys}\n"; + foreach my $doc ( sort( keys( %{$overall{ $sys }{ 'documents' }} ) ) ) + { + my $scoreDoc = $overall{ $sys }{ 'documents' }{ $doc }{ 'score' }; + print FILEOUT_DOC "${tst_id}\t${sys}\t${doc}\t${scoreDoc}\n"; + foreach my $seg ( sort{ $a <=> $b }( keys( %{$overall{ $sys }{ 'documents' }{ $doc }{ 'segments' }} ) ) ) + { + my $scoreSeg = $overall{ $sys }{ 'documents' }{ $doc }{ 'segments' }{ $seg }{ 'score' }; + print FILEOUT_SEG "${tst_id}\t${sys}\t${doc}\t${seg}\t${scoreSeg}\n"; + } + } + } + close FILEOUT_SEG; + close FILEOUT_DOC; + close FILEOUT_SYS; +} + From cdf735b01b540ad5c4128fe7d23b149643e70f3d Mon Sep 17 00:00:00 2001 From: Philipp Koehn Date: Wed, 21 Dec 2011 05:50:59 +0000 Subject: [PATCH 07/32] better error message when no corpus defined, better integration of IRSTLM training --- scripts/ems/example/config.basic | 9 +++++++-- scripts/ems/example/config.factored | 9 +++++++-- scripts/ems/example/config.hierarchical | 9 +++++++-- scripts/ems/example/config.syntax | 9 +++++++-- scripts/ems/example/config.toy | 9 +++++++-- scripts/ems/experiment.perl | 15 ++++++++++----- scripts/generic/trainlm-irst.perl | 24 ++++++++++++++++-------- 7 files changed, 61 insertions(+), 23 deletions(-) diff --git a/scripts/ems/example/config.basic b/scripts/ems/example/config.basic index 407311eb8..872f42b15 100644 --- a/scripts/ems/example/config.basic +++ b/scripts/ems/example/config.basic @@ -132,10 +132,15 @@ raw-stem = $wmt10-data/training/undoc.2000.$pair-extension [LM] ### tool to be used for language model training -# for instance: ngram-count (SRILM), train-lm-on-disk.perl (Edinburgh) -# +# srilm lm-training = $srilm-dir/ngram-count settings = "-interpolate -kndiscount -unk" + +# irstlm +#lm-training = "$moses-script-dir/generic/trainlm-irst.perl -cores $cores -irst-dir $irstlm-dir -temp-dir $working-dir/lm" +#settings = "" + +# order of the language model order = 5 ### tool to be used for training randomized language model from scratch diff --git a/scripts/ems/example/config.factored b/scripts/ems/example/config.factored index a69bf7973..f97538fc0 100644 --- a/scripts/ems/example/config.factored +++ b/scripts/ems/example/config.factored @@ -132,10 +132,15 @@ raw-stem = $wmt10-data/training/undoc.2000.$pair-extension [LM] ### tool to be used for language model training -# for instance: ngram-count (SRILM), train-lm-on-disk.perl (Edinburgh) -# +# srilm lm-training = $srilm-dir/ngram-count settings = "-interpolate -kndiscount -unk" + +# irstlm +#lm-training = "$moses-script-dir/generic/trainlm-irst.perl -cores $cores -irst-dir $irstlm-dir -temp-dir $working-dir/lm" +#settings = "" + +# order of the language model order = 5 ### tool to be used for training randomized language model from scratch diff --git a/scripts/ems/example/config.hierarchical b/scripts/ems/example/config.hierarchical index 76a5d180a..fc87d36bb 100644 --- a/scripts/ems/example/config.hierarchical +++ b/scripts/ems/example/config.hierarchical @@ -132,10 +132,15 @@ raw-stem = $wmt10-data/training/undoc.2000.$pair-extension [LM] ### tool to be used for language model training -# for instance: ngram-count (SRILM), train-lm-on-disk.perl (Edinburgh) -# +# srilm lm-training = $srilm-dir/ngram-count settings = "-interpolate -kndiscount -unk" + +# irstlm +#lm-training = "$moses-script-dir/generic/trainlm-irst.perl -cores $cores -irst-dir $irstlm-dir -temp-dir $working-dir/lm" +#settings = "" + +# order of the language model order = 5 ### tool to be used for training randomized language model from scratch diff --git a/scripts/ems/example/config.syntax b/scripts/ems/example/config.syntax index a5ee56df8..ce7c8eb0f 100644 --- a/scripts/ems/example/config.syntax +++ b/scripts/ems/example/config.syntax @@ -136,10 +136,15 @@ raw-stem = $wmt10-data/training/undoc.2000.$pair-extension [LM] ### tool to be used for language model training -# for instance: ngram-count (SRILM), train-lm-on-disk.perl (Edinburgh) -# +# srilm lm-training = $srilm-dir/ngram-count settings = "-interpolate -kndiscount -unk" + +# irstlm +#lm-training = "$moses-script-dir/generic/trainlm-irst.perl -cores $cores -irst-dir $irstlm-dir -temp-dir $working-dir/lm" +#settings = "" + +# order of the language model order = 5 ### tool to be used for training randomized language model from scratch diff --git a/scripts/ems/example/config.toy b/scripts/ems/example/config.toy index 78f208163..01a91d604 100644 --- a/scripts/ems/example/config.toy +++ b/scripts/ems/example/config.toy @@ -126,10 +126,15 @@ raw-stem = $toy-data/nc-5k [LM] ### tool to be used for language model training -# for instance: ngram-count (SRILM), train-lm-on-disk.perl (Edinburgh) -# +# srilm lm-training = $srilm-dir/ngram-count settings = "-interpolate -kndiscount -unk" + +# irstlm +#lm-training = "$moses-script-dir/generic/trainlm-irst.perl -cores $cores -irst-dir $irstlm-dir -temp-dir $working-dir/lm" +#settings = "" + +# order of the language model order = 5 ### tool to be used for training randomized language model from scratch diff --git a/scripts/ems/experiment.perl b/scripts/ems/experiment.perl index 21327cc3e..ae57efa7f 100755 --- a/scripts/ems/experiment.perl +++ b/scripts/ems/experiment.perl @@ -2264,12 +2264,13 @@ sub define_reporting_report { ### subs for step definition sub get_output_and_input { - my ($step_id) = @_; + my ($step_id) = @_; - my $step = $DO_STEP[$step_id]; - my $output = &get_default_file(&deconstruct_name($step)); + my $step = $DO_STEP[$step_id]; + my $output = &get_default_file(&deconstruct_name($step)); - my @INPUT; + my @INPUT; + if (defined($USES_INPUT{$step_id})) { for(my $i=0; $i \$order, "text=s" => \$corpusPath, "lm=s" => \$lmPath, "cores=s" => \$cores, "irst-dir=s" => \$irstPath, + "temp-dir=s" => \$tempPath ) or exit 1; +die("ERROR: please set order") unless defined($order); +die("ERROR: please set text") unless defined($corpusPath); +die("ERROR: please set lm") unless defined($lmPath); +die("ERROR: please set irst-dir") unless defined($irstPath); + my $ext = ($corpusPath =~ m/([^.]+)$/)[0]; print "extension is $ext\n"; -mkdir 'temp'; +$tempPath .= "/irstlm-build-tmp.$$"; +`mkdir -p $tempPath`; my $cmd; if ($ext eq "gz") { - $cmd = "zcat $corpusPath | $irstPath/bin/add-start-end.sh | gzip -c > temp/monolingual.setagged.gz"; + $cmd = "zcat $corpusPath | $irstPath/add-start-end.sh | gzip -c > $tempPath/monolingual.setagged.gz"; } else { - $cmd = "cat $corpusPath | $irstPath/bin/add-start-end.sh | gzip -c > temp/monolingual.setagged.gz"; + $cmd = "cat $corpusPath | $irstPath/add-start-end.sh | gzip -c > $tempPath/monolingual.setagged.gz"; } print STDERR "EXECUTING $cmd\n"; `$cmd`; -$cmd = "IRSTLM=$irstPath $irstPath/bin/build-lm.sh -t stat4 -i \"gunzip -c temp/monolingual.setagged.gz\" -n $order -p -o temp/iarpa.gz -k $cores"; +$cmd = "IRSTLM=$irstPath/.. $irstPath/build-lm.sh -t $tempPath/stat4 -i \"gunzip -c $tempPath/monolingual.setagged.gz\" -n $order -p -o $tempPath/iarpa.gz -k $cores"; print STDERR "EXECUTING $cmd\n"; `$cmd`; @@ -53,17 +61,17 @@ print "extension is $ext\n"; if ($ext eq "gz") { - $cmd = "$irstPath/bin/compile-lm temp/iarpa.gz --text yes /dev/stdout | gzip -c > $lmPath"; + $cmd = "$irstPath/compile-lm $tempPath/iarpa.gz --text yes /dev/stdout | gzip -c > $lmPath"; } else { - $cmd = "$irstPath/bin/compile-lm temp/iarpa.gz --text yes $lmPath"; + $cmd = "$irstPath/compile-lm $tempPath/iarpa.gz --text yes $lmPath"; } print STDERR "EXECUTING $cmd\n"; `$cmd`; -$cmd = "rm -rf temp stat4"; +$cmd = "rm -rf $tempPath"; print STDERR "EXECUTING $cmd\n"; `$cmd`; From aba0925bf87e55de721fd3101441e7ac2f375ef7 Mon Sep 17 00:00:00 2001 From: Philipp Koehn Date: Thu, 22 Dec 2011 00:37:46 +0000 Subject: [PATCH 08/32] allow for more than 10 language models by explicit or automatic grouping --- scripts/ems/example/config.basic | 32 +++--- scripts/ems/example/config.factored | 34 +++--- scripts/ems/example/config.hierarchical | 32 +++--- scripts/ems/example/config.syntax | 32 +++--- scripts/ems/example/config.toy | 4 + scripts/ems/experiment.meta | 4 +- scripts/ems/experiment.perl | 26 +++++ scripts/ems/support/interpolate-lm.perl | 135 +++++++++++++++++------- 8 files changed, 203 insertions(+), 96 deletions(-) diff --git a/scripts/ems/example/config.basic b/scripts/ems/example/config.basic index 872f42b15..3eee66565 100644 --- a/scripts/ems/example/config.basic +++ b/scripts/ems/example/config.basic @@ -34,7 +34,7 @@ irstlm-dir = $moses-src-dir/irstlm/bin randlm-dir = $moses-src-dir/randlm/bin # # data -wmt10-data = $working-dir/data +wmt12-data = $working-dir/data ### basic tools # @@ -104,7 +104,7 @@ max-sentence-length = 80 ### raw corpus files (untokenized, but sentence aligned) # -raw-stem = $wmt10-data/training/europarl-v5.$pair-extension +raw-stem = $wmt12-data/training/europarl-v7.$pair-extension ### tokenized corpus files (may contain long sentences) # @@ -121,10 +121,10 @@ raw-stem = $wmt10-data/training/europarl-v5.$pair-extension #lowercased-stem = [CORPUS:nc] -raw-stem = $wmt10-data/training/news-commentary10.$pair-extension +raw-stem = $wmt12-data/training/news-commentary-v7.$pair-extension [CORPUS:un] IGNORE -raw-stem = $wmt10-data/training/undoc.2000.$pair-extension +raw-stem = $wmt12-data/training/undoc.2000.$pair-extension ################################################################# # LANGUAGE MODEL TRAINING @@ -178,7 +178,7 @@ type = 8 ### raw corpus (untokenized) # -raw-corpus = $wmt10-data/training/europarl-v5.$output-extension +raw-corpus = $wmt12-data/training/europarl-v7.$output-extension ### tokenized corpus files (may contain long sentences) # @@ -190,13 +190,13 @@ raw-corpus = $wmt10-data/training/europarl-v5.$output-extension #lm = [LM:nc] -raw-corpus = $wmt10-data/training/news-commentary10.$pair-extension.$output-extension +raw-corpus = $wmt12-data/training/news-commentary-v7.$pair-extension.$output-extension [LM:un] IGNORE -raw-corpus = $wmt10-data/training/undoc.2000.$pair-extension.$output-extension +raw-corpus = $wmt12-data/training/undoc.2000.$pair-extension.$output-extension [LM:news] IGNORE -raw-corpus = $wmt10-data/training/news.$output-extension.shuffled +raw-corpus = $wmt12-data/training/news.$output-extension.shuffled ################################################################# @@ -216,13 +216,17 @@ script = $moses-script-dir/ems/support/interpolate-lm.perl ### tuning set # you may use the same set that is used for mert tuning (reference set) # -tuning-sgm = $wmt10-data/dev/news-test2008-ref.$output-extension.sgm +tuning-sgm = $wmt12-data/dev/newstest2010-ref.$output-extension.sgm #raw-tuning = #tokenized-tuning = #factored-tuning = #lowercased-tuning = #split-tuning = +### group language models for hierarchical interpolation +# (flat interpolation is limited to 10 language models) +#group = "first,second fourth,fifth" + ### script to use for binary table format for irstlm or kenlm # (default: no binarization) @@ -374,13 +378,13 @@ tuning-settings = "-mertdir $moses-bin-dir" ### specify the corpus used for tuning # it should contain 1000s of sentences # -input-sgm = $wmt10-data/dev/news-test2008-src.$input-extension.sgm +input-sgm = $wmt12-data/dev/newstest2010-src.$input-extension.sgm #raw-input = #tokenized-input = #factorized-input = #input = # -reference-sgm = $wmt10-data/dev/news-test2008-ref.$output-extension.sgm +reference-sgm = $wmt12-data/dev/newstest2010-ref.$output-extension.sgm #raw-reference = #tokenized-reference = #factorized-reference = @@ -521,11 +525,11 @@ report-segmentation = yes # further precision breakdown by factor #precision-by-coverage-factor = pos -[EVALUATION:newstest2009] +[EVALUATION:newstest2011] ### input data # -input-sgm = $wmt10-data/dev/newstest2009-src.$input-extension.sgm +input-sgm = $wmt12-data/dev/newstest2011-src.$input-extension.sgm # raw-input = # tokenized-input = # factorized-input = @@ -533,7 +537,7 @@ input-sgm = $wmt10-data/dev/newstest2009-src.$input-extension.sgm ### reference data # -reference-sgm = $wmt10-data/dev/newstest2009-ref.$output-extension.sgm +reference-sgm = $wmt12-data/dev/newstest2011-ref.$output-extension.sgm # raw-reference = # tokenized-reference = # reference = diff --git a/scripts/ems/example/config.factored b/scripts/ems/example/config.factored index f97538fc0..9e024ee48 100644 --- a/scripts/ems/example/config.factored +++ b/scripts/ems/example/config.factored @@ -34,7 +34,7 @@ irstlm-dir = $moses-src-dir/irstlm/bin randlm-dir = $moses-src-dir/randlm/bin # # data -wmt10-data = $working-dir/data +wmt12-data = $working-dir/data ### basic tools # @@ -104,7 +104,7 @@ max-sentence-length = 80 ### raw corpus files (untokenized, but sentence aligned) # -raw-stem = $wmt10-data/training/europarl-v5.$pair-extension +raw-stem = $wmt12-data/training/europarl-v7.$pair-extension ### tokenized corpus files (may contain long sentences) # @@ -121,10 +121,10 @@ raw-stem = $wmt10-data/training/europarl-v5.$pair-extension #lowercased-stem = [CORPUS:nc] -raw-stem = $wmt10-data/training/news-commentary10.$pair-extension +raw-stem = $wmt12-data/training/news-commentary-v7.$pair-extension [CORPUS:un] IGNORE -raw-stem = $wmt10-data/training/undoc.2000.$pair-extension +raw-stem = $wmt12-data/training/undoc.2000.$pair-extension ################################################################# # LANGUAGE MODEL TRAINING @@ -178,7 +178,7 @@ order = 5 ### raw corpus (untokenized) # -raw-corpus = $wmt10-data/training/europarl-v5.$output-extension +raw-corpus = $wmt12-data/training/europarl-v7.$output-extension ### tokenized corpus files (may contain long sentences) # @@ -190,19 +190,19 @@ raw-corpus = $wmt10-data/training/europarl-v5.$output-extension #lm = [LM:nc] -raw-corpus = $wmt10-data/training/news-commentary10.$pair-extension.$output-extension +raw-corpus = $wmt12-data/training/news-commentary-v7.$pair-extension.$output-extension [LM:un] IGNORE -raw-corpus = $wmt10-data/training/undoc.2000.$pair-extension.$output-extension +raw-corpus = $wmt12-data/training/undoc.2000.$pair-extension.$output-extension [LM:news] IGNORE -raw-corpus = $wmt10-data/training/news.$output-extension.shuffled +raw-corpus = $wmt12-data/training/news.$output-extension.shuffled [LM:nc=pos] factors = "pos" order = 7 settings = "-interpolate -unk" -raw-corpus = $wmt10-data/training/news-commentary10.$pair-extension.$output-extension +raw-corpus = $wmt12-data/training/news-commentary-v7.$pair-extension.$output-extension ################################################################# # INTERPOLATING LANGUAGE MODELS @@ -221,13 +221,17 @@ script = $moses-script-dir/ems/support/interpolate-lm.perl ### tuning set # you may use the same set that is used for mert tuning (reference set) # -tuning-sgm = $wmt10-data/dev/news-test2008-ref.$output-extension.sgm +tuning-sgm = $wmt12-data/dev/newstest2010-ref.$output-extension.sgm #raw-tuning = #tokenized-tuning = #factored-tuning = #lowercased-tuning = #split-tuning = +### group language models for hierarchical interpolation +# (flat interpolation is limited to 10 language models) +#group = "first,second fourth,fifth" + ### script to use for binary table format for irstlm or kenlm # (default: no binarization) @@ -394,13 +398,13 @@ tuning-settings = "-mertdir $moses-bin-dir" ### specify the corpus used for tuning # it should contain 1000s of sentences # -input-sgm = $wmt10-data/dev/news-test2008-src.$input-extension.sgm +input-sgm = $wmt12-data/dev/newstest2010-src.$input-extension.sgm #raw-input = #tokenized-input = #factorized-input = #input = # -reference-sgm = $wmt10-data/dev/news-test2008-ref.$output-extension.sgm +reference-sgm = $wmt12-data/dev/newstest2010-ref.$output-extension.sgm #raw-reference = #tokenized-reference = #factorized-reference = @@ -541,11 +545,11 @@ report-segmentation = yes # further precision breakdown by factor #precision-by-coverage-factor = pos -[EVALUATION:newstest2009] +[EVALUATION:newstest2011] ### input data # -input-sgm = $wmt10-data/dev/newstest2009-src.$input-extension.sgm +input-sgm = $wmt12-data/dev/newstest2011-src.$input-extension.sgm # raw-input = # tokenized-input = # factorized-input = @@ -553,7 +557,7 @@ input-sgm = $wmt10-data/dev/newstest2009-src.$input-extension.sgm ### reference data # -reference-sgm = $wmt10-data/dev/newstest2009-ref.$output-extension.sgm +reference-sgm = $wmt12-data/dev/newstest2011-ref.$output-extension.sgm # raw-reference = # tokenized-reference = # reference = diff --git a/scripts/ems/example/config.hierarchical b/scripts/ems/example/config.hierarchical index fc87d36bb..99d672912 100644 --- a/scripts/ems/example/config.hierarchical +++ b/scripts/ems/example/config.hierarchical @@ -34,7 +34,7 @@ irstlm-dir = $moses-src-dir/irstlm/bin randlm-dir = $moses-src-dir/randlm/bin # # data -wmt10-data = $working-dir/data +wmt12-data = $working-dir/data ### basic tools # @@ -104,7 +104,7 @@ max-sentence-length = 80 ### raw corpus files (untokenized, but sentence aligned) # -raw-stem = $wmt10-data/training/europarl-v5.$pair-extension +raw-stem = $wmt12-data/training/europarl-v7.$pair-extension ### tokenized corpus files (may contain long sentences) # @@ -121,10 +121,10 @@ raw-stem = $wmt10-data/training/europarl-v5.$pair-extension #lowercased-stem = [CORPUS:nc] -raw-stem = $wmt10-data/training/news-commentary10.$pair-extension +raw-stem = $wmt12-data/training/news-commentary-v7.$pair-extension [CORPUS:un] IGNORE -raw-stem = $wmt10-data/training/undoc.2000.$pair-extension +raw-stem = $wmt12-data/training/undoc.2000.$pair-extension ################################################################# # LANGUAGE MODEL TRAINING @@ -178,7 +178,7 @@ type = 8 ### raw corpus (untokenized) # -raw-corpus = $wmt10-data/training/europarl-v5.$output-extension +raw-corpus = $wmt12-data/training/europarl-v7.$output-extension ### tokenized corpus files (may contain long sentences) # @@ -190,13 +190,13 @@ raw-corpus = $wmt10-data/training/europarl-v5.$output-extension #lm = [LM:nc] -raw-corpus = $wmt10-data/training/news-commentary10.$pair-extension.$output-extension +raw-corpus = $wmt12-data/training/news-commentary-v7.$pair-extension.$output-extension [LM:un] IGNORE -raw-corpus = $wmt10-data/training/undoc.2000.$pair-extension.$output-extension +raw-corpus = $wmt12-data/training/undoc.2000.$pair-extension.$output-extension [LM:news] IGNORE -raw-corpus = $wmt10-data/training/news.$output-extension.shuffled +raw-corpus = $wmt12-data/training/news.$output-extension.shuffled ################################################################# @@ -216,13 +216,17 @@ script = $moses-script-dir/ems/support/interpolate-lm.perl ### tuning set # you may use the same set that is used for mert tuning (reference set) # -tuning-sgm = $wmt10-data/dev/news-test2008-ref.$output-extension.sgm +tuning-sgm = $wmt12-data/dev/newstest2010-ref.$output-extension.sgm #raw-tuning = #tokenized-tuning = #factored-tuning = #lowercased-tuning = #split-tuning = +### group language models for hierarchical interpolation +# (flat interpolation is limited to 10 language models) +#group = "first,second fourth,fifth" + ### script to use for binary table format for irstlm or kenlm # (default: no binarization) @@ -374,13 +378,13 @@ tuning-settings = "-mertdir $moses-bin-dir" ### specify the corpus used for tuning # it should contain 1000s of sentences # -input-sgm = $wmt10-data/dev/news-test2008-src.$input-extension.sgm +input-sgm = $wmt12-data/dev/newstest2010-src.$input-extension.sgm #raw-input = #tokenized-input = #factorized-input = #input = # -reference-sgm = $wmt10-data/dev/news-test2008-ref.$output-extension.sgm +reference-sgm = $wmt12-data/dev/newstest2010-ref.$output-extension.sgm #raw-reference = #tokenized-reference = #factorized-reference = @@ -521,11 +525,11 @@ report-segmentation = yes # further precision breakdown by factor #precision-by-coverage-factor = pos -[EVALUATION:newstest2009] +[EVALUATION:newstest2011] ### input data # -input-sgm = $wmt10-data/dev/newstest2009-src.$input-extension.sgm +input-sgm = $wmt12-data/dev/newstest2011-src.$input-extension.sgm # raw-input = # tokenized-input = # factorized-input = @@ -533,7 +537,7 @@ input-sgm = $wmt10-data/dev/newstest2009-src.$input-extension.sgm ### reference data # -reference-sgm = $wmt10-data/dev/newstest2009-ref.$output-extension.sgm +reference-sgm = $wmt12-data/dev/newstest2011-ref.$output-extension.sgm # raw-reference = # tokenized-reference = # reference = diff --git a/scripts/ems/example/config.syntax b/scripts/ems/example/config.syntax index ce7c8eb0f..0ad0c6a7b 100644 --- a/scripts/ems/example/config.syntax +++ b/scripts/ems/example/config.syntax @@ -34,7 +34,7 @@ irstlm-dir = $moses-src-dir/irstlm/bin randlm-dir = $moses-src-dir/randlm/bin # # data -wmt10-data = $working-dir/data +wmt12-data = $working-dir/data ### basic tools # @@ -108,7 +108,7 @@ max-sentence-length = 80 ### raw corpus files (untokenized, but sentence aligned) # -raw-stem = $wmt10-data/training/europarl-v5.$pair-extension +raw-stem = $wmt12-data/training/europarl-v7.$pair-extension ### tokenized corpus files (may contain long sentences) # @@ -125,10 +125,10 @@ raw-stem = $wmt10-data/training/europarl-v5.$pair-extension #lowercased-stem = [CORPUS:nc] -raw-stem = $wmt10-data/training/news-commentary10.$pair-extension +raw-stem = $wmt12-data/training/news-commentary-v7.$pair-extension [CORPUS:un] IGNORE -raw-stem = $wmt10-data/training/undoc.2000.$pair-extension +raw-stem = $wmt12-data/training/undoc.2000.$pair-extension ################################################################# # LANGUAGE MODEL TRAINING @@ -182,7 +182,7 @@ type = 8 ### raw corpus (untokenized) # -raw-corpus = $wmt10-data/training/europarl-v5.$output-extension +raw-corpus = $wmt12-data/training/europarl-v7.$output-extension ### tokenized corpus files (may contain long sentences) # @@ -194,13 +194,13 @@ raw-corpus = $wmt10-data/training/europarl-v5.$output-extension #lm = [LM:nc] -raw-corpus = $wmt10-data/training/news-commentary10.$pair-extension.$output-extension +raw-corpus = $wmt12-data/training/news-commentary-v7.$pair-extension.$output-extension [LM:un] IGNORE -raw-corpus = $wmt10-data/training/undoc.2000.$pair-extension.$output-extension +raw-corpus = $wmt12-data/training/undoc.2000.$pair-extension.$output-extension [LM:news] IGNORE -raw-corpus = $wmt10-data/training/news.$output-extension.shuffled +raw-corpus = $wmt12-data/training/news.$output-extension.shuffled ################################################################# @@ -220,13 +220,17 @@ script = $moses-script-dir/ems/support/interpolate-lm.perl ### tuning set # you may use the same set that is used for mert tuning (reference set) # -tuning-sgm = $wmt10-data/dev/news-test2008-ref.$output-extension.sgm +tuning-sgm = $wmt12-data/dev/newstest2010-ref.$output-extension.sgm #raw-tuning = #tokenized-tuning = #factored-tuning = #lowercased-tuning = #split-tuning = +### group language models for hierarchical interpolation +# (flat interpolation is limited to 10 language models) +#group = "first,second fourth,fifth" + ### script to use for binary table format for irstlm or kenlm # (default: no binarization) @@ -378,13 +382,13 @@ tuning-settings = "-mertdir $moses-bin-dir" ### specify the corpus used for tuning # it should contain 1000s of sentences # -input-sgm = $wmt10-data/dev/news-test2008-src.$input-extension.sgm +input-sgm = $wmt12-data/dev/newstest2010-src.$input-extension.sgm #raw-input = #tokenized-input = #factorized-input = #input = # -reference-sgm = $wmt10-data/dev/news-test2008-ref.$output-extension.sgm +reference-sgm = $wmt12-data/dev/newstest2010-ref.$output-extension.sgm #raw-reference = #tokenized-reference = #factorized-reference = @@ -525,11 +529,11 @@ report-segmentation = yes # further precision breakdown by factor #precision-by-coverage-factor = pos -[EVALUATION:newstest2009] +[EVALUATION:newstest2011] ### input data # -input-sgm = $wmt10-data/dev/newstest2009-src.$input-extension.sgm +input-sgm = $wmt12-data/dev/newstest2011-src.$input-extension.sgm # raw-input = # tokenized-input = # factorized-input = @@ -537,7 +541,7 @@ input-sgm = $wmt10-data/dev/newstest2009-src.$input-extension.sgm ### reference data # -reference-sgm = $wmt10-data/dev/newstest2009-ref.$output-extension.sgm +reference-sgm = $wmt12-data/dev/newstest2011-ref.$output-extension.sgm # raw-reference = # tokenized-reference = # reference = diff --git a/scripts/ems/example/config.toy b/scripts/ems/example/config.toy index 01a91d604..f375840d5 100644 --- a/scripts/ems/example/config.toy +++ b/scripts/ems/example/config.toy @@ -207,6 +207,10 @@ raw-corpus = $toy-data/nc-5k.$output-extension #lowercased-tuning = #split-tuning = +### group language models for hierarchical interpolation +# (flat interpolation is limited to 10 language models) +#group = "first,second fourth,fifth" + ### script to use for binary table format for irstlm or kenlm # (default: no binarization) diff --git a/scripts/ems/experiment.meta b/scripts/ems/experiment.meta index a3c6d5783..323e57097 100644 --- a/scripts/ems/experiment.meta +++ b/scripts/ems/experiment.meta @@ -107,7 +107,7 @@ consolidate default-name: truecaser/corpus template: $moses-script-dir/ems/support/consolidate-training-data.perl $input-extension $output-extension OUT IN train - in: tokenized-stem + in: tokenized-stem out: truecase-model rerun-on-change: trainer default-name: truecaser/truecase-model @@ -253,7 +253,7 @@ split-tuning template: $output-splitter -model IN1.$output-extension < IN > OUT interpolate in: script split-tuning LM:lm - rerun-on-change: srilm-dir + rerun-on-change: srilm-dir group out: lm default-name: lm/interpolated-lm randomize diff --git a/scripts/ems/experiment.perl b/scripts/ems/experiment.perl index ae57efa7f..f8312730e 100755 --- a/scripts/ems/experiment.perl +++ b/scripts/ems/experiment.perl @@ -1838,13 +1838,16 @@ sub define_training_interpolated_lm_interpolate { $interpolation_script, $tuning, @LM) = &get_output_and_input($step_id); my $srilm_dir = &check_backoff_and_get("INTERPOLATED-LM:srilm-dir"); + my $group = &get("INTERPOLATED-LM:group"); + # get list of language model files my $lm_list = ""; foreach (@LM) { $lm_list .= $_.","; } chop($lm_list); + # sanity checks on order and factors my @LM_SETS = &get_sets("LM"); my %OUTPUT_FACTORS; @@ -1868,7 +1871,30 @@ sub define_training_interpolated_lm_interpolate { } } + # if grouping, identify position in list + my $numbered_string = ""; + if (defined($group)) { + my %POSITION; + foreach my $set (@LM_SETS) { + $POSITION{$set} = scalar keys %POSITION; + } + my $group_string = $group; + $group_string =~ s/\s+/ /g; + $group_string =~ s/ *, */,/g; + $group_string =~ s/^ //; + $group_string =~ s/ $//; + $group_string .= " "; + while($group_string =~ /^([^ ,]+)([ ,]+)(.*)$/) { + die("ERROR: unknown set $1 in INTERPOLATED-LM:group definition") + if ! defined($POSITION{$1}); + $numbered_string .= $POSITION{$1}.$2; + $group_string = $3; + } + chop($numbered_string); + } + my $cmd = "$interpolation_script --tuning $tuning --name $interpolated_lm --srilm $srilm_dir --lm $lm_list"; + $cmd .= " --group \"$numbered_string\"" if defined($group); &create_step($step_id,$cmd); } diff --git a/scripts/ems/support/interpolate-lm.perl b/scripts/ems/support/interpolate-lm.perl index 2c79d9b84..6b6840543 100755 --- a/scripts/ems/support/interpolate-lm.perl +++ b/scripts/ems/support/interpolate-lm.perl @@ -12,13 +12,14 @@ binmode(STDERR, ":utf8"); my $SRILM = "/home/pkoehn/moses/srilm/bin/i686-m64"; my $TEMPDIR = "/tmp"; -my ($TUNING,$LM,$NAME); +my ($TUNING,$LM,$NAME,$GROUP); -die("interpolate-lm.perl --tuning set --name out-lm --lm lm1,lm2,lm3 [--srilm srtilm-dir --tempdir tempdir]") +die("interpolate-lm.perl --tuning set --name out-lm --lm lm0,lm1,lm2,lm3 [--srilm srilm-dir --tempdir tempdir --group \"0,1 2,3\"]") unless &GetOptions('tuning=s' => => \$TUNING, 'name=s' => \$NAME, 'srilm=s' => \$SRILM, 'tempdir=s' => \$TEMPDIR, + 'group=s' => \$GROUP, 'lm=s' => \$LM); # check and set default to unset parameters @@ -52,49 +53,109 @@ foreach my $lm (@LM) { } print STDERR "language models have order $order.\n"; -my $tmp = tempdir(DIR=>$TEMPDIR); +# too many language models? group them first +if (!defined($GROUP) && scalar(@LM) > 10) { + print STDERR "more than 10, automatically grouping language models.\n"; + my $num_groups = int(scalar(@LM)/10 + 0.99); + my $size_groups = int(scalar(@LM)/$num_groups + 0.99); -# compute perplexity -my $i = 0; -foreach my $lm (@LM) { - print STDERR "compute perplexity for $lm\n"; - safesystem("$SRILM/ngram -unk -order $order -lm $lm -ppl $TUNING -debug 2 > $tmp/iplm.$$.$i") or die "Failed to compute perplexity for $lm\n"; - print STDERR `tail -n 2 $tmp/iplm.$$.$i`; - $i++; + $GROUP = ""; + for(my $i=0;$i<$num_groups;$i++) { + $GROUP .= " " unless $i==0; + for(my $j=0;$j<$size_groups;$j++) { + my $lm_i = $i*$size_groups+$j; + next if $lm_i >= scalar(@LM); + $GROUP .= "," unless $j==0; + $GROUP .= $lm_i; + } + } + print STDERR "groups: $GROUP\n"; } -# compute lambdas -print STDERR "computing lambdas...\n"; -my $cmd = "$SRILM/compute-best-mix"; -for(my $i=0;$i1; - $cmd .= $lm; - $cmd .= " -lambda " if $i==0; - $cmd .= " -mix-lambda$i " if $i>1; - $cmd .= $LAMBDA[$i] if $i!=1; - $i++; +# group language models into sub-interpolated models +my %ALREADY; +my $g = 0; +my @SUB_NAME; +foreach my $subgroup (split(/ /,$GROUP)) { + my @SUB_LM; + foreach my $lm_i (split(/,/,$subgroup)) { + die("ERROR: LM id $lm_i in group definition out of range") if $lm_i >= scalar(@LM); + push @SUB_LM,$LM[$lm_i]; + $ALREADY{$lm_i} = 1; + } + #if (scalar @SUB_NAME == 0 && scalar keys %ALREADY == scalar @LM) { + # print STDERR "WARNING: grouped all language models into one, perform normal interpolation\n"; + # &interpolate($NAME,@LM); + # exit; + #} + my $name = $NAME.".group-".chr(97+($g++)); + push @SUB_NAME,$name; + print STDERR "\n=== BUILDING SUB LM $name from\n\t".join("\n\t",@SUB_LM)."\n===\n\n"; + &interpolate($name, @SUB_LM); } -safesystem($cmd) or die "Failed."; +for(my $lm_i=0; $lm_i < scalar(@LM); $lm_i++) { + next if defined($ALREADY{$lm_i}); + push @SUB_NAME, $LM[$lm_i]; +} +print STDERR "\n=== BUILDING FINAL LM ===\n\n"; +&interpolate($NAME, @SUB_NAME); -rmtree($tmp); # remove the temp dir -print STDERR "done.\n"; +# main interpolation function +sub interpolate { + my ($name,@LM) = @_; + die("cannot interpolate more than 10 language models at once.") + if scalar(@LM) > 10; + + my $tmp = tempdir(DIR=>$TEMPDIR); + + # compute perplexity + my $i = 0; + foreach my $lm (@LM) { + print STDERR "compute perplexity for $lm\n"; + safesystem("$SRILM/ngram -unk -order $order -lm $lm -ppl $TUNING -debug 2 > $tmp/iplm.$$.$i") or die "Failed to compute perplexity for $lm\n"; + print STDERR `tail -n 2 $tmp/iplm.$$.$i`; + $i++; + } + + # compute lambdas + print STDERR "computing lambdas...\n"; + my $cmd = "$SRILM/compute-best-mix"; + for(my $i=0;$i1; + $cmd .= $lm; + $cmd .= " -lambda " if $i==0; + $cmd .= " -mix-lambda$i " if $i>1; + $cmd .= $LAMBDA[$i] if $i!=1; + $i++; + } + safesystem($cmd) or die "Failed."; + + rmtree($tmp); # remove the temp dir + print STDERR "done.\n"; +} sub safesystem { print STDERR "Executing: @_\n"; From 6561b32cbdffe12f249faf262aa3841119751c91 Mon Sep 17 00:00:00 2001 From: Philipp Koehn Date: Fri, 23 Dec 2011 05:16:29 +0000 Subject: [PATCH 09/32] allow for mix of interpolated and non-interpolated language models --- scripts/ems/experiment.meta | 16 +-- scripts/ems/experiment.perl | 229 +++++++++++++++++++++++++----------- 2 files changed, 163 insertions(+), 82 deletions(-) diff --git a/scripts/ems/experiment.meta b/scripts/ems/experiment.meta index 323e57097..60ed0f4fe 100644 --- a/scripts/ems/experiment.meta +++ b/scripts/ems/experiment.meta @@ -207,6 +207,7 @@ binarize rerun-on-change: lm default-name: lm/binlm template: $lm-binarizer IN OUT + error: set kMaxOrder to at least this value [INTERPOLATED-LM] single tuning-from-sgm @@ -260,20 +261,19 @@ randomize in: lm out: rlm pass-unless: lm-randomizer - default-name: lm/rlm + default-name: lm/interpolated-rlm quantize in: rlm out: qlm pass-unless: lm-quantizer default-name: lm/interpolated-qlm - template: $lm-quantizer IN OUT binarize in: qlm out: binlm pass-unless: lm-binarizer rerun-on-change: lm default-name: lm/interpolated-binlm - template: $lm-binarizer IN OUT + error: set kMaxOrder to at least this value [TRAINING] single consolidate @@ -370,17 +370,9 @@ build-generation-custom ignore-unless: AND generation-factors generation-corpus default-name: model/generation-table create-config - in: reordering-table phrase-translation-table generation-table LM:binlm - out: config - ignore-if: use-hiero INTERPOLATED-LM:script - rerun-on-change: decoding-steps alignment-factors translation-factors reordering-factors generation-factors lexicalized-reordering training-options script decoding-graph-backoff score-settings - default-name: model/moses.ini - error: Unknown option -create-config-interpolated-lm - in: reordering-table phrase-translation-table generation-table INTERPOLATED-LM:binlm + in: reordering-table phrase-translation-table generation-table INTERPOLATED-LM:binlm LM:binlm out: config ignore-if: use-hiero - ignore-unless: INTERPOLATED-LM:script rerun-on-change: decoding-steps alignment-factors translation-factors reordering-factors generation-factors lexicalized-reordering training-options script decoding-graph-backoff score-settings default-name: model/moses.ini error: Unknown option diff --git a/scripts/ems/experiment.perl b/scripts/ems/experiment.perl index f8312730e..b71881f26 100755 --- a/scripts/ems/experiment.perl +++ b/scripts/ems/experiment.perl @@ -934,7 +934,12 @@ sub define_step { &define_training_create_config($i); } elsif ($DO_STEP[$i] eq 'INTERPOLATED-LM:interpolate') { - &define_training_interpolated_lm_interpolate($i); + &define_interpolated_lm_interpolate($i); + } + elsif ($DO_STEP[$i] eq 'INTERPOLATED-LM:binarize' || + $DO_STEP[$i] eq 'INTERPOLATED-LM:quantize' || + $DO_STEP[$i] eq 'INTERPOLATED-LM:randomize') { + &define_interpolated_lm_process($i); } elsif ($DO_STEP[$i] eq 'TUNING:factorize-input') { &define_tuningevaluation_factorize($i); @@ -991,7 +996,10 @@ sub execute_steps { while(1) { # find steps to be done - for(my $i=0;$i<=$#DO_STEP;$i++) { + my $repeat_if_passed = 1; + while($repeat_if_passed) { + $repeat_if_passed = 0; + for(my $i=0;$i<=$#DO_STEP;$i++) { next if (defined($DONE{$i})); next if (defined($DO{$i})); next if (defined($CRASHED{$i})); @@ -1000,10 +1008,19 @@ sub execute_steps { foreach my $prev_step (@{$DEPENDENCY[$i]}) { $doable = 0 if !defined($DONE{$prev_step}); } - $DO{$i} = 1 if $doable; + next unless $doable; + $DO{$i} = 1; + + # immediately label pass steps as done + next unless defined($PASS{$i}); + $DONE{$i} = 1; + delete($DO{$i}); + $repeat_if_passed = 1; + } } print "number of steps doable or running: ".(scalar keys %DO)."\n"; + foreach my $step (keys %DO) { print "\t".($DO{$step}==2?"running: ":"doable: ").$DO_STEP[$step]."\n"; } return unless scalar keys %DO; # execute new step @@ -1033,7 +1050,7 @@ sub execute_steps { elsif ($CLUSTER || $active < $MAX_ACTIVE) { $active++; $DO{$i}++; - print "sh ($active)\n"; + print "sh ($active active)\n"; sleep(5); if (!fork) { `sh $step >$step.STDOUT 2> $step.STDERR`; @@ -1770,11 +1787,11 @@ sub define_training_create_config { # find out which language model files have been built my @LM_SETS = &get_sets("LM"); + my %INTERPOLATED_AWAY; my %OUTPUT_FACTORS; %OUTPUT_FACTORS = &get_factor_id("output") if &backoff_and_get("TRAINING:output-factors"); - my $interpolated = &get("INTERPOLATED-LM:script"); # flag - if ($interpolated) { + if (&get("INTERPOLATED-LM:script")) { my $type = 0; # binarizing the lm? $type = 1 if (&get("INTERPOLATED-LM:binlm") || @@ -1784,23 +1801,32 @@ sub define_training_create_config { &backoff_and_get("INTERPOLATED-LM:lm-randomizer")); # manually set type - $type = &get("INTERPOLATED-LM:type") if (&get("INTERPOLATED-LM:type")); + $type = &get("INTERPOLATED-LM:type") if &get("INTERPOLATED-LM:type"); - # order and factor inherited from individual LMs - my $set = shift @LM_SETS; - my $order = &check_backoff_and_get("LM:$set:order"); - my $factor = 0; - if (&backoff_and_get("TRAINING:output-factors") && - &backoff_and_get("LM:$set:factors")) { - $factor = $OUTPUT_FACTORS{&backoff_and_get("LM:$set:factors")}; - } - $cmd .= "-lm $factor:$order:$LM[0]:$type "; + # go through each interpolated language model + my ($icount,$ILM_SETS) = &get_interpolated_lm_sets(); + my $FACTOR = &backoff_and_get_array("TRAINING:output-factors"); + foreach my $factor (keys %{$ILM_SETS}) { + foreach my $order (keys %{$$ILM_SETS{$factor}}) { + next unless scalar(@{$$ILM_SETS{$factor}{$order}}) > 1; + my $suffix = ""; + $suffix = ".$$FACTOR[$factor]" if $icount > 1 && defined($FACTOR); + $suffix .= ".order$order" if $icount > 1; + $cmd .= "-lm $factor:$order:$LM[0]$suffix:$type "; + foreach my $id_set (@{$$ILM_SETS{$factor}{$order}}) { + my ($id,$set) = split(/ /,$id_set,2); + $INTERPOLATED_AWAY{$set} = 1; + } } - else { + } + shift @LM; + } + die("ERROR: number of defined LM sets (".(scalar @LM_SETS).":".join(",",@LM_SETS).") and LM files (".(scalar @LM).":".join(",",@LM).") does not match") unless scalar @LM == scalar @LM_SETS; foreach my $lm (@LM) { my $set = shift @LM_SETS; + next if defined($INTERPOLATED_AWAY{$set}); my $order = &check_backoff_and_get("LM:$set:order"); my $lm_file = "$lm"; my $type = 0; # default: SRILM @@ -1825,80 +1851,143 @@ sub define_training_create_config { } $cmd .= "-lm $factor:$order:$lm_file:$type "; - } } &create_step($step_id,$cmd); } -sub define_training_interpolated_lm_interpolate { +sub define_interpolated_lm_interpolate { my ($step_id) = @_; my ($interpolated_lm, - $interpolation_script, $tuning, @LM) - = &get_output_and_input($step_id); + $interpolation_script, $tuning, @LM) = &get_output_and_input($step_id); my $srilm_dir = &check_backoff_and_get("INTERPOLATED-LM:srilm-dir"); my $group = &get("INTERPOLATED-LM:group"); - # get list of language model files - my $lm_list = ""; - foreach (@LM) { - $lm_list .= $_.","; - } - chop($lm_list); + my $cmd = ""; + # go through language models by factor and order + my ($icount,$ILM_SETS) = &get_interpolated_lm_sets(); + foreach my $factor (keys %{$ILM_SETS}) { + foreach my $order (keys %{$$ILM_SETS{$factor}}) { + next unless scalar(@{$$ILM_SETS{$factor}{$order}}) > 1; - # sanity checks on order and factors - my @LM_SETS = &get_sets("LM"); - my %OUTPUT_FACTORS; - %OUTPUT_FACTORS = &get_factor_id("output") - if &backoff_and_get("TRAINING:output-factors"); - my ($factor,$order); - foreach my $set (@LM_SETS) { - my $set_order = &check_backoff_and_get("LM:$set:order"); - if (defined($order) && $order != $set_order) { - die("ERROR: language models have mismatching order - no interpolation possible!"); - } - $order = $set_order; - - if (&backoff_and_get("TRAINING:output-factors") && - &backoff_and_get("LM:$set:factors")) { - my $set_factor = $OUTPUT_FACTORS{&backoff_and_get("LM:$set:factors")}; - if (defined($factor) && $factor != $set_factor) { - die("ERROR: language models have mismatching factors - no interpolation possible!"); - } - $factor = $set_factor; - } - } + # get list of language model files + my $lm_list = ""; + foreach my $id_set (@{$$ILM_SETS{$factor}{$order}}) { + my ($id,$set) = split(/ /,$id_set,2); + $lm_list .= $LM[$id].","; + } + chop($lm_list); - # if grouping, identify position in list - my $numbered_string = ""; - if (defined($group)) { - my %POSITION; - foreach my $set (@LM_SETS) { - $POSITION{$set} = scalar keys %POSITION; - } - my $group_string = $group; - $group_string =~ s/\s+/ /g; - $group_string =~ s/ *, */,/g; - $group_string =~ s/^ //; - $group_string =~ s/ $//; - $group_string .= " "; - while($group_string =~ /^([^ ,]+)([ ,]+)(.*)$/) { - die("ERROR: unknown set $1 in INTERPOLATED-LM:group definition") + # if grouping, identify position in list + my $numbered_string = ""; + if (defined($group)) { + my %POSITION; + foreach my $id_set (@{$$ILM_SETS{$factor}{$order}}) { + my ($id,$set) = split(/ /,$id_set,2); + $POSITION{$set} = scalar keys %POSITION; + } + my $group_string = $group; + $group_string =~ s/\s+/ /g; + $group_string =~ s/ *, */,/g; + $group_string =~ s/^ //; + $group_string =~ s/ $//; + $group_string .= " "; + while($group_string =~ /^([^ ,]+)([ ,]+)(.*)$/) { + die("ERROR: unknown set $1 in INTERPOLATED-LM:group definition") if ! defined($POSITION{$1}); - $numbered_string .= $POSITION{$1}.$2; - $group_string = $3; + $numbered_string .= $POSITION{$1}.$2; + $group_string = $3; + } + chop($numbered_string); + } + + my $FACTOR = &backoff_and_get_array("TRAINING:output-factors"); + my $name = $interpolated_lm; + if ($icount > 1) { + $name .= ".$$FACTOR[$factor]" if defined($FACTOR); + $name .= ".order$order"; + } + $cmd .= "$interpolation_script --tuning $tuning --name $name --srilm $srilm_dir --lm $lm_list"; + $cmd .= " --group \"$numbered_string\"" if defined($group); + $cmd .= "\n"; } - chop($numbered_string); } - my $cmd = "$interpolation_script --tuning $tuning --name $interpolated_lm --srilm $srilm_dir --lm $lm_list"; - $cmd .= " --group \"$numbered_string\"" if defined($group); - + die("ERROR: Nothing to interpolate, remove interpolation step!") if $cmd eq ""; &create_step($step_id,$cmd); } +sub define_interpolated_lm_process { + my ($step_id) = @_; + + my ($processed_lm, $interpolatd_lm) = &get_output_and_input($step_id); + my ($module,$set,$stepname) = &deconstruct_name($DO_STEP[$step_id]); + my $tool = &check_backoff_and_get("INTERPOLATED-LM:lm-${stepname}r"); + my $FACTOR = &backoff_and_get_array("TRAINING:output-factors"); + + # go through language models by factor and order + my ($icount,$ILM_SETS) = &get_interpolated_lm_sets(); + my $cmd = ""; + foreach my $factor (keys %{$ILM_SETS}) { + foreach my $order (keys %{$$ILM_SETS{$factor}}) { + next unless scalar(@{$$ILM_SETS{$factor}{$order}}) > 1; + my $suffix = ""; + $suffix = ".$$FACTOR[$factor]" if $icount > 1 && defined($FACTOR); + $suffix .= ".order$order" if $icount > 1; + $cmd .= "$tool $interpolatd_lm$suffix $processed_lm$suffix\n"; + } + } + + &create_step($step_id,$cmd); +} + +sub get_interpolated_lm_processed_names { + my ($processed_lm) = @_; + my @ILM_NAME; + my ($icount,$ILM_SETS) = &get_interpolated_lm_sets(); + my $FACTOR = &backoff_and_get_array("TRAINING:output-factors"); + foreach my $factor (keys %{$ILM_SETS}) { + foreach my $order (keys %{$$ILM_SETS{$factor}}) { + if (scalar(@{$$ILM_SETS{$factor}{$order}}) > 1) { + my $suffix = ""; + $suffix = ".$$FACTOR[$factor]" if $icount > 1 && defined($FACTOR); + $suffix .= ".order$order" if $icount > 1; + push @ILM_NAME,"$processed_lm$suffix"; + } + else { + push @ILM_NAME,"$processed_lm.".($FACTOR?"":".$$FACTOR[$factor]").".order$order"; + } + } + } + return @ILM_NAME; +} + +sub get_interpolated_lm_sets { + my %ILM_SETS; + + my @LM_SETS = &get_sets("LM"); + my %OUTPUT_FACTORS; + %OUTPUT_FACTORS = &get_factor_id("output") if &backoff_and_get("TRAINING:output-factors"); + + my $count=0; + my $icount=0; + foreach my $set (@LM_SETS) { + my $order = &check_backoff_and_get("LM:$set:order"); + + my $factor = 0; + if (&backoff_and_get("TRAINING:output-factors") && + &backoff_and_get("LM:$set:factors")) { + $factor = $OUTPUT_FACTORS{&backoff_and_get("LM:$set:factors")}; + } + + push @{$ILM_SETS{$factor}{$order}}, ($count++)." ".$set; + $icount++ if scalar(@{$ILM_SETS{$factor}{$order}}) == 2; + } + return ($icount,\%ILM_SETS); +} + sub get_training_setting { my ($step) = @_; my $dir = &check_and_get("GENERAL:working-dir"); From 9ad507d19e82cd63e30941b7ca9eff3a93dd5b68 Mon Sep 17 00:00:00 2001 From: cservan Date: Fri, 23 Dec 2011 11:14:34 +0100 Subject: [PATCH 10/32] Fix the memory overflow --- mert/TerScorer.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/mert/TerScorer.cpp b/mert/TerScorer.cpp index 3f4ca65e8..e5e649e78 100644 --- a/mert/TerScorer.cpp +++ b/mert/TerScorer.cpp @@ -84,7 +84,7 @@ void TerScorer::prepareStats ( size_t sid, const string& text, ScoreStats& entry } else if ( result.scoreAv() > tmp_result.scoreAv() ) { result = tmp_result; } - + delete evaluation; } ostringstream stats; // multiplication by 100 in order to keep the average precision From 16cee5d79005646469f23a01212f93944e7631f3 Mon Sep 17 00:00:00 2001 From: cservan Date: Fri, 23 Dec 2011 13:34:19 +0100 Subject: [PATCH 11/32] update the script from the new mert-moses.pl --- scripts/training/mert-moses-multi.pl | 299 ++++++++++++++++++--------- 1 file changed, 203 insertions(+), 96 deletions(-) diff --git a/scripts/training/mert-moses-multi.pl b/scripts/training/mert-moses-multi.pl index 56ee9a91b..286d8a998 100755 --- a/scripts/training/mert-moses-multi.pl +++ b/scripts/training/mert-moses-multi.pl @@ -10,6 +10,7 @@ # Excerpts from revision history +# Dec 2011 update the script for the mert-moses.pl compatibility # Sept 2011 multi-threaded mert (Barry Haddow) # 3 Aug 2011 Added random directions, historic best, pairwise ranked (PK) # Jul 2011 simplifications (Ondrej Bojar) @@ -47,9 +48,13 @@ # 13 Oct 2004 Use alternative decoders (DWC) # Original version by Philipp Koehn +use strict; use FindBin qw($Bin); use File::Basename; use File::Path; +use File::Spec; +use Cwd; + my $SCRIPTS_ROOTDIR = $Bin; $SCRIPTS_ROOTDIR =~ s/\/training$//; $SCRIPTS_ROOTDIR = $ENV{"SCRIPTS_ROOTDIR"} if defined($ENV{"SCRIPTS_ROOTDIR"}); @@ -82,12 +87,16 @@ my $minimum_required_change_in_weights = 0.00001; my $verbose = 0; my $usage = 0; # request for --help -my $___WORKING_DIR = "mert-work"; + +# We assume that if you don't specify working directory, +# we set the default is set to `pwd`/mert-work +my $___WORKING_DIR = File::Spec->catfile(Cwd::getcwd(), "mert-work"); my $___DEV_F = undef; # required, input text to decode my $___DEV_E = undef; # required, basename of files with references my $___DECODER = undef; # required, pathname to the decoder executable my $___CONFIG = undef; # required, pathname to startup ini file my $___N_BEST_LIST_SIZE = 100; +my $___LATTICE_SAMPLES = 0; my $queue_flags = "-hard"; # extra parameters for parallelizer # the -l ws0ssmt was relevant only to JHU 2006 workshop my $___JOBS = undef; # if parallel, number of jobs to use (undef or 0 -> serial) @@ -133,7 +142,6 @@ my $filtercmd = undef; # path to filter-model-given-input.pl my $filterfile = undef; my $qsubwrapper = undef; my $moses_parallel_cmd = undef; -my $scorer_config = "BLEU:1"; my $old_sge = 0; # assume sge<6.0 my $___CONFIG_ORIG = undef; # pathname to startup ini file before filtering my $___ACTIVATE_FEATURES = undef; # comma-separated (or blank-separated) list of features to work on @@ -144,10 +152,10 @@ my $prev_aggregate_nbl_size = -1; # number of previous step to consider when loa # -1 means all previous, i.e. from iteration 1 # 0 means no previous data, i.e. from actual iteration # 1 means 1 previous data , i.e. from the actual iteration and from the previous one - # and so on + # and so on my $maximum_iterations = 25; +my $scorer_config = undef ; -use strict; use Getopt::Long; GetOptions( "working-dir=s" => \$___WORKING_DIR, @@ -157,6 +165,7 @@ GetOptions( "decoder=s" => \$___DECODER, "config=s" => \$___CONFIG, "nbest=i" => \$___N_BEST_LIST_SIZE, + "lattice-samples=i" => \$___LATTICE_SAMPLES, "queue-flags=s" => \$queue_flags, "jobs=i" => \$___JOBS, "decoder-flags=s" => \$___DECODER_FLAGS, @@ -191,8 +200,8 @@ GetOptions( "pairwise-ranked" => \$___PAIRWISE_RANKED_OPTIMIZER, "pro-starting-point" => \$___PRO_STARTING_POINT, "historic-interpolation=f" => \$___HISTORIC_INTERPOLATION, - "threads=i" => \$__THREADS, - "sc-config=s" => \$scorer_config + "sc-config=s" => \$scorer_config, + "threads=i" => \$__THREADS ) or exit(1); # the 4 required parameters can be supplied on the command line directly @@ -210,6 +219,7 @@ if ($usage || !defined $___DEV_F || !defined $___DEV_E || !defined $___DECODER | Options: --working-dir=mert-dir ... where all the files are created --nbest=100 ... how big nbestlist to generate + --lattice-samples ... how many lattice samples (Chatterjee & Cancedda, emnlp 2010) --jobs=N ... set this to anything to run moses in parallel --mosesparallelcmd=STR ... use a different script instead of moses-parallel --queue-flags=STRING ... anything you with to pass to qsub, eg. @@ -276,7 +286,7 @@ Options: --threads=NUMBER ... Use multi-threaded mert (must be compiled in). --historic-interpolation ... Interpolate optimized weights with prior iterations' weight (parameter sets factor [0;1] given to current weights) - --sc-config=STRING ... extra option to specify multiscoring. + --sc-config=\"METRIC1:WEIGHT1,METRIC2:WEIGHT2\" ... extra option to specify tuning with multiple metrics. "; exit 1; } @@ -284,7 +294,6 @@ Options: # Check validity of input parameters and set defaults if needed -print STDERR "Using WORKING_DIR: $___WORKING_DIR\n"; print STDERR "Using SCRIPTS_ROOTDIR: $SCRIPTS_ROOTDIR\n"; # path of script for filtering phrase tables and running the decoder @@ -308,9 +317,11 @@ if (!defined $mertdir) { my $mert_extract_cmd = "$mertdir/extractor"; my $mert_mert_cmd = "$mertdir/mert"; +my $mert_pro_cmd = "$mertdir/pro"; die "Not executable: $mert_extract_cmd" if ! -x $mert_extract_cmd; die "Not executable: $mert_mert_cmd" if ! -x $mert_mert_cmd; +die "Not executable: $mert_pro_cmd" if ! -x $mert_pro_cmd; my $pro_optimizer = "$mertdir/megam_i686.opt"; # or set to your installation if (($___PAIRWISE_RANKED_OPTIMIZER || $___PRO_STARTING_POINT) && ! -x $pro_optimizer) { @@ -610,6 +621,8 @@ my $oldallsorted = undef; my $allsorted = undef; my $nbest_file=undef; +my $lsamp_file=undef; #Lattice samples +my $orig_nbest_file=undef; # replaced if lattice sampling while(1) { $run++; @@ -629,8 +642,20 @@ while(1) { # skip running the decoder if the user wanted if (!$skip_decoder) { print "($run) run decoder to produce n-best lists\n"; - $nbest_file = run_decoder($featlist, $run, $need_to_normalize); + ($nbest_file,$lsamp_file) = run_decoder($featlist, $run, $need_to_normalize); $need_to_normalize = 0; + if ($___LATTICE_SAMPLES) { + my $combined_file = "$nbest_file.comb"; + safesystem("sort -k1,1n $nbest_file $lsamp_file > $combined_file") or + die("failed to merge nbest and lattice samples"); + safesystem("gzip -f $nbest_file; gzip -f $lsamp_file") or + die "Failed to gzip nbests and lattice samples"; + $orig_nbest_file = "$nbest_file.gz"; + $orig_nbest_file = "$nbest_file.gz"; + $lsamp_file = "$lsamp_file.gz"; + $lsamp_file = "$lsamp_file.gz"; + $nbest_file = "$combined_file"; + } safesystem("gzip -f $nbest_file") or die "Failed to gzip run*out"; $nbest_file = $nbest_file.".gz"; } @@ -648,9 +673,12 @@ while(1) { my $base_score_file = "scores.dat"; my $feature_file = "run$run.${base_feature_file}"; my $score_file = "run$run.${base_score_file}"; - -# # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # my $cmd = ""; + +if (defined($scorer_config)) +{ +#process the mulitple metric way + print STDERR "-- process the mulitple metric way --\n"; my $scorer_name; my $scorer_weight; $scorer_config=~s/ //g; @@ -659,108 +687,153 @@ while(1) { my $scorer_config_spec; foreach $scorer_config_spec(@lists_scorer_config) { -# print STDERR $scorer_config_spec."\n"; my @lists_scorer_config_spec=split(":",$scorer_config_spec); $scorer_name=$lists_scorer_config_spec[0]; $scorer_weight=$lists_scorer_config_spec[1]; -# print STDERR $scorer_name."\n"; -# print STDERR $scorer_weight."\n"; $cmd = "$mert_extract_cmd $mert_extract_args --scfile $score_file.$scorer_name --ffile $feature_file.$scorer_name --sctype $scorer_name -r ".join(",", @references)." -n $nbest_file"; -# print STDERR "LANCEMENT $scorer_name ********************************************\n"; &submit_or_exec($cmd,"extract.out.$scorer_name","extract.err.$scorer_name"); -# print STDERR "FIN $scorer_name ************************************************** \n"; -# print STDERR "executing $cmd\n"; - -# print STDERR "\n"; -# safesystem("date"); -# print STDERR "\n"; - -# if (defined $___JOBS) { -# safesystem("$qsubwrapper $pass_old_sge -command='$cmd' -queue-parameter=\"$queue_flags\" -stdout=extract.out.$scorer_name -stderr=extract.err.$scorer_name" ) -# or die "$scorer_name Failed to submit extraction to queue (via $qsubwrapper)"; -# } else { -# safesystem("$cmd > extract.out.$scorer_name 2> extract.err.$scorer_name") or die "$scorer_name Failed to do extraction of statistics."; -# } - -# print FILE "$scorer_name $scorer_weight $score_file.$scorer_name $feature_file.$scorer_name\n"; } -# print STDERR "CREATION INI\n"; my @scorer_content; my $fileIncrement=0; open(FILE,">merge.init") || die ("File creation ERROR : merge.init"); + my $minFileName=""; + my $minFileSize; + my %scoreFileContent; + my %featureFileContent; + my $firstContent; foreach $scorer_config_spec(@lists_scorer_config) { my @lists_scorer_config_spec=split(":",$scorer_config_spec); $scorer_name=$lists_scorer_config_spec[0]; $scorer_weight=$lists_scorer_config_spec[1]; print FILE "$scorer_name $scorer_weight $score_file.$scorer_name $feature_file.$scorer_name\n"; - my @tmp_content=`/bin/cat $score_file.$scorer_name`; - $scorer_content[$fileIncrement] = [ @tmp_content ]; + my @tmp_scoreContent=`/bin/cat $score_file.$scorer_name`; + my @tmp_featContent=`/bin/cat $feature_file.$scorer_name`; + my $localIncrementFileContent=0; + my $fileContentInfo=0; + my $localIncrementInfo=0; + for ($localIncrementFileContent=0; $localIncrementFileContent-1) + { + my @split_local=split(" ",$tmp_scoreContent[$localIncrementFileContent]); + $fileContentInfo=$split_local[1]; + + $localIncrementInfo=0; + } + chomp($tmp_scoreContent[$localIncrementFileContent]); + chomp($tmp_featContent[$localIncrementFileContent]); + $scoreFileContent{$fileIncrement}{$fileContentInfo}{$localIncrementInfo}=$tmp_scoreContent[$localIncrementFileContent]; + $featureFileContent{$fileIncrement}{$fileContentInfo}{$localIncrementInfo}=$tmp_featContent[$localIncrementFileContent]; + $localIncrementInfo++; + } if ($fileIncrement==0) { - `/bin/cp $feature_file.$scorer_name $feature_file`; + $minFileSize=$localIncrementFileContent; + $minFileName=$scorer_name; + } + else + { + if ($minFileSize>$localIncrementFileContent) + { + $minFileSize=$localIncrementFileContent; + $minFileName=$scorer_name; + } } $fileIncrement++; } close(FILE); -# print STDERR "\n"; -# safesystem("date"); -# print STDERR "\n"; -# print STDERR "ON VA RASSEMBLER dans $score_file\n"; open(SCOREFILE,">$score_file") || die ("File creation ERROR : $score_file"); + open(FEATUREFILE,">$feature_file") || die ("File creation ERROR : $feature_file"); my $newFileIncrement=0; my $contentIncrement=0; - my $contentSize=scalar(@{$scorer_content[0]}); -# print STDERR "TAILLE : ".$contentSize."|".$fileIncrement."\n"; - while ($contentIncrement< $contentSize) + my @nbestSize; + my $contentSize; + my $lineScore=""; + my $lineFeature=""; + my $minSize; + my $localContentIncrement=0; + my @localContentSizeSize; + my $scoreFileName; + my $notFinished=1; + my $scoreName=$minFileName; + my $minInfoSize=-1; + $fileIncrement=0; + while (defined($scoreFileContent{$fileIncrement}{$contentIncrement})) { - my $line=""; - $newFileIncrement=0; - while($newFileIncrement< $fileIncrement) + if ($localContentIncrement==0) { - if (rindex($scorer_content[$newFileIncrement][$contentIncrement],"BEGIN")<0) - { - $line=$line." ".$scorer_content[$newFileIncrement][$contentIncrement]; - chomp($line); - } - else - { - my @split_line_input=split(" ",$scorer_content[$newFileIncrement][$contentIncrement]); - my @split_line=split(" ",$line); + foreach $fileIncrement(sort keys %scoreFileContent) + { +# process the score file + my @tmp_split=split(" ",$scoreFileContent{$fileIncrement}{$contentIncrement}{$localContentIncrement}); + if ($minInfoSize==-1) + { + $minInfoSize=$tmp_split[2]; + } + elsif ($minInfoSize>$tmp_split[2]) + { + $minInfoSize=$tmp_split[2]; + } + my @split_line=split(" ",$lineScore); if (scalar(@split_line)>0) { - $split_line_input[3]=$split_line[3]+$split_line_input[3]; + $tmp_split[3]=$split_line[3]+$tmp_split[3]; } - $line=$split_line_input[0]." ".$split_line_input[1]." ".$split_line_input[2]." ".$split_line_input[3]." MERGE"; + $lineScore=$tmp_split[0]." ".$contentIncrement." ".$minInfoSize." ".$tmp_split[3]." MERGE"; +# process the feature file + @tmp_split=split(" ",$featureFileContent{$fileIncrement}{$contentIncrement}{$localContentIncrement}); + $lineFeature=$tmp_split[0]." ".$contentIncrement." ".$minInfoSize." ".$tmp_split[3]." MERGE"; + } - $newFileIncrement++; + $localContentIncrement++; } - $line=~s/^[ ]+//g; - $line=~s/[ ]+$//g; - $line=~s/[ ]+/ /g; -# print STDERR $line."\n"; - print SCOREFILE $line."\n"; - $contentIncrement++; + else + { + LOOP_CONTENT: foreach $scoreName(sort keys %scoreFileContent) + { + if ((rindex($scoreFileContent{$fileIncrement}{$contentIncrement}{$localContentIncrement},"END")>-1) || ($minInfoSize < $localContentIncrement)) + { + $lineScore="SCORES_TXT_END_0"; + $lineFeature="FEATURES_TXT_END_0"; + $localContentIncrement=0; + $contentIncrement++; + $minInfoSize=-1; + last LOOP_CONTENT; + } + else + { + $lineScore=$lineScore." ".$scoreFileContent{$fileIncrement}{$contentIncrement}{$localContentIncrement}; + $lineFeature=$featureFileContent{$fileIncrement}{$contentIncrement}{$localContentIncrement}; + } + } + if ($localContentIncrement!=0) + { + $localContentIncrement++; + } + } + $lineScore=~s/^[ ]+//g; + $lineScore=~s/[ ]+$//g; + $lineScore=~s/[ ]+/ /g; + $lineFeature=~s/^[ ]+//g; + $lineFeature=~s/[ ]+$//g; + $lineFeature=~s/[ ]+/ /g; + print SCOREFILE $lineScore."\n"; + print FEATUREFILE $lineFeature."\n"; + $lineScore=""; + $lineFeature=""; + } + close(SCOREFILE); + close(FEATUREFILE); + } + else + { + # continue with the classical way + $cmd = "$mert_extract_cmd $mert_extract_args --scfile $score_file --ffile $feature_file -r ".join(",", @references)." -n $nbest_file"; + $cmd = create_extractor_script($cmd, $___WORKING_DIR); + &submit_or_exec($cmd,"extract.out","extract.err"); } - close(SCOREFILE); -# `/bin/cp ` - -# $cmd="$mertdir/mergeWeights -c merge.init -s $score_file -f $feature_file"; -# print STDERR "executing : $cmd\n"; - -# if (defined $___JOBS) { -# safesystem("$qsubwrapper $pass_old_sge -command='$cmd' -queue-parameter=\"$queue_flags\" -stdout=mergeWeight.out.MERGE -stderr=mergeWeight.err.MERGE" ) -# or die "MERGE Failed to submit extraction to queue (via $qsubwrapper)"; -# } else { -# safesystem("$cmd > mergeWeight.out.MERGE 2> mergeWeight.err.MERGE") or die "MERGE Failed to do extraction of statistics."; -# } - -# # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # - -# my $cmd = "$mert_extract_cmd $mert_extract_args --scfile $score_file --ffile $feature_file -r ".join(",", @references)." -n $nbest_file"; -# &submit_or_exec($cmd,"extract.out","extract.err"); - # Create the initial weights file for mert: init.opt my @MIN = @{$featlist->{"mins"}}; @@ -785,10 +858,12 @@ while(1) { $cmd = "$mert_mert_cmd -d $DIM $mert_mert_args"; my $mert_settings = " -n $___RANDOM_RESTARTS"; + my $seed_settings = ""; if ($___PREDICTABLE_SEEDS) { my $seed = $run * 1000; - $mert_settings .= " -r $seed"; + $seed_settings .= " -r $seed"; } + $mert_settings .= $seed_settings; if ($___RANDOM_DIRECTIONS) { if ($___NUM_RANDOM_DIRECTIONS == 0) { $mert_settings .= " -m 50"; @@ -802,19 +877,25 @@ while(1) { $mert_settings .= " --threads $__THREADS"; } - my $file_settings = ""; + my $ffiles = ""; + my $scfiles = ""; if (defined $prev_feature_file) { - $file_settings .= " --ffile $prev_feature_file,$feature_file"; + $ffiles = "$prev_feature_file,$feature_file"; } else{ - $file_settings .= " --ffile $feature_file"; + $ffiles = "$feature_file"; } if (defined $prev_score_file) { - $file_settings .= " --scfile $prev_score_file,$score_file"; + $scfiles = "$prev_score_file,$score_file"; } else{ - $file_settings .= " --scfile $score_file"; + $scfiles = "$score_file"; } + + my $file_settings = " --ffile $ffiles --scfile $scfiles"; + my $pro_file_settings = "--ffile " . join( " --ffile ", split(/,/, $ffiles)) . + " --scfile " . join( " --scfile ", split(/,/, $scfiles)); + if ($___START_WITH_HISTORIC_BESTS && defined $prev_init_file) { $file_settings .= " --ifile $prev_init_file,run$run.$weights_in_file"; } @@ -826,13 +907,13 @@ while(1) { # pro optimization if ($___PAIRWISE_RANKED_OPTIMIZER) { - $cmd .= " --pro run$run.pro.data ; echo 'not used' > $weights_out_file; $pro_optimizer -fvals -maxi 30 -nobias binary run$run.pro.data"; + $cmd = "$mert_pro_cmd $seed_settings $pro_file_settings -o run$run.pro.data ; echo 'not used' > $weights_out_file; $pro_optimizer -fvals -maxi 30 -nobias binary run$run.pro.data"; &submit_or_exec($cmd,$mert_outfile,$mert_logfile); } # first pro, then mert elsif ($___PRO_STARTING_POINT) { # run pro... - my $pro_cmd = $cmd." --pro run$run.pro.data ; $pro_optimizer -fvals -maxi 30 -nobias binary run$run.pro.data"; + my $pro_cmd = "$mert_pro_cmd $seed_settings $pro_file_settings -o run$run.pro.data ; $pro_optimizer -fvals -maxi 30 -nobias binary run$run.pro.data"; &submit_or_exec($pro_cmd,"run$run.pro.out","run$run.pro.err"); # ... get results ... my %dummy; @@ -858,9 +939,8 @@ while(1) { chomp $extractFiles; safesystem ("\\cp -f $extractFiles run$run.$extractFiles") or die; } - -# safesystem ("\\cp -f extract.err run$run.extract.err") or die; -# safesystem ("\\cp -f extract.out run$run.extract.out") or die; +# safesystem ("\\cp -f extract.err run$run.extract.err") or die; +# safesystem ("\\cp -f extract.out run$run.extract.out") or die; safesystem ("\\cp -f $mert_outfile run$run.$mert_outfile") or die; safesystem ("\\cp -f $mert_logfile run$run.$mert_logfile") or die; safesystem ("touch $mert_logfile run$run.$mert_logfile") or die; @@ -985,7 +1065,7 @@ if (defined $allsorted){ safesystem ("\\rm -f $allsorted") or die; }; safesystem("\\cp -f $weights_in_file run$run.$weights_in_file") or die; safesystem("\\cp -f $mert_logfile run$run.$mert_logfile") or die; -create_config($___CONFIG_ORIG, "./moses.ini", $featlist, $run, $devbleu); +create_config($___CONFIG_ORIG, "./moses.ini", $featlist, $run, $devbleu, $sparse_weights_file); # just to be sure that we have the really last finished step marked open F, "> finished_step.txt" or die "Can't mark finished step"; @@ -1040,6 +1120,11 @@ sub run_decoder { my ($featlist, $run, $need_to_normalize) = @_; my $filename_template = "run%d.best$___N_BEST_LIST_SIZE.out"; my $filename = sprintf($filename_template, $run); + my $lsamp_filename = undef; + if ($___LATTICE_SAMPLES) { + my $lsamp_filename_template = "run%d.lsamp$___LATTICE_SAMPLES.out"; + $lsamp_filename = sprintf($lsamp_filename_template, $run); + } # user-supplied parameters print "params = $___DECODER_FLAGS\n"; @@ -1060,23 +1145,28 @@ sub run_decoder { $model_weights{$name} .= sprintf " %.6f", $vals[$i]; } my $decoder_config = join(" ", values %model_weights); + $decoder_config .= " -weight-file run$run.sparse-weights" if -e "run$run.sparse-weights"; print STDERR "DECODER_CFG = $decoder_config\n"; print "decoder_config = $decoder_config\n"; + # run the decoder - my $nBest_cmd = "-n-best-size $___N_BEST_LIST_SIZE"; my $decoder_cmd; + my $lsamp_cmd = ""; + if ($___LATTICE_SAMPLES) { + $lsamp_cmd = " -lattice-samples $lsamp_filename $___LATTICE_SAMPLES "; + } if (defined $___JOBS && $___JOBS > 0) { - $decoder_cmd = "$moses_parallel_cmd $pass_old_sge -config $___CONFIG -inputtype $___INPUTTYPE -qsub-prefix mert$run -queue-parameters \"$queue_flags\" -decoder-parameters \"$___DECODER_FLAGS $decoder_config\" -n-best-list \"$filename $___N_BEST_LIST_SIZE\" -input-file $___DEV_F -jobs $___JOBS -decoder $___DECODER > run$run.out"; + $decoder_cmd = "$moses_parallel_cmd $pass_old_sge -config $___CONFIG -inputtype $___INPUTTYPE -qsub-prefix mert$run -queue-parameters \"$queue_flags\" -decoder-parameters \"$___DECODER_FLAGS $decoder_config\" $lsamp_cmd -n-best-list \"$filename $___N_BEST_LIST_SIZE\" -input-file $___DEV_F -jobs $___JOBS -decoder $___DECODER > run$run.out"; } else { - $decoder_cmd = "$___DECODER $___DECODER_FLAGS -config $___CONFIG -inputtype $___INPUTTYPE $decoder_config -n-best-list $filename $___N_BEST_LIST_SIZE -input-file $___DEV_F > run$run.out"; + $decoder_cmd = "$___DECODER $___DECODER_FLAGS -config $___CONFIG -inputtype $___INPUTTYPE $decoder_config $lsamp_cmd -n-best-list $filename $___N_BEST_LIST_SIZE -input-file $___DEV_F > run$run.out"; } safesystem($decoder_cmd) or die "The decoder died. CONFIG WAS $decoder_config \n"; sanity_check_order_of_lambdas($featlist, $filename); - return $filename; + return ($filename, $lsamp_filename); } @@ -1374,3 +1464,20 @@ sub submit_or_exec { safesystem("$cmd > $stdout 2> $stderr") or die "ERROR: Failed to run '$cmd'."; } } + +sub create_extractor_script +{ + my ($cmd, $outdir) = @_; + my $script_path = File::Spec->catfile($outdir, "extractor.sh"); + + open my $out, '>', $script_path + or die "Couldn't open $script_path for writing: $!\n"; + print $out "#!/bin/bash\n"; + print $out "cd $outdir\n"; + print $out "$cmd\n"; + close($out); + + `chmod +x $script_path`; + + return $script_path; +} From 8b2fe1be96d34b2866af6bd3242d0921600965de Mon Sep 17 00:00:00 2001 From: Hieu Hoang Date: Mon, 26 Dec 2011 17:25:13 +0700 Subject: [PATCH 12/32] visual studio --- contrib/other-builds/kenlm.vcxproj | 159 +++++++++++++++++++++++++++++ 1 file changed, 159 insertions(+) create mode 100644 contrib/other-builds/kenlm.vcxproj diff --git a/contrib/other-builds/kenlm.vcxproj b/contrib/other-builds/kenlm.vcxproj new file mode 100644 index 000000000..3758630d0 --- /dev/null +++ b/contrib/other-builds/kenlm.vcxproj @@ -0,0 +1,159 @@ + + + + + Debug + Win32 + + + Release + Win32 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + {A5402E0B-6ED7-465C-9669-E4124A0CDDCB} + Win32Proj + kenlm + + + + StaticLibrary + true + Unicode + + + StaticLibrary + false + true + Unicode + + + + + + + + + + + + + + + + + Level3 + Disabled + WIN32;_DEBUG;_LIB;%(PreprocessorDefinitions) + C:\Program Files\boost\boost_1_47;$(SolutionDir)/../.. + + + Windows + true + + + + + Level3 + + + MaxSpeed + true + true + WIN32;NDEBUG;_LIB;%(PreprocessorDefinitions) + C:\Program Files\boost\boost_1_47;$(SolutionDir)/../.. + + + Windows + true + true + true + + + + + + \ No newline at end of file From 94b4ab16c7e0519f1483a3a5a67a3ec51a3d0043 Mon Sep 17 00:00:00 2001 From: Hieu Hoang Date: Tue, 27 Dec 2011 12:08:52 +0700 Subject: [PATCH 13/32] mgiza exec, according to Marwen Azouzi --- scripts/training/train-model.perl.missing_bin_dir | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/scripts/training/train-model.perl.missing_bin_dir b/scripts/training/train-model.perl.missing_bin_dir index 18eb80eb1..5f8493d44 100755 --- a/scripts/training/train-model.perl.missing_bin_dir +++ b/scripts/training/train-model.perl.missing_bin_dir @@ -184,7 +184,7 @@ if(!defined $_MGIZA ){ print STDERR "Using single-thread GIZA\n"; } else { - $GIZA = "$BINDIR/mgizapp"; + $GIZA = "$BINDIR/mgiza"; print STDERR "Using multi-thread GIZA\n"; if (!defined($_MGIZA_CPUS)) { $_MGIZA_CPUS=4; From f0ffa223b22ad16d979aa5a2da1570279fa26d50 Mon Sep 17 00:00:00 2001 From: Hieu Hoang Date: Thu, 29 Dec 2011 19:47:44 +0700 Subject: [PATCH 14/32] observe max-phrase-length, as reported by Lang Jun --- scripts/training/train-model.perl.missing_bin_dir | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/scripts/training/train-model.perl.missing_bin_dir b/scripts/training/train-model.perl.missing_bin_dir index 18eb80eb1..d7ce1614f 100755 --- a/scripts/training/train-model.perl.missing_bin_dir +++ b/scripts/training/train-model.perl.missing_bin_dir @@ -304,6 +304,8 @@ my $___CONTINUE = 0; $___CONTINUE = $_CONTINUE if $_CONTINUE; my $___MAX_PHRASE_LENGTH = "7"; +$___MAX_PHRASE_LENGTH = "10" if $_HIERARCHICAL; + my $___LEXICAL_WEIGHTING = 1; my $___LEXICAL_FILE = $___MODEL_DIR."/lex"; $___MAX_PHRASE_LENGTH = $_MAX_PHRASE_LENGTH if $_MAX_PHRASE_LENGTH; @@ -1308,6 +1310,8 @@ sub extract_phrase { my $cmd; if ($_HIERARCHICAL) { + my $max_length = &get_max_phrase_length($table_number); + $cmd = "$RULE_EXTRACT $alignment_file_e $alignment_file_f $alignment_file_a $extract_file"; $cmd .= " --GlueGrammar $___GLUE_GRAMMAR_FILE" if $_GLUE_GRAMMAR; $cmd .= " --UnknownWordLabel $_UNKNOWN_WORD_LABEL_FILE" if $_TARGET_SYNTAX && defined($_UNKNOWN_WORD_LABEL_FILE); @@ -1315,6 +1319,7 @@ sub extract_phrase { $cmd .= " --SourceSyntax" if $_SOURCE_SYNTAX; $cmd .= " --TargetSyntax" if $_TARGET_SYNTAX; } + $cmd .= " --MaxSpan $max_length"; $cmd .= " ".$_EXTRACT_OPTIONS if defined($_EXTRACT_OPTIONS); } else From 0e1ca2aad13861ec2c226939a57af97982a79834 Mon Sep 17 00:00:00 2001 From: Hieu Hoang Date: Fri, 30 Dec 2011 17:36:32 +0700 Subject: [PATCH 15/32] abort if threading with irst --- moses/src/LM/IRST.cpp | 8 ++++++++ moses/src/PDTAimp.h | 8 +++++--- 2 files changed, 13 insertions(+), 3 deletions(-) diff --git a/moses/src/LM/IRST.cpp b/moses/src/LM/IRST.cpp index 692385b4d..2131accd6 100644 --- a/moses/src/LM/IRST.cpp +++ b/moses/src/LM/IRST.cpp @@ -33,6 +33,7 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA #include "Phrase.h" #include "InputFileStream.h" #include "StaticData.h" +#include "UserMessage.h" using namespace std; @@ -62,6 +63,13 @@ bool LanguageModelIRST::Load(const std::string &filePath, { cerr << "In LanguageModelIRST::Load: nGramOrder = " << nGramOrder << "\n"; + const StaticData &staticData = StaticData::Instance(); + if (staticData.ThreadCount() != 1) + { + UserMessage::Add("IRST LM not-threadsafe"); + return false; + } + FactorCollection &factorCollection = FactorCollection::Instance(); m_factorType = factorType; diff --git a/moses/src/PDTAimp.h b/moses/src/PDTAimp.h index 4b0fc6120..a37275f4d 100644 --- a/moses/src/PDTAimp.h +++ b/moses/src/PDTAimp.h @@ -197,9 +197,11 @@ public: std::string binFname=filePath+".binphr.idx"; if(!FileExists(binFname.c_str())) { - TRACE_ERR( "bin ttable does not exist -> create it\n"); - InputFileStream in(filePath); - m_dict->Create(in,filePath); + UserMessage::Add( "bin ttable does not exist\n"); + abort(); + //TRACE_ERR( "bin ttable does not exist -> create it\n"); + //InputFileStream in(filePath); + //m_dict->Create(in,filePath); } TRACE_ERR( "reading bin ttable\n"); // m_dict->Read(filePath); From 911c1a4413b52aa19ee7820348e098940b0f7b6e Mon Sep 17 00:00:00 2001 From: Hieu Hoang Date: Tue, 3 Jan 2012 22:14:57 +0700 Subject: [PATCH 16/32] support for mgiza, without having to install giza++ as well. By Marwen Azouzi --- .../training/train-model.perl.missing_bin_dir | 35 +++++++++++++------ 1 file changed, 25 insertions(+), 10 deletions(-) diff --git a/scripts/training/train-model.perl.missing_bin_dir b/scripts/training/train-model.perl.missing_bin_dir index 1cad9b8b5..c583a1305 100755 --- a/scripts/training/train-model.perl.missing_bin_dir +++ b/scripts/training/train-model.perl.missing_bin_dir @@ -40,7 +40,7 @@ my($_ROOT_DIR, $_CORPUS_DIR, $_GIZA_E2F, $_GIZA_F2E, $_MODEL_DIR, $_TEMP_DIR, $_ my $debug = 0; # debug this script, do not delete any files in debug mode # the following line is set installation time by 'make release'. BEWARE! -my $BINDIR="/home/pkoehn/statmt/bin"; +my $BINDIR="/home/azouzi/SMT-Engine/Tools/Giza"; $_HELP = 1 unless &GetOptions('root-dir=s' => \$_ROOT_DIR, @@ -179,20 +179,30 @@ foreach my $step (@step_conf) { # supporting binaries from other packages my $MGIZA_MERGE_ALIGN = "$BINDIR/merge_alignment.py"; my $GIZA; +my $SNT2COOC; + if(!defined $_MGIZA ){ $GIZA = "$BINDIR/GIZA++"; + if (-x "$BINDIR/snt2cooc.out") { + $SNT2COOC = "$BINDIR/snt2cooc.out"; + } elsif (-x "$BINDIR/snt2cooc") { # Since "snt2cooc.out" and "snt2cooc" work the same + $SNT2COOC = "$BINDIR/snt2cooc"; + } print STDERR "Using single-thread GIZA\n"; -} -else { - $GIZA = "$BINDIR/mgiza"; +} else { + $GIZA = "$BINDIR/mgiza"; + if (-x "$BINDIR/snt2cooc") { + $SNT2COOC = "$BINDIR/snt2cooc"; + } elsif (-x "$BINDIR/snt2cooc.out") { # Important for users that use MGIZA and copy only the "mgiza" file to $BINDIR + $SNT2COOC = "$BINDIR/snt2cooc.out"; + } print STDERR "Using multi-thread GIZA\n"; - if (!defined($_MGIZA_CPUS)) { - $_MGIZA_CPUS=4; - } + if (!defined($_MGIZA_CPUS)) { + $_MGIZA_CPUS=4; + } die("ERROR: Cannot find $MGIZA_MERGE_ALIGN") unless (-x $MGIZA_MERGE_ALIGN); } -my $SNT2COOC = "$BINDIR/snt2cooc.out"; my $MKCLS = "$BINDIR/mkcls"; # supporting scripts/binaries from this package @@ -219,8 +229,8 @@ my $BZCAT = "bzcat"; # do a sanity check to make sure we can find the necessary binaries since # these are not installed by default # not needed if we start after step 2 -die("ERROR: Cannot find mkcls, GIZA++, & snt2cooc.out in $BINDIR.\nDid you install this script using 'make release'?") unless ((!$STEPS[2]) || - (-x $GIZA && -x $SNT2COOC && -x $MKCLS)); +die("ERROR: Cannot find mkcls, GIZA++/mgiza, & snt2cooc.out/snt2cooc in $BINDIR.\nDid you install this script using 'make release'?") unless ((!$STEPS[2]) || + (-x $GIZA && defined($SNT2COOC) && -x $MKCLS)); # set varibles to defaults or from options my $___ROOT_DIR = "."; @@ -1042,8 +1052,13 @@ sub run_single_snt2cooc { my($dir,$e,$f,$vcb_e,$vcb_f,$train) = @_; print STDERR "(2.1a) running snt2cooc $f-$e @ ".`date`."\n"; safesystem("mkdir -p $dir") or die("ERROR"); + if ($SNT2COOC eq "$BINDIR/snt2cooc.out") { print "$SNT2COOC $vcb_e $vcb_f $train > $dir/$f-$e.cooc\n"; safesystem("$SNT2COOC $vcb_e $vcb_f $train > $dir/$f-$e.cooc") or die("ERROR"); + } else { + print "$SNT2COOC $dir/$f-$e.cooc $vcb_e $vcb_f $train\n"; + safesystem("$SNT2COOC $dir/$f-$e.cooc $vcb_e $vcb_f $train") or die("ERROR"); + } } ### (3) CREATE WORD ALIGNMENT FROM GIZA ALIGNMENTS From 48e91f5d0415e83c619c57e888c296e6954cb38f Mon Sep 17 00:00:00 2001 From: Hieu Hoang Date: Tue, 3 Jan 2012 22:17:12 +0700 Subject: [PATCH 17/32] Sample java client for moses server. By Marwen Azouzi --- contrib/server/SampleClient.java | 46 ++++++++++++++++++++++++++++++++ 1 file changed, 46 insertions(+) create mode 100644 contrib/server/SampleClient.java diff --git a/contrib/server/SampleClient.java b/contrib/server/SampleClient.java new file mode 100644 index 000000000..1710c553e --- /dev/null +++ b/contrib/server/SampleClient.java @@ -0,0 +1,46 @@ +// +// Java Sample client for mosesserver (Created by Marwen AZOUZI) +// The XML-RPC libraries are available at Apache (http://ws.apache.org/xmlrpc/) +// + +import java.util.HashMap; +import java.net.URL; +import org.apache.xmlrpc.client.XmlRpcClient; +import org.apache.xmlrpc.client.XmlRpcClientConfigImpl; + +public class SampleClient { + public static void main(String[] args) { + try { + // Create an instance of XmlRpcClient + XmlRpcClientConfigImpl config = new XmlRpcClientConfigImpl(); + config.setServerURL(new URL("http://localhost:8080/RPC2")); + XmlRpcClient client = new XmlRpcClient(); + client.setConfig(config); + // The XML-RPC data type used by mosesserver is . In Java, this data type can be represented using HashMap. + HashMap mosesParams = new HashMap(); + String textToTranslate = new String("some text to translate ."); + mosesParams.put("text", textToTranslate); + mosesParams.put("align", "true"); + mosesParams.put("report-all-factors", "true"); + // The XmlRpcClient.execute method doesn't accept Hashmap (pParams). It's either Object[] or List. + Object[] params = new Object[] { null }; + params[0] = mosesParams; + // Invoke the remote method "translate". The result is an Object, convert it to a HashMap. + HashMap result = (HashMap)client.execute("translate", params); + // Print the returned results + String textTranslation = (String)result.get("text"); + System.out.println("Input : "+textToTranslate); + System.out.println("Translation : "+textTranslation); + if (result.get("align") != null){ + Object[] aligns = (Object[])result.get("align"); + System.out.println("Phrase alignments : [Source Start:Source End][Target Start]"); + for ( Object element : aligns) { + HashMap align = (HashMap)element; + System.out.println("["+align.get("src-start")+":"+align.get("src-end")+"]["+align.get("tgt-start")+"]"); + } + } + } catch (Exception e) { + e.printStackTrace(); + } + } +} From 6fda48eaefa15b9df3ac7c80910f6c29f2355037 Mon Sep 17 00:00:00 2001 From: Hieu Hoang Date: Wed, 4 Jan 2012 23:29:31 +0700 Subject: [PATCH 18/32] error message --- scripts/training/phrase-extract/extract-lex.cpp | 16 ++++++++++++++-- scripts/training/phrase-extract/extract-lex.h | 2 +- 2 files changed, 15 insertions(+), 3 deletions(-) diff --git a/scripts/training/phrase-extract/extract-lex.cpp b/scripts/training/phrase-extract/extract-lex.cpp index 0be2b773a..9b03a6da0 100644 --- a/scripts/training/phrase-extract/extract-lex.cpp +++ b/scripts/training/phrase-extract/extract-lex.cpp @@ -64,7 +64,7 @@ int main(int argc, char* argv[]) << toksAlign.size() << " " << lineAlign << endl; */ - extractSingleton.Process(toksTarget, toksSource, toksAlign); + extractSingleton.Process(toksTarget, toksSource, toksAlign, lineCount); ++lineCount; } @@ -86,7 +86,7 @@ const std::string *Vocab::GetOrAdd(const std::string &word) return ret; } -void ExtractLex::Process(vector &toksTarget, vector &toksSource, vector &toksAlign) +void ExtractLex::Process(vector &toksTarget, vector &toksSource, vector &toksAlign, size_t lineCount) { std::vector m_sourceAligned(toksSource.size(), false) , m_targetAligned(toksTarget.size(), false); @@ -99,6 +99,18 @@ void ExtractLex::Process(vector &toksTarget, vector &toksSource, vector alignPos; Tokenize(alignPos, alignTok, "-"); assert(alignPos.size() == 2); + + if (alignPos[0] >= toksSource.size()) + { + cerr << "ERROR: alignment over source length. Alignment " << alignPos[0] << " at line " << lineCount << endl; + continue; + } + if (alignPos[1] >= toksTarget.size()) + { + cerr << "ERROR: alignment over target length. Alignment " << alignPos[1] << " at line " << lineCount << endl; + continue; + } + assert(alignPos[0] < toksSource.size()); assert(alignPos[1] < toksTarget.size()); diff --git a/scripts/training/phrase-extract/extract-lex.h b/scripts/training/phrase-extract/extract-lex.h index cd705a034..e2225ecbc 100644 --- a/scripts/training/phrase-extract/extract-lex.h +++ b/scripts/training/phrase-extract/extract-lex.h @@ -110,7 +110,7 @@ class ExtractLex void Output(const std::map &coll, std::ofstream &outStream); public: - void Process(std::vector &toksTarget, std::vector &toksSource, std::vector &toksAlign); + void Process(std::vector &toksTarget, std::vector &toksSource, std::vector &toksAlign, size_t lineCount); void Output(std::ofstream &streamLexS2T, std::ofstream &streamLexT2S); }; From 007326e6fd37da7fddcf358026d702fba5d9c17c Mon Sep 17 00:00:00 2001 From: Hieu Hoang Date: Sun, 8 Jan 2012 14:17:29 +0700 Subject: [PATCH 19/32] xcode --- .../moses.xcodeproj/project.pbxproj | 2257 +++++++++-------- 1 file changed, 1168 insertions(+), 1089 deletions(-) diff --git a/contrib/other-builds/moses.xcodeproj/project.pbxproj b/contrib/other-builds/moses.xcodeproj/project.pbxproj index 018d67f7e..d2b6ee9cb 100644 --- a/contrib/other-builds/moses.xcodeproj/project.pbxproj +++ b/contrib/other-builds/moses.xcodeproj/project.pbxproj @@ -7,543 +7,570 @@ objects = { /* Begin PBXBuildFile section */ - 1E07291F13B3854D004454FD /* AlignmentInfoCollection.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 1E07291D13B3854D004454FD /* AlignmentInfoCollection.cpp */; }; - 1E07292013B3854D004454FD /* AlignmentInfoCollection.h in Headers */ = {isa = PBXBuildFile; fileRef = 1E07291E13B3854D004454FD /* AlignmentInfoCollection.h */; }; - 1E078C1C14643AED00A707F4 /* PhraseDictionaryHiero.h in Headers */ = {isa = PBXBuildFile; fileRef = 1E078C1B14643AED00A707F4 /* PhraseDictionaryHiero.h */; }; - 1E078C1F14643C2000A707F4 /* PhraseDictionaryHiero.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 1E078C1E14643C2000A707F4 /* PhraseDictionaryHiero.cpp */; }; - 1E078C21146440A900A707F4 /* RuleTableLoaderHiero.h in Headers */ = {isa = PBXBuildFile; fileRef = 1E078C20146440A900A707F4 /* RuleTableLoaderHiero.h */; }; - 1E078C23146440F700A707F4 /* RuleTableLoaderHiero.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 1E078C22146440F700A707F4 /* RuleTableLoaderHiero.cpp */; }; - 1E16D0A3144DAA6C00B60B4F /* Base.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 1E16D087144DAA6C00B60B4F /* Base.cpp */; }; - 1E16D0A4144DAA6C00B60B4F /* Base.h in Headers */ = {isa = PBXBuildFile; fileRef = 1E16D088144DAA6C00B60B4F /* Base.h */; }; - 1E16D0A7144DAA6C00B60B4F /* Factory.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 1E16D08B144DAA6C00B60B4F /* Factory.cpp */; }; - 1E16D0A8144DAA6C00B60B4F /* Factory.h in Headers */ = {isa = PBXBuildFile; fileRef = 1E16D08C144DAA6C00B60B4F /* Factory.h */; }; - 1E16D0A9144DAA6C00B60B4F /* Implementation.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 1E16D08D144DAA6C00B60B4F /* Implementation.cpp */; }; - 1E16D0AA144DAA6C00B60B4F /* Implementation.h in Headers */ = {isa = PBXBuildFile; fileRef = 1E16D08E144DAA6C00B60B4F /* Implementation.h */; }; - 1E16D0AB144DAA6C00B60B4F /* IRST.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 1E16D08F144DAA6C00B60B4F /* IRST.cpp */; }; - 1E16D0AC144DAA6C00B60B4F /* IRST.h in Headers */ = {isa = PBXBuildFile; fileRef = 1E16D090144DAA6C00B60B4F /* IRST.h */; }; - 1E16D0AD144DAA6C00B60B4F /* Joint.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 1E16D091144DAA6C00B60B4F /* Joint.cpp */; }; - 1E16D0AE144DAA6C00B60B4F /* Joint.h in Headers */ = {isa = PBXBuildFile; fileRef = 1E16D092144DAA6C00B60B4F /* Joint.h */; }; - 1E16D0AF144DAA6C00B60B4F /* Ken.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 1E16D093144DAA6C00B60B4F /* Ken.cpp */; }; - 1E16D0B0144DAA6C00B60B4F /* Ken.h in Headers */ = {isa = PBXBuildFile; fileRef = 1E16D094144DAA6C00B60B4F /* Ken.h */; }; - 1E16D0B1144DAA6C00B60B4F /* MultiFactor.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 1E16D095144DAA6C00B60B4F /* MultiFactor.cpp */; }; - 1E16D0B2144DAA6C00B60B4F /* MultiFactor.h in Headers */ = {isa = PBXBuildFile; fileRef = 1E16D096144DAA6C00B60B4F /* MultiFactor.h */; }; - 1E16D0B5144DAA6C00B60B4F /* ParallelBackoff.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 1E16D099144DAA6C00B60B4F /* ParallelBackoff.cpp */; }; - 1E16D0B6144DAA6C00B60B4F /* ParallelBackoff.h in Headers */ = {isa = PBXBuildFile; fileRef = 1E16D09A144DAA6C00B60B4F /* ParallelBackoff.h */; }; - 1E16D0BB144DAA6C00B60B4F /* SingleFactor.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 1E16D09F144DAA6C00B60B4F /* SingleFactor.cpp */; }; - 1E16D0BC144DAA6C00B60B4F /* SingleFactor.h in Headers */ = {isa = PBXBuildFile; fileRef = 1E16D0A0144DAA6C00B60B4F /* SingleFactor.h */; }; - 1E16D0BD144DAA6C00B60B4F /* SRI.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 1E16D0A1144DAA6C00B60B4F /* SRI.cpp */; }; - 1E16D0BE144DAA6C00B60B4F /* SRI.h in Headers */ = {isa = PBXBuildFile; fileRef = 1E16D0A2144DAA6C00B60B4F /* SRI.h */; }; - 1E1C589512F310A70067DEB7 /* ChartRuleLookupManagerMemory.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 1E1C589012F310A70067DEB7 /* ChartRuleLookupManagerMemory.cpp */; }; - 1E1C589612F310A70067DEB7 /* ChartRuleLookupManagerMemory.h in Headers */ = {isa = PBXBuildFile; fileRef = 1E1C589112F310A70067DEB7 /* ChartRuleLookupManagerMemory.h */; }; - 1E1C589712F310A70067DEB7 /* ChartRuleLookupManagerOnDisk.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 1E1C589212F310A70067DEB7 /* ChartRuleLookupManagerOnDisk.cpp */; }; - 1E1C589812F310A70067DEB7 /* ChartRuleLookupManagerOnDisk.h in Headers */ = {isa = PBXBuildFile; fileRef = 1E1C589312F310A70067DEB7 /* ChartRuleLookupManagerOnDisk.h */; }; - 1E2755B314667CA4009D1DF9 /* PhraseDictionaryALSuffixArray.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 1E2755B214667CA3009D1DF9 /* PhraseDictionaryALSuffixArray.cpp */; }; - 1E2755B614667CC3009D1DF9 /* PhraseDictionaryALSuffixArray.h in Headers */ = {isa = PBXBuildFile; fileRef = 1E2755B514667CC2009D1DF9 /* PhraseDictionaryALSuffixArray.h */; }; - 1E2E161A132A890D00ED4085 /* ChartCell.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 1E2E1604132A890D00ED4085 /* ChartCell.cpp */; }; - 1E2E161B132A890D00ED4085 /* ChartCell.h in Headers */ = {isa = PBXBuildFile; fileRef = 1E2E1605132A890D00ED4085 /* ChartCell.h */; }; - 1E2E161C132A890D00ED4085 /* ChartCellCollection.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 1E2E1606132A890D00ED4085 /* ChartCellCollection.cpp */; }; - 1E2E161D132A890D00ED4085 /* ChartCellCollection.h in Headers */ = {isa = PBXBuildFile; fileRef = 1E2E1607132A890D00ED4085 /* ChartCellCollection.h */; }; - 1E2E161E132A890D00ED4085 /* ChartHypothesis.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 1E2E1608132A890D00ED4085 /* ChartHypothesis.cpp */; }; - 1E2E161F132A890D00ED4085 /* ChartHypothesis.h in Headers */ = {isa = PBXBuildFile; fileRef = 1E2E1609132A890D00ED4085 /* ChartHypothesis.h */; }; - 1E2E1620132A890D00ED4085 /* ChartHypothesisCollection.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 1E2E160A132A890D00ED4085 /* ChartHypothesisCollection.cpp */; }; - 1E2E1621132A890D00ED4085 /* ChartHypothesisCollection.h in Headers */ = {isa = PBXBuildFile; fileRef = 1E2E160B132A890D00ED4085 /* ChartHypothesisCollection.h */; }; - 1E2E1622132A890D00ED4085 /* ChartManager.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 1E2E160C132A890D00ED4085 /* ChartManager.cpp */; }; - 1E2E1623132A890D00ED4085 /* ChartManager.h in Headers */ = {isa = PBXBuildFile; fileRef = 1E2E160D132A890D00ED4085 /* ChartManager.h */; }; - 1E2E1624132A890D00ED4085 /* ChartTranslationOptionCollection.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 1E2E160E132A890D00ED4085 /* ChartTranslationOptionCollection.cpp */; }; - 1E2E1625132A890D00ED4085 /* ChartTranslationOptionCollection.h in Headers */ = {isa = PBXBuildFile; fileRef = 1E2E160F132A890D00ED4085 /* ChartTranslationOptionCollection.h */; }; - 1E2E1626132A890D00ED4085 /* ChartTrellisNode.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 1E2E1610132A890D00ED4085 /* ChartTrellisNode.cpp */; }; - 1E2E1627132A890D00ED4085 /* ChartTrellisNode.h in Headers */ = {isa = PBXBuildFile; fileRef = 1E2E1611132A890D00ED4085 /* ChartTrellisNode.h */; }; - 1E2E1628132A890D00ED4085 /* ChartTrellisPath.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 1E2E1612132A890D00ED4085 /* ChartTrellisPath.cpp */; }; - 1E2E1629132A890D00ED4085 /* ChartTrellisPath.h in Headers */ = {isa = PBXBuildFile; fileRef = 1E2E1613132A890D00ED4085 /* ChartTrellisPath.h */; }; - 1E2E162D132A890D00ED4085 /* ChartTrellisPathList.h in Headers */ = {isa = PBXBuildFile; fileRef = 1E2E1617132A890D00ED4085 /* ChartTrellisPathList.h */; }; - 1E2E1639132A892800ED4085 /* OutputCollector.h in Headers */ = {isa = PBXBuildFile; fileRef = 1E2E1632132A892800ED4085 /* OutputCollector.h */; }; - 1E2E163A132A892800ED4085 /* RuleCube.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 1E2E1633132A892800ED4085 /* RuleCube.cpp */; }; - 1E2E163B132A892800ED4085 /* RuleCube.h in Headers */ = {isa = PBXBuildFile; fileRef = 1E2E1634132A892800ED4085 /* RuleCube.h */; }; - 1E2E163C132A892800ED4085 /* RuleCubeQueue.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 1E2E1635132A892800ED4085 /* RuleCubeQueue.cpp */; }; - 1E2E163D132A892800ED4085 /* RuleCubeQueue.h in Headers */ = {isa = PBXBuildFile; fileRef = 1E2E1636132A892800ED4085 /* RuleCubeQueue.h */; }; - 1E2E163E132A892800ED4085 /* ThreadPool.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 1E2E1637132A892800ED4085 /* ThreadPool.cpp */; }; - 1E2E163F132A892800ED4085 /* ThreadPool.h in Headers */ = {isa = PBXBuildFile; fileRef = 1E2E1638132A892800ED4085 /* ThreadPool.h */; }; - 1E46B5A613BA5C7F0084F898 /* RuleCubeItem.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 1E46B5A413BA5C7F0084F898 /* RuleCubeItem.cpp */; }; - 1E46B5A713BA5C7F0084F898 /* RuleCubeItem.h in Headers */ = {isa = PBXBuildFile; fileRef = 1E46B5A513BA5C7F0084F898 /* RuleCubeItem.h */; }; - 1E474E12145575CA00178AD5 /* RuleTableLoader.h in Headers */ = {isa = PBXBuildFile; fileRef = 1E474E11145575CA00178AD5 /* RuleTableLoader.h */; }; - 1E528B9D13A12B2D00E9A67E /* params.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 1E528B9B13A12B2D00E9A67E /* params.cpp */; }; - 1EA6AB4A13BCC838004465AF /* ChartRuleLookupManager.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 1EA6AB4813BCC838004465AF /* ChartRuleLookupManager.cpp */; }; - 1EA6AB4B13BCC838004465AF /* ChartRuleLookupManager.h in Headers */ = {isa = PBXBuildFile; fileRef = 1EA6AB4913BCC838004465AF /* ChartRuleLookupManager.h */; }; - 1EBB262913A12DB500B51840 /* hash.h in Headers */ = {isa = PBXBuildFile; fileRef = 1EBB262213A12DB500B51840 /* hash.h */; }; - 1EBB262A13A12DB500B51840 /* onlineRLM.h in Headers */ = {isa = PBXBuildFile; fileRef = 1EBB262313A12DB500B51840 /* onlineRLM.h */; }; - 1EBB262B13A12DB500B51840 /* params.h in Headers */ = {isa = PBXBuildFile; fileRef = 1EBB262413A12DB500B51840 /* params.h */; }; - 1EBB262C13A12DB500B51840 /* perfectHash.h in Headers */ = {isa = PBXBuildFile; fileRef = 1EBB262513A12DB500B51840 /* perfectHash.h */; }; - 1EBB262D13A12DB500B51840 /* quantizer.h in Headers */ = {isa = PBXBuildFile; fileRef = 1EBB262613A12DB500B51840 /* quantizer.h */; }; - 1EBB262E13A12DB500B51840 /* RandLMCache.h in Headers */ = {isa = PBXBuildFile; fileRef = 1EBB262713A12DB500B51840 /* RandLMCache.h */; }; - 1EBB262F13A12DB500B51840 /* RandLMFilter.h in Headers */ = {isa = PBXBuildFile; fileRef = 1EBB262813A12DB500B51840 /* RandLMFilter.h */; }; - 1ECA43AF146D585900209CEF /* ChartCellLabelSet.h in Headers */ = {isa = PBXBuildFile; fileRef = 1ECA43AD146D585900209CEF /* ChartCellLabelSet.h */; }; - 1ECA43B0146D585900209CEF /* ChartTrellisDetour.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 1ECA43AE146D585900209CEF /* ChartTrellisDetour.cpp */; }; - 1ECA43B4146D586D00209CEF /* ChartTrellisDetour.h in Headers */ = {isa = PBXBuildFile; fileRef = 1ECA43B1146D586D00209CEF /* ChartTrellisDetour.h */; }; - 1ECA43B5146D586D00209CEF /* ChartTrellisDetourQueue.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 1ECA43B2146D586D00209CEF /* ChartTrellisDetourQueue.cpp */; }; - 1ECA43B6146D586D00209CEF /* ChartTrellisDetourQueue.h in Headers */ = {isa = PBXBuildFile; fileRef = 1ECA43B3146D586D00209CEF /* ChartTrellisDetourQueue.h */; }; - 1ED00036124BC2690029177F /* ChartTranslationOption.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 1ED00034124BC2690029177F /* ChartTranslationOption.cpp */; }; - 1ED00037124BC2690029177F /* ChartTranslationOption.h in Headers */ = {isa = PBXBuildFile; fileRef = 1ED00035124BC2690029177F /* ChartTranslationOption.h */; }; - 1ED0DE291432A0D200C20FBE /* RuleTableLoaderCompact.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 1ED0DE1D1432A0D100C20FBE /* RuleTableLoaderCompact.cpp */; }; - 1ED0DE2A1432A0D200C20FBE /* RuleTableLoaderCompact.h in Headers */ = {isa = PBXBuildFile; fileRef = 1ED0DE1E1432A0D100C20FBE /* RuleTableLoaderCompact.h */; }; - 1ED0DE2C1432A0D200C20FBE /* RuleTableLoaderFactory.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 1ED0DE211432A0D100C20FBE /* RuleTableLoaderFactory.cpp */; }; - 1ED0DE2D1432A0D200C20FBE /* RuleTableLoaderFactory.h in Headers */ = {isa = PBXBuildFile; fileRef = 1ED0DE221432A0D100C20FBE /* RuleTableLoaderFactory.h */; }; - 1ED0DE2F1432A0D200C20FBE /* RuleTableLoaderStandard.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 1ED0DE251432A0D100C20FBE /* RuleTableLoaderStandard.cpp */; }; - 1ED0DE301432A0D200C20FBE /* RuleTableLoaderStandard.h in Headers */ = {isa = PBXBuildFile; fileRef = 1ED0DE261432A0D100C20FBE /* RuleTableLoaderStandard.h */; }; - 1ED0FE2A124BB9380029177F /* AlignmentInfo.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 1ED0FD4C124BB9380029177F /* AlignmentInfo.cpp */; }; - 1ED0FE2B124BB9380029177F /* AlignmentInfo.h in Headers */ = {isa = PBXBuildFile; fileRef = 1ED0FD4D124BB9380029177F /* AlignmentInfo.h */; }; - 1ED0FE2C124BB9380029177F /* BilingualDynSuffixArray.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 1ED0FD4E124BB9380029177F /* BilingualDynSuffixArray.cpp */; }; - 1ED0FE2D124BB9380029177F /* BilingualDynSuffixArray.h in Headers */ = {isa = PBXBuildFile; fileRef = 1ED0FD4F124BB9380029177F /* BilingualDynSuffixArray.h */; }; - 1ED0FE2E124BB9380029177F /* BitmapContainer.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 1ED0FD50124BB9380029177F /* BitmapContainer.cpp */; }; - 1ED0FE2F124BB9380029177F /* BitmapContainer.h in Headers */ = {isa = PBXBuildFile; fileRef = 1ED0FD51124BB9380029177F /* BitmapContainer.h */; }; - 1ED0FE30124BB9380029177F /* CellCollection.h in Headers */ = {isa = PBXBuildFile; fileRef = 1ED0FD52124BB9380029177F /* CellCollection.h */; }; - 1ED0FE35124BB9380029177F /* ConfusionNet.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 1ED0FD57124BB9380029177F /* ConfusionNet.cpp */; }; - 1ED0FE36124BB9380029177F /* ConfusionNet.h in Headers */ = {isa = PBXBuildFile; fileRef = 1ED0FD58124BB9380029177F /* ConfusionNet.h */; }; - 1ED0FE37124BB9380029177F /* DecodeFeature.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 1ED0FD59124BB9380029177F /* DecodeFeature.cpp */; }; - 1ED0FE38124BB9380029177F /* DecodeFeature.h in Headers */ = {isa = PBXBuildFile; fileRef = 1ED0FD5A124BB9380029177F /* DecodeFeature.h */; }; - 1ED0FE39124BB9380029177F /* DecodeGraph.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 1ED0FD5B124BB9380029177F /* DecodeGraph.cpp */; }; - 1ED0FE3A124BB9380029177F /* DecodeGraph.h in Headers */ = {isa = PBXBuildFile; fileRef = 1ED0FD5C124BB9380029177F /* DecodeGraph.h */; }; - 1ED0FE3B124BB9380029177F /* DecodeStep.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 1ED0FD5D124BB9380029177F /* DecodeStep.cpp */; }; - 1ED0FE3C124BB9380029177F /* DecodeStep.h in Headers */ = {isa = PBXBuildFile; fileRef = 1ED0FD5E124BB9380029177F /* DecodeStep.h */; }; - 1ED0FE3D124BB9380029177F /* DecodeStepGeneration.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 1ED0FD5F124BB9380029177F /* DecodeStepGeneration.cpp */; }; - 1ED0FE3E124BB9380029177F /* DecodeStepGeneration.h in Headers */ = {isa = PBXBuildFile; fileRef = 1ED0FD60124BB9380029177F /* DecodeStepGeneration.h */; }; - 1ED0FE3F124BB9380029177F /* DecodeStepTranslation.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 1ED0FD61124BB9380029177F /* DecodeStepTranslation.cpp */; }; - 1ED0FE40124BB9380029177F /* DecodeStepTranslation.h in Headers */ = {isa = PBXBuildFile; fileRef = 1ED0FD62124BB9380029177F /* DecodeStepTranslation.h */; }; - 1ED0FE41124BB9380029177F /* Dictionary.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 1ED0FD63124BB9380029177F /* Dictionary.cpp */; }; - 1ED0FE42124BB9380029177F /* Dictionary.h in Headers */ = {isa = PBXBuildFile; fileRef = 1ED0FD64124BB9380029177F /* Dictionary.h */; }; - 1ED0FE43124BB9380029177F /* DotChart.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 1ED0FD65124BB9380029177F /* DotChart.cpp */; }; - 1ED0FE44124BB9380029177F /* DotChart.h in Headers */ = {isa = PBXBuildFile; fileRef = 1ED0FD66124BB9380029177F /* DotChart.h */; }; - 1ED0FE45124BB9380029177F /* DotChartOnDisk.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 1ED0FD67124BB9380029177F /* DotChartOnDisk.cpp */; }; - 1ED0FE46124BB9380029177F /* DotChartOnDisk.h in Headers */ = {isa = PBXBuildFile; fileRef = 1ED0FD68124BB9380029177F /* DotChartOnDisk.h */; }; - 1ED0FE47124BB9380029177F /* DummyScoreProducers.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 1ED0FD69124BB9380029177F /* DummyScoreProducers.cpp */; }; - 1ED0FE48124BB9380029177F /* DummyScoreProducers.h in Headers */ = {isa = PBXBuildFile; fileRef = 1ED0FD6A124BB9380029177F /* DummyScoreProducers.h */; }; - 1ED0FE49124BB9380029177F /* fdstream.h in Headers */ = {isa = PBXBuildFile; fileRef = 1ED0FD6C124BB9380029177F /* fdstream.h */; }; - 1ED0FE4A124BB9380029177F /* file.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 1ED0FD6D124BB9380029177F /* file.cpp */; }; - 1ED0FE4B124BB9380029177F /* file.h in Headers */ = {isa = PBXBuildFile; fileRef = 1ED0FD6E124BB9380029177F /* file.h */; }; - 1ED0FE4C124BB9380029177F /* types.h in Headers */ = {isa = PBXBuildFile; fileRef = 1ED0FD6F124BB9380029177F /* types.h */; }; - 1ED0FE4D124BB9380029177F /* utils.h in Headers */ = {isa = PBXBuildFile; fileRef = 1ED0FD70124BB9380029177F /* utils.h */; }; - 1ED0FE4E124BB9380029177F /* vocab.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 1ED0FD71124BB9380029177F /* vocab.cpp */; }; - 1ED0FE4F124BB9380029177F /* vocab.h in Headers */ = {isa = PBXBuildFile; fileRef = 1ED0FD72124BB9380029177F /* vocab.h */; }; - 1ED0FE50124BB9380029177F /* DynSuffixArray.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 1ED0FD73124BB9380029177F /* DynSuffixArray.cpp */; }; - 1ED0FE51124BB9380029177F /* DynSuffixArray.h in Headers */ = {isa = PBXBuildFile; fileRef = 1ED0FD74124BB9380029177F /* DynSuffixArray.h */; }; - 1ED0FE52124BB9380029177F /* Factor.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 1ED0FD75124BB9380029177F /* Factor.cpp */; }; - 1ED0FE53124BB9380029177F /* Factor.h in Headers */ = {isa = PBXBuildFile; fileRef = 1ED0FD76124BB9380029177F /* Factor.h */; }; - 1ED0FE54124BB9380029177F /* FactorCollection.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 1ED0FD77124BB9380029177F /* FactorCollection.cpp */; }; - 1ED0FE55124BB9380029177F /* FactorCollection.h in Headers */ = {isa = PBXBuildFile; fileRef = 1ED0FD78124BB9380029177F /* FactorCollection.h */; }; - 1ED0FE56124BB9380029177F /* FactorTypeSet.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 1ED0FD79124BB9380029177F /* FactorTypeSet.cpp */; }; - 1ED0FE57124BB9380029177F /* FactorTypeSet.h in Headers */ = {isa = PBXBuildFile; fileRef = 1ED0FD7A124BB9380029177F /* FactorTypeSet.h */; }; - 1ED0FE58124BB9380029177F /* FeatureFunction.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 1ED0FD7B124BB9380029177F /* FeatureFunction.cpp */; }; - 1ED0FE59124BB9380029177F /* FeatureFunction.h in Headers */ = {isa = PBXBuildFile; fileRef = 1ED0FD7C124BB9380029177F /* FeatureFunction.h */; }; - 1ED0FE5A124BB9380029177F /* FFState.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 1ED0FD7D124BB9380029177F /* FFState.cpp */; }; - 1ED0FE5B124BB9380029177F /* FFState.h in Headers */ = {isa = PBXBuildFile; fileRef = 1ED0FD7E124BB9380029177F /* FFState.h */; }; - 1ED0FE5C124BB9380029177F /* File.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 1ED0FD7F124BB9380029177F /* File.cpp */; }; - 1ED0FE5D124BB9380029177F /* File.h in Headers */ = {isa = PBXBuildFile; fileRef = 1ED0FD80124BB9380029177F /* File.h */; }; - 1ED0FE5E124BB9380029177F /* FilePtr.h in Headers */ = {isa = PBXBuildFile; fileRef = 1ED0FD81124BB9380029177F /* FilePtr.h */; }; - 1ED0FE5F124BB9380029177F /* FloydWarshall.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 1ED0FD82124BB9380029177F /* FloydWarshall.cpp */; }; - 1ED0FE60124BB9380029177F /* FloydWarshall.h in Headers */ = {isa = PBXBuildFile; fileRef = 1ED0FD83124BB9380029177F /* FloydWarshall.h */; }; - 1ED0FE61124BB9380029177F /* GenerationDictionary.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 1ED0FD84124BB9380029177F /* GenerationDictionary.cpp */; }; - 1ED0FE62124BB9380029177F /* GenerationDictionary.h in Headers */ = {isa = PBXBuildFile; fileRef = 1ED0FD85124BB9380029177F /* GenerationDictionary.h */; }; - 1ED0FE63124BB9380029177F /* GlobalLexicalModel.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 1ED0FD86124BB9380029177F /* GlobalLexicalModel.cpp */; }; - 1ED0FE64124BB9380029177F /* GlobalLexicalModel.h in Headers */ = {isa = PBXBuildFile; fileRef = 1ED0FD87124BB9380029177F /* GlobalLexicalModel.h */; }; - 1ED0FE65124BB9380029177F /* gzfilebuf.h in Headers */ = {isa = PBXBuildFile; fileRef = 1ED0FD88124BB9380029177F /* gzfilebuf.h */; }; - 1ED0FE66124BB9380029177F /* hash.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 1ED0FD89124BB9380029177F /* hash.cpp */; }; - 1ED0FE67124BB9380029177F /* hash.h in Headers */ = {isa = PBXBuildFile; fileRef = 1ED0FD8A124BB9380029177F /* hash.h */; }; - 1ED0FE68124BB9380029177F /* Hypothesis.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 1ED0FD8C124BB9380029177F /* Hypothesis.cpp */; }; - 1ED0FE69124BB9380029177F /* Hypothesis.h in Headers */ = {isa = PBXBuildFile; fileRef = 1ED0FD8D124BB9380029177F /* Hypothesis.h */; }; - 1ED0FE6A124BB9380029177F /* HypothesisStack.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 1ED0FD8E124BB9380029177F /* HypothesisStack.cpp */; }; - 1ED0FE6B124BB9380029177F /* HypothesisStack.h in Headers */ = {isa = PBXBuildFile; fileRef = 1ED0FD8F124BB9380029177F /* HypothesisStack.h */; }; - 1ED0FE6C124BB9380029177F /* HypothesisStackCubePruning.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 1ED0FD90124BB9380029177F /* HypothesisStackCubePruning.cpp */; }; - 1ED0FE6D124BB9380029177F /* HypothesisStackCubePruning.h in Headers */ = {isa = PBXBuildFile; fileRef = 1ED0FD91124BB9380029177F /* HypothesisStackCubePruning.h */; }; - 1ED0FE6E124BB9380029177F /* HypothesisStackNormal.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 1ED0FD92124BB9380029177F /* HypothesisStackNormal.cpp */; }; - 1ED0FE6F124BB9380029177F /* HypothesisStackNormal.h in Headers */ = {isa = PBXBuildFile; fileRef = 1ED0FD93124BB9380029177F /* HypothesisStackNormal.h */; }; - 1ED0FE70124BB9380029177F /* InputFileStream.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 1ED0FD94124BB9380029177F /* InputFileStream.cpp */; }; - 1ED0FE71124BB9380029177F /* InputFileStream.h in Headers */ = {isa = PBXBuildFile; fileRef = 1ED0FD95124BB9380029177F /* InputFileStream.h */; }; - 1ED0FE72124BB9380029177F /* InputType.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 1ED0FD96124BB9380029177F /* InputType.cpp */; }; - 1ED0FE73124BB9380029177F /* InputType.h in Headers */ = {isa = PBXBuildFile; fileRef = 1ED0FD97124BB9380029177F /* InputType.h */; }; - 1ED0FE8F124BB9380029177F /* LexicalReordering.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 1ED0FDB3124BB9380029177F /* LexicalReordering.cpp */; }; - 1ED0FE90124BB9380029177F /* LexicalReordering.h in Headers */ = {isa = PBXBuildFile; fileRef = 1ED0FDB4124BB9380029177F /* LexicalReordering.h */; }; - 1ED0FE91124BB9380029177F /* LexicalReorderingState.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 1ED0FDB5124BB9380029177F /* LexicalReorderingState.cpp */; }; - 1ED0FE92124BB9380029177F /* LexicalReorderingState.h in Headers */ = {isa = PBXBuildFile; fileRef = 1ED0FDB6124BB9380029177F /* LexicalReorderingState.h */; }; - 1ED0FE93124BB9380029177F /* LexicalReorderingTable.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 1ED0FDB7124BB9380029177F /* LexicalReorderingTable.cpp */; }; - 1ED0FE94124BB9380029177F /* LexicalReorderingTable.h in Headers */ = {isa = PBXBuildFile; fileRef = 1ED0FDB8124BB9380029177F /* LexicalReorderingTable.h */; }; - 1ED0FE95124BB9380029177F /* LMList.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 1ED0FDB9124BB9380029177F /* LMList.cpp */; }; - 1ED0FE96124BB9380029177F /* LMList.h in Headers */ = {isa = PBXBuildFile; fileRef = 1ED0FDBA124BB9380029177F /* LMList.h */; }; - 1ED0FE97124BB9380029177F /* LVoc.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 1ED0FDBB124BB9380029177F /* LVoc.cpp */; }; - 1ED0FE98124BB9380029177F /* LVoc.h in Headers */ = {isa = PBXBuildFile; fileRef = 1ED0FDBC124BB9380029177F /* LVoc.h */; }; - 1ED0FE9A124BB9380029177F /* Manager.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 1ED0FDC0124BB9380029177F /* Manager.cpp */; }; - 1ED0FE9B124BB9380029177F /* Manager.h in Headers */ = {isa = PBXBuildFile; fileRef = 1ED0FDC1124BB9380029177F /* Manager.h */; }; - 1ED0FEA0124BB9380029177F /* ObjectPool.h in Headers */ = {isa = PBXBuildFile; fileRef = 1ED0FDC6124BB9380029177F /* ObjectPool.h */; }; - 1ED0FEA1124BB9380029177F /* Parameter.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 1ED0FDC7124BB9380029177F /* Parameter.cpp */; }; - 1ED0FEA2124BB9380029177F /* Parameter.h in Headers */ = {isa = PBXBuildFile; fileRef = 1ED0FDC8124BB9380029177F /* Parameter.h */; }; - 1ED0FEA3124BB9380029177F /* PartialTranslOptColl.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 1ED0FDC9124BB9380029177F /* PartialTranslOptColl.cpp */; }; - 1ED0FEA4124BB9380029177F /* PartialTranslOptColl.h in Headers */ = {isa = PBXBuildFile; fileRef = 1ED0FDCA124BB9380029177F /* PartialTranslOptColl.h */; }; - 1ED0FEA5124BB9380029177F /* PCNTools.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 1ED0FDCB124BB9380029177F /* PCNTools.cpp */; }; - 1ED0FEA6124BB9380029177F /* PCNTools.h in Headers */ = {isa = PBXBuildFile; fileRef = 1ED0FDCC124BB9380029177F /* PCNTools.h */; }; - 1ED0FEA7124BB9380029177F /* PDTAimp.h in Headers */ = {isa = PBXBuildFile; fileRef = 1ED0FDCD124BB9380029177F /* PDTAimp.h */; }; - 1ED0FEA8124BB9380029177F /* Phrase.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 1ED0FDCE124BB9380029177F /* Phrase.cpp */; }; - 1ED0FEA9124BB9380029177F /* Phrase.h in Headers */ = {isa = PBXBuildFile; fileRef = 1ED0FDCF124BB9380029177F /* Phrase.h */; }; - 1ED0FEAA124BB9380029177F /* PhraseDictionary.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 1ED0FDD0124BB9380029177F /* PhraseDictionary.cpp */; }; - 1ED0FEAB124BB9380029177F /* PhraseDictionary.h in Headers */ = {isa = PBXBuildFile; fileRef = 1ED0FDD1124BB9380029177F /* PhraseDictionary.h */; }; - 1ED0FEAC124BB9380029177F /* PhraseDictionaryDynSuffixArray.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 1ED0FDD2124BB9380029177F /* PhraseDictionaryDynSuffixArray.cpp */; }; - 1ED0FEAD124BB9380029177F /* PhraseDictionaryDynSuffixArray.h in Headers */ = {isa = PBXBuildFile; fileRef = 1ED0FDD3124BB9380029177F /* PhraseDictionaryDynSuffixArray.h */; }; - 1ED0FEAE124BB9380029177F /* PhraseDictionaryMemory.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 1ED0FDD4124BB9380029177F /* PhraseDictionaryMemory.cpp */; }; - 1ED0FEAF124BB9380029177F /* PhraseDictionaryMemory.h in Headers */ = {isa = PBXBuildFile; fileRef = 1ED0FDD5124BB9380029177F /* PhraseDictionaryMemory.h */; }; - 1ED0FEB0124BB9380029177F /* PhraseDictionaryNode.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 1ED0FDD6124BB9380029177F /* PhraseDictionaryNode.cpp */; }; - 1ED0FEB1124BB9380029177F /* PhraseDictionaryNode.h in Headers */ = {isa = PBXBuildFile; fileRef = 1ED0FDD7124BB9380029177F /* PhraseDictionaryNode.h */; }; - 1ED0FEB2124BB9380029177F /* PhraseDictionaryNodeSCFG.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 1ED0FDD8124BB9380029177F /* PhraseDictionaryNodeSCFG.cpp */; }; - 1ED0FEB3124BB9380029177F /* PhraseDictionaryNodeSCFG.h in Headers */ = {isa = PBXBuildFile; fileRef = 1ED0FDD9124BB9380029177F /* PhraseDictionaryNodeSCFG.h */; }; - 1ED0FEB4124BB9380029177F /* PhraseDictionaryOnDisk.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 1ED0FDDA124BB9380029177F /* PhraseDictionaryOnDisk.cpp */; }; - 1ED0FEB5124BB9380029177F /* PhraseDictionaryOnDisk.h in Headers */ = {isa = PBXBuildFile; fileRef = 1ED0FDDB124BB9380029177F /* PhraseDictionaryOnDisk.h */; }; - 1ED0FEB7124BB9380029177F /* PhraseDictionarySCFG.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 1ED0FDDD124BB9380029177F /* PhraseDictionarySCFG.cpp */; }; - 1ED0FEB9124BB9380029177F /* PhraseDictionaryTree.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 1ED0FDDF124BB9380029177F /* PhraseDictionaryTree.cpp */; }; - 1ED0FEBA124BB9380029177F /* PhraseDictionaryTree.h in Headers */ = {isa = PBXBuildFile; fileRef = 1ED0FDE0124BB9380029177F /* PhraseDictionaryTree.h */; }; - 1ED0FEBB124BB9380029177F /* PhraseDictionaryTreeAdaptor.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 1ED0FDE1124BB9380029177F /* PhraseDictionaryTreeAdaptor.cpp */; }; - 1ED0FEBC124BB9380029177F /* PhraseDictionaryTreeAdaptor.h in Headers */ = {isa = PBXBuildFile; fileRef = 1ED0FDE2124BB9380029177F /* PhraseDictionaryTreeAdaptor.h */; }; - 1ED0FEBD124BB9380029177F /* PrefixTree.h in Headers */ = {isa = PBXBuildFile; fileRef = 1ED0FDE3124BB9380029177F /* PrefixTree.h */; }; - 1ED0FEBE124BB9380029177F /* PrefixTreeMap.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 1ED0FDE4124BB9380029177F /* PrefixTreeMap.cpp */; }; - 1ED0FEBF124BB9380029177F /* PrefixTreeMap.h in Headers */ = {isa = PBXBuildFile; fileRef = 1ED0FDE5124BB9380029177F /* PrefixTreeMap.h */; }; - 1ED0FEC0124BB9380029177F /* ReorderingConstraint.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 1ED0FDE6124BB9380029177F /* ReorderingConstraint.cpp */; }; - 1ED0FEC1124BB9380029177F /* ReorderingConstraint.h in Headers */ = {isa = PBXBuildFile; fileRef = 1ED0FDE7124BB9380029177F /* ReorderingConstraint.h */; }; - 1ED0FEC2124BB9380029177F /* ReorderingStack.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 1ED0FDE8124BB9380029177F /* ReorderingStack.cpp */; }; - 1ED0FEC3124BB9380029177F /* ReorderingStack.h in Headers */ = {isa = PBXBuildFile; fileRef = 1ED0FDE9124BB9380029177F /* ReorderingStack.h */; }; - 1ED0FEC4124BB9380029177F /* ScoreComponentCollection.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 1ED0FDEB124BB9380029177F /* ScoreComponentCollection.cpp */; }; - 1ED0FEC5124BB9380029177F /* ScoreComponentCollection.h in Headers */ = {isa = PBXBuildFile; fileRef = 1ED0FDEC124BB9380029177F /* ScoreComponentCollection.h */; }; - 1ED0FEC6124BB9380029177F /* ScoreIndexManager.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 1ED0FDED124BB9380029177F /* ScoreIndexManager.cpp */; }; - 1ED0FEC7124BB9380029177F /* ScoreIndexManager.h in Headers */ = {isa = PBXBuildFile; fileRef = 1ED0FDEE124BB9380029177F /* ScoreIndexManager.h */; }; - 1ED0FEC8124BB9380029177F /* ScoreProducer.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 1ED0FDEF124BB9380029177F /* ScoreProducer.cpp */; }; - 1ED0FEC9124BB9380029177F /* ScoreProducer.h in Headers */ = {isa = PBXBuildFile; fileRef = 1ED0FDF0124BB9380029177F /* ScoreProducer.h */; }; - 1ED0FECA124BB9380029177F /* Search.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 1ED0FDF1124BB9380029177F /* Search.cpp */; }; - 1ED0FECB124BB9380029177F /* Search.h in Headers */ = {isa = PBXBuildFile; fileRef = 1ED0FDF2124BB9380029177F /* Search.h */; }; - 1ED0FECC124BB9380029177F /* SearchCubePruning.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 1ED0FDF3124BB9380029177F /* SearchCubePruning.cpp */; }; - 1ED0FECD124BB9380029177F /* SearchCubePruning.h in Headers */ = {isa = PBXBuildFile; fileRef = 1ED0FDF4124BB9380029177F /* SearchCubePruning.h */; }; - 1ED0FECE124BB9380029177F /* SearchNormal.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 1ED0FDF5124BB9380029177F /* SearchNormal.cpp */; }; - 1ED0FECF124BB9380029177F /* SearchNormal.h in Headers */ = {isa = PBXBuildFile; fileRef = 1ED0FDF6124BB9380029177F /* SearchNormal.h */; }; - 1ED0FED0124BB9380029177F /* Sentence.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 1ED0FDF7124BB9380029177F /* Sentence.cpp */; }; - 1ED0FED1124BB9380029177F /* Sentence.h in Headers */ = {isa = PBXBuildFile; fileRef = 1ED0FDF8124BB9380029177F /* Sentence.h */; }; - 1ED0FED2124BB9380029177F /* SentenceStats.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 1ED0FDF9124BB9380029177F /* SentenceStats.cpp */; }; - 1ED0FED3124BB9380029177F /* SentenceStats.h in Headers */ = {isa = PBXBuildFile; fileRef = 1ED0FDFA124BB9380029177F /* SentenceStats.h */; }; - 1ED0FED4124BB9380029177F /* SquareMatrix.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 1ED0FDFB124BB9380029177F /* SquareMatrix.cpp */; }; - 1ED0FED5124BB9380029177F /* SquareMatrix.h in Headers */ = {isa = PBXBuildFile; fileRef = 1ED0FDFC124BB9380029177F /* SquareMatrix.h */; }; - 1ED0FED6124BB9380029177F /* StaticData.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 1ED0FDFD124BB9380029177F /* StaticData.cpp */; }; - 1ED0FED7124BB9380029177F /* StaticData.h in Headers */ = {isa = PBXBuildFile; fileRef = 1ED0FDFE124BB9380029177F /* StaticData.h */; }; - 1ED0FED8124BB9380029177F /* TargetPhrase.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 1ED0FDFF124BB9380029177F /* TargetPhrase.cpp */; }; - 1ED0FED9124BB9380029177F /* TargetPhrase.h in Headers */ = {isa = PBXBuildFile; fileRef = 1ED0FE00124BB9380029177F /* TargetPhrase.h */; }; - 1ED0FEDA124BB9380029177F /* TargetPhraseCollection.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 1ED0FE01124BB9380029177F /* TargetPhraseCollection.cpp */; }; - 1ED0FEDB124BB9380029177F /* TargetPhraseCollection.h in Headers */ = {isa = PBXBuildFile; fileRef = 1ED0FE02124BB9380029177F /* TargetPhraseCollection.h */; }; - 1ED0FEDC124BB9380029177F /* Timer.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 1ED0FE03124BB9380029177F /* Timer.cpp */; }; - 1ED0FEDD124BB9380029177F /* Timer.h in Headers */ = {isa = PBXBuildFile; fileRef = 1ED0FE04124BB9380029177F /* Timer.h */; }; - 1ED0FEDE124BB9380029177F /* TranslationOption.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 1ED0FE05124BB9380029177F /* TranslationOption.cpp */; }; - 1ED0FEDF124BB9380029177F /* TranslationOption.h in Headers */ = {isa = PBXBuildFile; fileRef = 1ED0FE06124BB9380029177F /* TranslationOption.h */; }; - 1ED0FEE0124BB9380029177F /* TranslationOptionCollection.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 1ED0FE07124BB9380029177F /* TranslationOptionCollection.cpp */; }; - 1ED0FEE1124BB9380029177F /* TranslationOptionCollection.h in Headers */ = {isa = PBXBuildFile; fileRef = 1ED0FE08124BB9380029177F /* TranslationOptionCollection.h */; }; - 1ED0FEE2124BB9380029177F /* TranslationOptionCollectionConfusionNet.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 1ED0FE09124BB9380029177F /* TranslationOptionCollectionConfusionNet.cpp */; }; - 1ED0FEE3124BB9380029177F /* TranslationOptionCollectionConfusionNet.h in Headers */ = {isa = PBXBuildFile; fileRef = 1ED0FE0A124BB9380029177F /* TranslationOptionCollectionConfusionNet.h */; }; - 1ED0FEE4124BB9380029177F /* TranslationOptionCollectionText.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 1ED0FE0B124BB9380029177F /* TranslationOptionCollectionText.cpp */; }; - 1ED0FEE5124BB9380029177F /* TranslationOptionCollectionText.h in Headers */ = {isa = PBXBuildFile; fileRef = 1ED0FE0C124BB9380029177F /* TranslationOptionCollectionText.h */; }; - 1ED0FEE6124BB9380029177F /* TranslationOptionList.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 1ED0FE0D124BB9380029177F /* TranslationOptionList.cpp */; }; - 1ED0FEE7124BB9380029177F /* TranslationOptionList.h in Headers */ = {isa = PBXBuildFile; fileRef = 1ED0FE0E124BB9380029177F /* TranslationOptionList.h */; }; - 1ED0FEE8124BB9380029177F /* TranslationSystem.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 1ED0FE0F124BB9380029177F /* TranslationSystem.cpp */; }; - 1ED0FEE9124BB9380029177F /* TranslationSystem.h in Headers */ = {isa = PBXBuildFile; fileRef = 1ED0FE10124BB9380029177F /* TranslationSystem.h */; }; - 1ED0FEEA124BB9380029177F /* TreeInput.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 1ED0FE11124BB9380029177F /* TreeInput.cpp */; }; - 1ED0FEEB124BB9380029177F /* TreeInput.h in Headers */ = {isa = PBXBuildFile; fileRef = 1ED0FE12124BB9380029177F /* TreeInput.h */; }; - 1ED0FEEC124BB9380029177F /* TrellisPath.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 1ED0FE13124BB9380029177F /* TrellisPath.cpp */; }; - 1ED0FEED124BB9380029177F /* TrellisPath.h in Headers */ = {isa = PBXBuildFile; fileRef = 1ED0FE14124BB9380029177F /* TrellisPath.h */; }; - 1ED0FEEE124BB9380029177F /* TrellisPathCollection.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 1ED0FE15124BB9380029177F /* TrellisPathCollection.cpp */; }; - 1ED0FEEF124BB9380029177F /* TrellisPathCollection.h in Headers */ = {isa = PBXBuildFile; fileRef = 1ED0FE16124BB9380029177F /* TrellisPathCollection.h */; }; - 1ED0FEF0124BB9380029177F /* TrellisPathList.h in Headers */ = {isa = PBXBuildFile; fileRef = 1ED0FE17124BB9380029177F /* TrellisPathList.h */; }; - 1ED0FEF1124BB9380029177F /* TypeDef.h in Headers */ = {isa = PBXBuildFile; fileRef = 1ED0FE18124BB9380029177F /* TypeDef.h */; }; - 1ED0FEF2124BB9380029177F /* UniqueObject.h in Headers */ = {isa = PBXBuildFile; fileRef = 1ED0FE19124BB9380029177F /* UniqueObject.h */; }; - 1ED0FEF3124BB9380029177F /* UserMessage.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 1ED0FE1A124BB9380029177F /* UserMessage.cpp */; }; - 1ED0FEF4124BB9380029177F /* UserMessage.h in Headers */ = {isa = PBXBuildFile; fileRef = 1ED0FE1B124BB9380029177F /* UserMessage.h */; }; - 1ED0FEF5124BB9380029177F /* Util.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 1ED0FE1C124BB9380029177F /* Util.cpp */; }; - 1ED0FEF6124BB9380029177F /* Util.h in Headers */ = {isa = PBXBuildFile; fileRef = 1ED0FE1D124BB9380029177F /* Util.h */; }; - 1ED0FEF7124BB9380029177F /* Word.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 1ED0FE1E124BB9380029177F /* Word.cpp */; }; - 1ED0FEF8124BB9380029177F /* Word.h in Headers */ = {isa = PBXBuildFile; fileRef = 1ED0FE1F124BB9380029177F /* Word.h */; }; - 1ED0FEFB124BB9380029177F /* WordLattice.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 1ED0FE22124BB9380029177F /* WordLattice.cpp */; }; - 1ED0FEFC124BB9380029177F /* WordLattice.h in Headers */ = {isa = PBXBuildFile; fileRef = 1ED0FE23124BB9380029177F /* WordLattice.h */; }; - 1ED0FEFD124BB9380029177F /* WordsBitmap.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 1ED0FE24124BB9380029177F /* WordsBitmap.cpp */; }; - 1ED0FEFE124BB9380029177F /* WordsBitmap.h in Headers */ = {isa = PBXBuildFile; fileRef = 1ED0FE25124BB9380029177F /* WordsBitmap.h */; }; - 1ED0FEFF124BB9380029177F /* WordsRange.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 1ED0FE26124BB9380029177F /* WordsRange.cpp */; }; - 1ED0FF00124BB9380029177F /* WordsRange.h in Headers */ = {isa = PBXBuildFile; fileRef = 1ED0FE27124BB9380029177F /* WordsRange.h */; }; - 1ED0FF01124BB9380029177F /* XmlOption.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 1ED0FE28124BB9380029177F /* XmlOption.cpp */; }; - 1ED0FF02124BB9380029177F /* XmlOption.h in Headers */ = {isa = PBXBuildFile; fileRef = 1ED0FE29124BB9380029177F /* XmlOption.h */; }; - 1ED0FFD3124BC0BF0029177F /* ChartTranslationOptionList.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 1ED0FFD1124BC0BF0029177F /* ChartTranslationOptionList.cpp */; }; - 1ED0FFD4124BC0BF0029177F /* ChartTranslationOptionList.h in Headers */ = {isa = PBXBuildFile; fileRef = 1ED0FFD2124BC0BF0029177F /* ChartTranslationOptionList.h */; }; - 1ED22EE513DD96B0000DE8C9 /* DotChartInMemory.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 1ED22EE313DD96B0000DE8C9 /* DotChartInMemory.cpp */; }; - 1ED22EE613DD96B0000DE8C9 /* DotChartInMemory.h in Headers */ = {isa = PBXBuildFile; fileRef = 1ED22EE413DD96B0000DE8C9 /* DotChartInMemory.h */; }; - 1EE58D9F133726C700D93158 /* NonTerminal.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 1EE58D9D133726C700D93158 /* NonTerminal.cpp */; }; - 1EE58DA0133726C700D93158 /* NonTerminal.h in Headers */ = {isa = PBXBuildFile; fileRef = 1EE58D9E133726C700D93158 /* NonTerminal.h */; }; - 1EEB43EE1264A6F200739BA5 /* PhraseDictionarySCFG.h in Headers */ = {isa = PBXBuildFile; fileRef = 1EEB43ED1264A6F200739BA5 /* PhraseDictionarySCFG.h */; }; + 1EC7374614B977AB00238410 /* AlignmentInfo.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 1EC735D314B977AA00238410 /* AlignmentInfo.cpp */; }; + 1EC7374714B977AB00238410 /* AlignmentInfo.h in Headers */ = {isa = PBXBuildFile; fileRef = 1EC735D414B977AA00238410 /* AlignmentInfo.h */; }; + 1EC7374814B977AB00238410 /* AlignmentInfoCollection.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 1EC735D514B977AA00238410 /* AlignmentInfoCollection.cpp */; }; + 1EC7374914B977AB00238410 /* AlignmentInfoCollection.h in Headers */ = {isa = PBXBuildFile; fileRef = 1EC735D614B977AA00238410 /* AlignmentInfoCollection.h */; }; + 1EC7374A14B977AB00238410 /* BilingualDynSuffixArray.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 1EC735D714B977AA00238410 /* BilingualDynSuffixArray.cpp */; }; + 1EC7374B14B977AB00238410 /* BilingualDynSuffixArray.h in Headers */ = {isa = PBXBuildFile; fileRef = 1EC735D814B977AA00238410 /* BilingualDynSuffixArray.h */; }; + 1EC7374C14B977AB00238410 /* BitmapContainer.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 1EC735D914B977AA00238410 /* BitmapContainer.cpp */; }; + 1EC7374D14B977AB00238410 /* BitmapContainer.h in Headers */ = {isa = PBXBuildFile; fileRef = 1EC735DA14B977AA00238410 /* BitmapContainer.h */; }; + 1EC7374E14B977AB00238410 /* CellCollection.h in Headers */ = {isa = PBXBuildFile; fileRef = 1EC735DB14B977AA00238410 /* CellCollection.h */; }; + 1EC7374F14B977AB00238410 /* ChartCell.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 1EC735DC14B977AA00238410 /* ChartCell.cpp */; }; + 1EC7375014B977AB00238410 /* ChartCell.h in Headers */ = {isa = PBXBuildFile; fileRef = 1EC735DD14B977AA00238410 /* ChartCell.h */; }; + 1EC7375114B977AB00238410 /* ChartCellCollection.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 1EC735DE14B977AA00238410 /* ChartCellCollection.cpp */; }; + 1EC7375214B977AB00238410 /* ChartCellCollection.h in Headers */ = {isa = PBXBuildFile; fileRef = 1EC735DF14B977AA00238410 /* ChartCellCollection.h */; }; + 1EC7375314B977AB00238410 /* ChartCellLabel.h in Headers */ = {isa = PBXBuildFile; fileRef = 1EC735E014B977AA00238410 /* ChartCellLabel.h */; }; + 1EC7375414B977AB00238410 /* ChartCellLabelSet.h in Headers */ = {isa = PBXBuildFile; fileRef = 1EC735E114B977AA00238410 /* ChartCellLabelSet.h */; }; + 1EC7375514B977AB00238410 /* ChartHypothesis.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 1EC735E214B977AA00238410 /* ChartHypothesis.cpp */; }; + 1EC7375614B977AB00238410 /* ChartHypothesis.h in Headers */ = {isa = PBXBuildFile; fileRef = 1EC735E314B977AA00238410 /* ChartHypothesis.h */; }; + 1EC7375714B977AB00238410 /* ChartHypothesisCollection.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 1EC735E414B977AA00238410 /* ChartHypothesisCollection.cpp */; }; + 1EC7375814B977AB00238410 /* ChartHypothesisCollection.h in Headers */ = {isa = PBXBuildFile; fileRef = 1EC735E514B977AA00238410 /* ChartHypothesisCollection.h */; }; + 1EC7375914B977AB00238410 /* ChartManager.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 1EC735E614B977AA00238410 /* ChartManager.cpp */; }; + 1EC7375A14B977AB00238410 /* ChartManager.h in Headers */ = {isa = PBXBuildFile; fileRef = 1EC735E714B977AA00238410 /* ChartManager.h */; }; + 1EC7375B14B977AB00238410 /* ChartRuleLookupManager.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 1EC735E814B977AA00238410 /* ChartRuleLookupManager.cpp */; }; + 1EC7375C14B977AB00238410 /* ChartRuleLookupManager.h in Headers */ = {isa = PBXBuildFile; fileRef = 1EC735E914B977AA00238410 /* ChartRuleLookupManager.h */; }; + 1EC7375D14B977AB00238410 /* ChartRuleLookupManagerMemory.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 1EC735EA14B977AA00238410 /* ChartRuleLookupManagerMemory.cpp */; }; + 1EC7375E14B977AB00238410 /* ChartRuleLookupManagerMemory.h in Headers */ = {isa = PBXBuildFile; fileRef = 1EC735EB14B977AA00238410 /* ChartRuleLookupManagerMemory.h */; }; + 1EC7375F14B977AB00238410 /* ChartRuleLookupManagerOnDisk.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 1EC735EC14B977AA00238410 /* ChartRuleLookupManagerOnDisk.cpp */; }; + 1EC7376014B977AB00238410 /* ChartRuleLookupManagerOnDisk.h in Headers */ = {isa = PBXBuildFile; fileRef = 1EC735ED14B977AA00238410 /* ChartRuleLookupManagerOnDisk.h */; }; + 1EC7376114B977AB00238410 /* ChartTranslationOption.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 1EC735EE14B977AA00238410 /* ChartTranslationOption.cpp */; }; + 1EC7376214B977AB00238410 /* ChartTranslationOption.h in Headers */ = {isa = PBXBuildFile; fileRef = 1EC735EF14B977AA00238410 /* ChartTranslationOption.h */; }; + 1EC7376314B977AB00238410 /* ChartTranslationOptionCollection.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 1EC735F014B977AA00238410 /* ChartTranslationOptionCollection.cpp */; }; + 1EC7376414B977AB00238410 /* ChartTranslationOptionCollection.h in Headers */ = {isa = PBXBuildFile; fileRef = 1EC735F114B977AA00238410 /* ChartTranslationOptionCollection.h */; }; + 1EC7376514B977AB00238410 /* ChartTranslationOptionList.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 1EC735F214B977AA00238410 /* ChartTranslationOptionList.cpp */; }; + 1EC7376614B977AB00238410 /* ChartTranslationOptionList.h in Headers */ = {isa = PBXBuildFile; fileRef = 1EC735F314B977AA00238410 /* ChartTranslationOptionList.h */; }; + 1EC7376714B977AB00238410 /* ChartTrellisDetour.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 1EC735F414B977AA00238410 /* ChartTrellisDetour.cpp */; }; + 1EC7376814B977AB00238410 /* ChartTrellisDetour.h in Headers */ = {isa = PBXBuildFile; fileRef = 1EC735F514B977AA00238410 /* ChartTrellisDetour.h */; }; + 1EC7376914B977AB00238410 /* ChartTrellisDetourQueue.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 1EC735F614B977AA00238410 /* ChartTrellisDetourQueue.cpp */; }; + 1EC7376A14B977AB00238410 /* ChartTrellisDetourQueue.h in Headers */ = {isa = PBXBuildFile; fileRef = 1EC735F714B977AA00238410 /* ChartTrellisDetourQueue.h */; }; + 1EC7376B14B977AB00238410 /* ChartTrellisNode.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 1EC735F814B977AA00238410 /* ChartTrellisNode.cpp */; }; + 1EC7376C14B977AB00238410 /* ChartTrellisNode.h in Headers */ = {isa = PBXBuildFile; fileRef = 1EC735F914B977AA00238410 /* ChartTrellisNode.h */; }; + 1EC7376D14B977AB00238410 /* ChartTrellisPath.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 1EC735FA14B977AA00238410 /* ChartTrellisPath.cpp */; }; + 1EC7376E14B977AB00238410 /* ChartTrellisPath.h in Headers */ = {isa = PBXBuildFile; fileRef = 1EC735FB14B977AA00238410 /* ChartTrellisPath.h */; }; + 1EC7376F14B977AB00238410 /* ChartTrellisPathList.h in Headers */ = {isa = PBXBuildFile; fileRef = 1EC735FC14B977AA00238410 /* ChartTrellisPathList.h */; }; + 1EC7377014B977AB00238410 /* ConfusionNet.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 1EC735FD14B977AA00238410 /* ConfusionNet.cpp */; }; + 1EC7377114B977AB00238410 /* ConfusionNet.h in Headers */ = {isa = PBXBuildFile; fileRef = 1EC735FE14B977AA00238410 /* ConfusionNet.h */; }; + 1EC7377214B977AB00238410 /* DecodeFeature.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 1EC735FF14B977AA00238410 /* DecodeFeature.cpp */; }; + 1EC7377314B977AB00238410 /* DecodeFeature.h in Headers */ = {isa = PBXBuildFile; fileRef = 1EC7360014B977AA00238410 /* DecodeFeature.h */; }; + 1EC7377414B977AB00238410 /* DecodeGraph.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 1EC7360114B977AA00238410 /* DecodeGraph.cpp */; }; + 1EC7377514B977AB00238410 /* DecodeGraph.h in Headers */ = {isa = PBXBuildFile; fileRef = 1EC7360214B977AA00238410 /* DecodeGraph.h */; }; + 1EC7377614B977AB00238410 /* DecodeStep.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 1EC7360314B977AA00238410 /* DecodeStep.cpp */; }; + 1EC7377714B977AB00238410 /* DecodeStep.h in Headers */ = {isa = PBXBuildFile; fileRef = 1EC7360414B977AA00238410 /* DecodeStep.h */; }; + 1EC7377814B977AB00238410 /* DecodeStepGeneration.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 1EC7360514B977AA00238410 /* DecodeStepGeneration.cpp */; }; + 1EC7377914B977AB00238410 /* DecodeStepGeneration.h in Headers */ = {isa = PBXBuildFile; fileRef = 1EC7360614B977AA00238410 /* DecodeStepGeneration.h */; }; + 1EC7377A14B977AB00238410 /* DecodeStepTranslation.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 1EC7360714B977AA00238410 /* DecodeStepTranslation.cpp */; }; + 1EC7377B14B977AB00238410 /* DecodeStepTranslation.h in Headers */ = {isa = PBXBuildFile; fileRef = 1EC7360814B977AA00238410 /* DecodeStepTranslation.h */; }; + 1EC7377C14B977AB00238410 /* Dictionary.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 1EC7360914B977AA00238410 /* Dictionary.cpp */; }; + 1EC7377D14B977AB00238410 /* Dictionary.h in Headers */ = {isa = PBXBuildFile; fileRef = 1EC7360A14B977AA00238410 /* Dictionary.h */; }; + 1EC7377E14B977AB00238410 /* DotChart.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 1EC7360B14B977AA00238410 /* DotChart.cpp */; }; + 1EC7377F14B977AB00238410 /* DotChart.h in Headers */ = {isa = PBXBuildFile; fileRef = 1EC7360C14B977AA00238410 /* DotChart.h */; }; + 1EC7378014B977AB00238410 /* DotChartInMemory.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 1EC7360D14B977AA00238410 /* DotChartInMemory.cpp */; }; + 1EC7378114B977AB00238410 /* DotChartInMemory.h in Headers */ = {isa = PBXBuildFile; fileRef = 1EC7360E14B977AA00238410 /* DotChartInMemory.h */; }; + 1EC7378214B977AB00238410 /* DotChartOnDisk.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 1EC7360F14B977AA00238410 /* DotChartOnDisk.cpp */; }; + 1EC7378314B977AB00238410 /* DotChartOnDisk.h in Headers */ = {isa = PBXBuildFile; fileRef = 1EC7361014B977AA00238410 /* DotChartOnDisk.h */; }; + 1EC7378414B977AB00238410 /* DummyScoreProducers.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 1EC7361114B977AA00238410 /* DummyScoreProducers.cpp */; }; + 1EC7378514B977AB00238410 /* DummyScoreProducers.h in Headers */ = {isa = PBXBuildFile; fileRef = 1EC7361214B977AA00238410 /* DummyScoreProducers.h */; }; + 1EC7378614B977AB00238410 /* fdstream.h in Headers */ = {isa = PBXBuildFile; fileRef = 1EC7361414B977AA00238410 /* fdstream.h */; }; + 1EC7378714B977AB00238410 /* file.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 1EC7361514B977AA00238410 /* file.cpp */; }; + 1EC7378814B977AB00238410 /* file.h in Headers */ = {isa = PBXBuildFile; fileRef = 1EC7361614B977AA00238410 /* file.h */; }; + 1EC7378914B977AB00238410 /* hash.h in Headers */ = {isa = PBXBuildFile; fileRef = 1EC7361714B977AA00238410 /* hash.h */; }; + 1EC7378A14B977AB00238410 /* onlineRLM.h in Headers */ = {isa = PBXBuildFile; fileRef = 1EC7361914B977AA00238410 /* onlineRLM.h */; }; + 1EC7378B14B977AB00238410 /* params.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 1EC7361B14B977AA00238410 /* params.cpp */; }; + 1EC7378C14B977AB00238410 /* params.h in Headers */ = {isa = PBXBuildFile; fileRef = 1EC7361D14B977AA00238410 /* params.h */; }; + 1EC7378D14B977AB00238410 /* perfectHash.h in Headers */ = {isa = PBXBuildFile; fileRef = 1EC7361F14B977AA00238410 /* perfectHash.h */; }; + 1EC7378E14B977AB00238410 /* quantizer.h in Headers */ = {isa = PBXBuildFile; fileRef = 1EC7362114B977AA00238410 /* quantizer.h */; }; + 1EC7378F14B977AB00238410 /* RandLMCache.h in Headers */ = {isa = PBXBuildFile; fileRef = 1EC7362314B977AA00238410 /* RandLMCache.h */; }; + 1EC7379014B977AB00238410 /* RandLMFilter.h in Headers */ = {isa = PBXBuildFile; fileRef = 1EC7362514B977AA00238410 /* RandLMFilter.h */; }; + 1EC7379114B977AB00238410 /* types.h in Headers */ = {isa = PBXBuildFile; fileRef = 1EC7362714B977AA00238410 /* types.h */; }; + 1EC7379214B977AB00238410 /* utils.h in Headers */ = {isa = PBXBuildFile; fileRef = 1EC7362814B977AA00238410 /* utils.h */; }; + 1EC7379314B977AB00238410 /* vocab.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 1EC7362914B977AA00238410 /* vocab.cpp */; }; + 1EC7379414B977AB00238410 /* vocab.h in Headers */ = {isa = PBXBuildFile; fileRef = 1EC7362B14B977AA00238410 /* vocab.h */; }; + 1EC7379514B977AB00238410 /* DynSuffixArray.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 1EC7362C14B977AA00238410 /* DynSuffixArray.cpp */; }; + 1EC7379614B977AB00238410 /* DynSuffixArray.h in Headers */ = {isa = PBXBuildFile; fileRef = 1EC7362D14B977AA00238410 /* DynSuffixArray.h */; }; + 1EC7379714B977AB00238410 /* Factor.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 1EC7362E14B977AA00238410 /* Factor.cpp */; }; + 1EC7379814B977AB00238410 /* Factor.h in Headers */ = {isa = PBXBuildFile; fileRef = 1EC7362F14B977AA00238410 /* Factor.h */; }; + 1EC7379914B977AB00238410 /* FactorCollection.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 1EC7363014B977AA00238410 /* FactorCollection.cpp */; }; + 1EC7379A14B977AB00238410 /* FactorCollection.h in Headers */ = {isa = PBXBuildFile; fileRef = 1EC7363114B977AA00238410 /* FactorCollection.h */; }; + 1EC7379B14B977AB00238410 /* FactorTypeSet.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 1EC7363214B977AA00238410 /* FactorTypeSet.cpp */; }; + 1EC7379C14B977AB00238410 /* FactorTypeSet.h in Headers */ = {isa = PBXBuildFile; fileRef = 1EC7363314B977AA00238410 /* FactorTypeSet.h */; }; + 1EC7379D14B977AB00238410 /* FeatureFunction.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 1EC7363414B977AA00238410 /* FeatureFunction.cpp */; }; + 1EC7379E14B977AB00238410 /* FeatureFunction.h in Headers */ = {isa = PBXBuildFile; fileRef = 1EC7363514B977AA00238410 /* FeatureFunction.h */; }; + 1EC7379F14B977AB00238410 /* FFState.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 1EC7363614B977AA00238410 /* FFState.cpp */; }; + 1EC737A014B977AB00238410 /* FFState.h in Headers */ = {isa = PBXBuildFile; fileRef = 1EC7363714B977AA00238410 /* FFState.h */; }; + 1EC737A114B977AB00238410 /* File.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 1EC7363814B977AA00238410 /* File.cpp */; }; + 1EC737A214B977AB00238410 /* File.h in Headers */ = {isa = PBXBuildFile; fileRef = 1EC7363914B977AA00238410 /* File.h */; }; + 1EC737A314B977AB00238410 /* FilePtr.h in Headers */ = {isa = PBXBuildFile; fileRef = 1EC7363A14B977AA00238410 /* FilePtr.h */; }; + 1EC737A414B977AB00238410 /* FloydWarshall.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 1EC7363B14B977AA00238410 /* FloydWarshall.cpp */; }; + 1EC737A514B977AB00238410 /* FloydWarshall.h in Headers */ = {isa = PBXBuildFile; fileRef = 1EC7363C14B977AA00238410 /* FloydWarshall.h */; }; + 1EC737A614B977AB00238410 /* GenerationDictionary.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 1EC7363D14B977AA00238410 /* GenerationDictionary.cpp */; }; + 1EC737A714B977AB00238410 /* GenerationDictionary.h in Headers */ = {isa = PBXBuildFile; fileRef = 1EC7363E14B977AA00238410 /* GenerationDictionary.h */; }; + 1EC737A814B977AB00238410 /* GlobalLexicalModel.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 1EC7363F14B977AA00238410 /* GlobalLexicalModel.cpp */; }; + 1EC737A914B977AB00238410 /* GlobalLexicalModel.h in Headers */ = {isa = PBXBuildFile; fileRef = 1EC7364014B977AA00238410 /* GlobalLexicalModel.h */; }; + 1EC737AA14B977AB00238410 /* gzfilebuf.h in Headers */ = {isa = PBXBuildFile; fileRef = 1EC7364114B977AA00238410 /* gzfilebuf.h */; }; + 1EC737AB14B977AB00238410 /* hash.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 1EC7364214B977AA00238410 /* hash.cpp */; }; + 1EC737AC14B977AB00238410 /* hash.h in Headers */ = {isa = PBXBuildFile; fileRef = 1EC7364314B977AA00238410 /* hash.h */; }; + 1EC737AD14B977AB00238410 /* Hypothesis.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 1EC7364514B977AA00238410 /* Hypothesis.cpp */; }; + 1EC737AE14B977AB00238410 /* Hypothesis.h in Headers */ = {isa = PBXBuildFile; fileRef = 1EC7364614B977AA00238410 /* Hypothesis.h */; }; + 1EC737AF14B977AB00238410 /* HypothesisStack.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 1EC7364714B977AA00238410 /* HypothesisStack.cpp */; }; + 1EC737B014B977AB00238410 /* HypothesisStack.h in Headers */ = {isa = PBXBuildFile; fileRef = 1EC7364814B977AA00238410 /* HypothesisStack.h */; }; + 1EC737B114B977AB00238410 /* HypothesisStackCubePruning.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 1EC7364914B977AA00238410 /* HypothesisStackCubePruning.cpp */; }; + 1EC737B214B977AB00238410 /* HypothesisStackCubePruning.h in Headers */ = {isa = PBXBuildFile; fileRef = 1EC7364A14B977AA00238410 /* HypothesisStackCubePruning.h */; }; + 1EC737B314B977AB00238410 /* HypothesisStackNormal.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 1EC7364B14B977AA00238410 /* HypothesisStackNormal.cpp */; }; + 1EC737B414B977AB00238410 /* HypothesisStackNormal.h in Headers */ = {isa = PBXBuildFile; fileRef = 1EC7364C14B977AA00238410 /* HypothesisStackNormal.h */; }; + 1EC737B514B977AB00238410 /* InputFileStream.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 1EC7364D14B977AA00238410 /* InputFileStream.cpp */; }; + 1EC737B614B977AB00238410 /* InputFileStream.h in Headers */ = {isa = PBXBuildFile; fileRef = 1EC7364E14B977AA00238410 /* InputFileStream.h */; }; + 1EC737B714B977AB00238410 /* InputType.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 1EC7364F14B977AA00238410 /* InputType.cpp */; }; + 1EC737B814B977AB00238410 /* InputType.h in Headers */ = {isa = PBXBuildFile; fileRef = 1EC7365014B977AA00238410 /* InputType.h */; }; + 1EC737BB14B977AB00238410 /* LexicalReordering.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 1EC7365414B977AA00238410 /* LexicalReordering.cpp */; }; + 1EC737BC14B977AB00238410 /* LexicalReordering.h in Headers */ = {isa = PBXBuildFile; fileRef = 1EC7365514B977AA00238410 /* LexicalReordering.h */; }; + 1EC737BD14B977AB00238410 /* LexicalReorderingState.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 1EC7365614B977AA00238410 /* LexicalReorderingState.cpp */; }; + 1EC737BE14B977AB00238410 /* LexicalReorderingState.h in Headers */ = {isa = PBXBuildFile; fileRef = 1EC7365714B977AA00238410 /* LexicalReorderingState.h */; }; + 1EC737BF14B977AB00238410 /* LexicalReorderingTable.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 1EC7365814B977AA00238410 /* LexicalReorderingTable.cpp */; }; + 1EC737C014B977AB00238410 /* LexicalReorderingTable.h in Headers */ = {isa = PBXBuildFile; fileRef = 1EC7365914B977AA00238410 /* LexicalReorderingTable.h */; }; + 1EC737C114B977AB00238410 /* Base.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 1EC7365C14B977AA00238410 /* Base.cpp */; }; + 1EC737C214B977AB00238410 /* Base.h in Headers */ = {isa = PBXBuildFile; fileRef = 1EC7365E14B977AA00238410 /* Base.h */; }; + 1EC737DA14B977AB00238410 /* Factory.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 1EC7368714B977AA00238410 /* Factory.cpp */; }; + 1EC737DB14B977AB00238410 /* Factory.h in Headers */ = {isa = PBXBuildFile; fileRef = 1EC7368814B977AA00238410 /* Factory.h */; }; + 1EC737DC14B977AB00238410 /* Implementation.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 1EC7368914B977AA00238410 /* Implementation.cpp */; }; + 1EC737DD14B977AB00238410 /* Implementation.h in Headers */ = {isa = PBXBuildFile; fileRef = 1EC7368B14B977AA00238410 /* Implementation.h */; }; + 1EC737DE14B977AB00238410 /* IRST.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 1EC7368D14B977AA00238410 /* IRST.cpp */; }; + 1EC737DF14B977AB00238410 /* IRST.h in Headers */ = {isa = PBXBuildFile; fileRef = 1EC7368F14B977AA00238410 /* IRST.h */; }; + 1EC737E114B977AB00238410 /* Joint.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 1EC7369114B977AA00238410 /* Joint.cpp */; }; + 1EC737E214B977AB00238410 /* Joint.h in Headers */ = {isa = PBXBuildFile; fileRef = 1EC7369214B977AA00238410 /* Joint.h */; }; + 1EC737E314B977AB00238410 /* Ken.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 1EC7369314B977AA00238410 /* Ken.cpp */; }; + 1EC737E414B977AB00238410 /* Ken.h in Headers */ = {isa = PBXBuildFile; fileRef = 1EC7369514B977AA00238410 /* Ken.h */; }; + 1EC737E514B977AB00238410 /* MultiFactor.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 1EC7369714B977AA00238410 /* MultiFactor.cpp */; }; + 1EC737E614B977AB00238410 /* MultiFactor.h in Headers */ = {isa = PBXBuildFile; fileRef = 1EC7369814B977AA00238410 /* MultiFactor.h */; }; + 1EC737E714B977AB00238410 /* ORLM.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 1EC7369914B977AA00238410 /* ORLM.cpp */; }; + 1EC737E814B977AB00238410 /* ORLM.h in Headers */ = {isa = PBXBuildFile; fileRef = 1EC7369B14B977AA00238410 /* ORLM.h */; }; + 1EC737ED14B977AB00238410 /* Remote.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 1EC736A314B977AA00238410 /* Remote.cpp */; }; + 1EC737EE14B977AB00238410 /* Remote.h in Headers */ = {isa = PBXBuildFile; fileRef = 1EC736A414B977AA00238410 /* Remote.h */; }; + 1EC737EF14B977AB00238410 /* SingleFactor.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 1EC736A514B977AA00238410 /* SingleFactor.cpp */; }; + 1EC737F014B977AB00238410 /* SingleFactor.h in Headers */ = {isa = PBXBuildFile; fileRef = 1EC736A614B977AA00238410 /* SingleFactor.h */; }; + 1EC737F114B977AB00238410 /* SRI.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 1EC736A714B977AA00238410 /* SRI.cpp */; }; + 1EC737F214B977AB00238410 /* SRI.h in Headers */ = {isa = PBXBuildFile; fileRef = 1EC736A814B977AA00238410 /* SRI.h */; }; + 1EC737F314B977AB00238410 /* LMList.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 1EC736A914B977AA00238410 /* LMList.cpp */; }; + 1EC737F414B977AB00238410 /* LMList.h in Headers */ = {isa = PBXBuildFile; fileRef = 1EC736AA14B977AA00238410 /* LMList.h */; }; + 1EC737F514B977AB00238410 /* LVoc.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 1EC736AB14B977AA00238410 /* LVoc.cpp */; }; + 1EC737F614B977AB00238410 /* LVoc.h in Headers */ = {isa = PBXBuildFile; fileRef = 1EC736AC14B977AA00238410 /* LVoc.h */; }; + 1EC737F714B977AB00238410 /* Manager.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 1EC736AD14B977AA00238410 /* Manager.cpp */; }; + 1EC737F814B977AB00238410 /* Manager.h in Headers */ = {isa = PBXBuildFile; fileRef = 1EC736AE14B977AA00238410 /* Manager.h */; }; + 1EC737F914B977AB00238410 /* NonTerminal.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 1EC736AF14B977AA00238410 /* NonTerminal.cpp */; }; + 1EC737FA14B977AB00238410 /* NonTerminal.h in Headers */ = {isa = PBXBuildFile; fileRef = 1EC736B014B977AA00238410 /* NonTerminal.h */; }; + 1EC737FB14B977AB00238410 /* ObjectPool.h in Headers */ = {isa = PBXBuildFile; fileRef = 1EC736B114B977AA00238410 /* ObjectPool.h */; }; + 1EC737FC14B977AB00238410 /* OutputCollector.h in Headers */ = {isa = PBXBuildFile; fileRef = 1EC736B214B977AA00238410 /* OutputCollector.h */; }; + 1EC737FE14B977AB00238410 /* Parameter.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 1EC736B514B977AA00238410 /* Parameter.cpp */; }; + 1EC737FF14B977AB00238410 /* Parameter.h in Headers */ = {isa = PBXBuildFile; fileRef = 1EC736B614B977AA00238410 /* Parameter.h */; }; + 1EC7380014B977AB00238410 /* PartialTranslOptColl.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 1EC736B714B977AA00238410 /* PartialTranslOptColl.cpp */; }; + 1EC7380114B977AB00238410 /* PartialTranslOptColl.h in Headers */ = {isa = PBXBuildFile; fileRef = 1EC736B814B977AA00238410 /* PartialTranslOptColl.h */; }; + 1EC7380214B977AB00238410 /* PCNTools.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 1EC736B914B977AA00238410 /* PCNTools.cpp */; }; + 1EC7380314B977AB00238410 /* PCNTools.h in Headers */ = {isa = PBXBuildFile; fileRef = 1EC736BA14B977AA00238410 /* PCNTools.h */; }; + 1EC7380414B977AB00238410 /* PDTAimp.h in Headers */ = {isa = PBXBuildFile; fileRef = 1EC736BB14B977AA00238410 /* PDTAimp.h */; }; + 1EC7380514B977AB00238410 /* Phrase.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 1EC736BC14B977AA00238410 /* Phrase.cpp */; }; + 1EC7380614B977AB00238410 /* Phrase.h in Headers */ = {isa = PBXBuildFile; fileRef = 1EC736BD14B977AA00238410 /* Phrase.h */; }; + 1EC7380714B977AB00238410 /* PhraseDictionary.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 1EC736BE14B977AA00238410 /* PhraseDictionary.cpp */; }; + 1EC7380814B977AB00238410 /* PhraseDictionary.h in Headers */ = {isa = PBXBuildFile; fileRef = 1EC736BF14B977AA00238410 /* PhraseDictionary.h */; }; + 1EC7380914B977AB00238410 /* PhraseDictionaryALSuffixArray.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 1EC736C014B977AA00238410 /* PhraseDictionaryALSuffixArray.cpp */; }; + 1EC7380A14B977AB00238410 /* PhraseDictionaryALSuffixArray.h in Headers */ = {isa = PBXBuildFile; fileRef = 1EC736C114B977AA00238410 /* PhraseDictionaryALSuffixArray.h */; }; + 1EC7380B14B977AB00238410 /* PhraseDictionaryDynSuffixArray.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 1EC736C214B977AA00238410 /* PhraseDictionaryDynSuffixArray.cpp */; }; + 1EC7380C14B977AB00238410 /* PhraseDictionaryDynSuffixArray.h in Headers */ = {isa = PBXBuildFile; fileRef = 1EC736C314B977AA00238410 /* PhraseDictionaryDynSuffixArray.h */; }; + 1EC7380D14B977AB00238410 /* PhraseDictionaryHiero.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 1EC736C414B977AA00238410 /* PhraseDictionaryHiero.cpp */; }; + 1EC7380E14B977AB00238410 /* PhraseDictionaryHiero.h in Headers */ = {isa = PBXBuildFile; fileRef = 1EC736C514B977AA00238410 /* PhraseDictionaryHiero.h */; }; + 1EC7380F14B977AB00238410 /* PhraseDictionaryMemory.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 1EC736C614B977AA00238410 /* PhraseDictionaryMemory.cpp */; }; + 1EC7381014B977AB00238410 /* PhraseDictionaryMemory.h in Headers */ = {isa = PBXBuildFile; fileRef = 1EC736C714B977AA00238410 /* PhraseDictionaryMemory.h */; }; + 1EC7381114B977AB00238410 /* PhraseDictionaryNode.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 1EC736C814B977AA00238410 /* PhraseDictionaryNode.cpp */; }; + 1EC7381214B977AB00238410 /* PhraseDictionaryNode.h in Headers */ = {isa = PBXBuildFile; fileRef = 1EC736C914B977AA00238410 /* PhraseDictionaryNode.h */; }; + 1EC7381314B977AB00238410 /* PhraseDictionaryNodeSCFG.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 1EC736CA14B977AA00238410 /* PhraseDictionaryNodeSCFG.cpp */; }; + 1EC7381414B977AB00238410 /* PhraseDictionaryNodeSCFG.h in Headers */ = {isa = PBXBuildFile; fileRef = 1EC736CB14B977AA00238410 /* PhraseDictionaryNodeSCFG.h */; }; + 1EC7381514B977AB00238410 /* PhraseDictionaryOnDisk.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 1EC736CC14B977AA00238410 /* PhraseDictionaryOnDisk.cpp */; }; + 1EC7381614B977AB00238410 /* PhraseDictionaryOnDisk.h in Headers */ = {isa = PBXBuildFile; fileRef = 1EC736CD14B977AA00238410 /* PhraseDictionaryOnDisk.h */; }; + 1EC7381714B977AB00238410 /* PhraseDictionarySCFG.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 1EC736CE14B977AA00238410 /* PhraseDictionarySCFG.cpp */; }; + 1EC7381814B977AB00238410 /* PhraseDictionarySCFG.h in Headers */ = {isa = PBXBuildFile; fileRef = 1EC736CF14B977AA00238410 /* PhraseDictionarySCFG.h */; }; + 1EC7381914B977AB00238410 /* PhraseDictionaryTree.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 1EC736D014B977AA00238410 /* PhraseDictionaryTree.cpp */; }; + 1EC7381A14B977AB00238410 /* PhraseDictionaryTree.h in Headers */ = {isa = PBXBuildFile; fileRef = 1EC736D114B977AA00238410 /* PhraseDictionaryTree.h */; }; + 1EC7381B14B977AB00238410 /* PhraseDictionaryTreeAdaptor.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 1EC736D214B977AA00238410 /* PhraseDictionaryTreeAdaptor.cpp */; }; + 1EC7381C14B977AB00238410 /* PhraseDictionaryTreeAdaptor.h in Headers */ = {isa = PBXBuildFile; fileRef = 1EC736D314B977AA00238410 /* PhraseDictionaryTreeAdaptor.h */; }; + 1EC7381D14B977AB00238410 /* PrefixTree.h in Headers */ = {isa = PBXBuildFile; fileRef = 1EC736D414B977AA00238410 /* PrefixTree.h */; }; + 1EC7381E14B977AB00238410 /* PrefixTreeMap.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 1EC736D514B977AA00238410 /* PrefixTreeMap.cpp */; }; + 1EC7381F14B977AB00238410 /* PrefixTreeMap.h in Headers */ = {isa = PBXBuildFile; fileRef = 1EC736D614B977AA00238410 /* PrefixTreeMap.h */; }; + 1EC7382014B977AB00238410 /* ReorderingConstraint.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 1EC736D714B977AA00238410 /* ReorderingConstraint.cpp */; }; + 1EC7382114B977AB00238410 /* ReorderingConstraint.h in Headers */ = {isa = PBXBuildFile; fileRef = 1EC736D814B977AA00238410 /* ReorderingConstraint.h */; }; + 1EC7382214B977AB00238410 /* ReorderingStack.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 1EC736D914B977AA00238410 /* ReorderingStack.cpp */; }; + 1EC7382314B977AB00238410 /* ReorderingStack.h in Headers */ = {isa = PBXBuildFile; fileRef = 1EC736DA14B977AA00238410 /* ReorderingStack.h */; }; + 1EC7382414B977AB00238410 /* RuleCube.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 1EC736DC14B977AA00238410 /* RuleCube.cpp */; }; + 1EC7382514B977AB00238410 /* RuleCube.h in Headers */ = {isa = PBXBuildFile; fileRef = 1EC736DD14B977AB00238410 /* RuleCube.h */; }; + 1EC7382614B977AB00238410 /* RuleCubeItem.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 1EC736DE14B977AB00238410 /* RuleCubeItem.cpp */; }; + 1EC7382714B977AB00238410 /* RuleCubeItem.h in Headers */ = {isa = PBXBuildFile; fileRef = 1EC736DF14B977AB00238410 /* RuleCubeItem.h */; }; + 1EC7382814B977AB00238410 /* RuleCubeQueue.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 1EC736E014B977AB00238410 /* RuleCubeQueue.cpp */; }; + 1EC7382914B977AB00238410 /* RuleCubeQueue.h in Headers */ = {isa = PBXBuildFile; fileRef = 1EC736E114B977AB00238410 /* RuleCubeQueue.h */; }; + 1EC7382A14B977AB00238410 /* RuleTableLoader.h in Headers */ = {isa = PBXBuildFile; fileRef = 1EC736E214B977AB00238410 /* RuleTableLoader.h */; }; + 1EC7382B14B977AB00238410 /* RuleTableLoaderCompact.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 1EC736E314B977AB00238410 /* RuleTableLoaderCompact.cpp */; }; + 1EC7382C14B977AB00238410 /* RuleTableLoaderCompact.h in Headers */ = {isa = PBXBuildFile; fileRef = 1EC736E414B977AB00238410 /* RuleTableLoaderCompact.h */; }; + 1EC7382D14B977AB00238410 /* RuleTableLoaderFactory.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 1EC736E514B977AB00238410 /* RuleTableLoaderFactory.cpp */; }; + 1EC7382E14B977AB00238410 /* RuleTableLoaderFactory.h in Headers */ = {isa = PBXBuildFile; fileRef = 1EC736E614B977AB00238410 /* RuleTableLoaderFactory.h */; }; + 1EC7382F14B977AB00238410 /* RuleTableLoaderHiero.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 1EC736E714B977AB00238410 /* RuleTableLoaderHiero.cpp */; }; + 1EC7383014B977AB00238410 /* RuleTableLoaderHiero.h in Headers */ = {isa = PBXBuildFile; fileRef = 1EC736E814B977AB00238410 /* RuleTableLoaderHiero.h */; }; + 1EC7383114B977AB00238410 /* RuleTableLoaderStandard.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 1EC736E914B977AB00238410 /* RuleTableLoaderStandard.cpp */; }; + 1EC7383214B977AB00238410 /* RuleTableLoaderStandard.h in Headers */ = {isa = PBXBuildFile; fileRef = 1EC736EA14B977AB00238410 /* RuleTableLoaderStandard.h */; }; + 1EC7383314B977AB00238410 /* ScoreComponentCollection.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 1EC736EB14B977AB00238410 /* ScoreComponentCollection.cpp */; }; + 1EC7383414B977AB00238410 /* ScoreComponentCollection.h in Headers */ = {isa = PBXBuildFile; fileRef = 1EC736EC14B977AB00238410 /* ScoreComponentCollection.h */; }; + 1EC7383514B977AB00238410 /* ScoreIndexManager.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 1EC736ED14B977AB00238410 /* ScoreIndexManager.cpp */; }; + 1EC7383614B977AB00238410 /* ScoreIndexManager.h in Headers */ = {isa = PBXBuildFile; fileRef = 1EC736EE14B977AB00238410 /* ScoreIndexManager.h */; }; + 1EC7383714B977AB00238410 /* ScoreProducer.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 1EC736EF14B977AB00238410 /* ScoreProducer.cpp */; }; + 1EC7383814B977AB00238410 /* ScoreProducer.h in Headers */ = {isa = PBXBuildFile; fileRef = 1EC736F014B977AB00238410 /* ScoreProducer.h */; }; + 1EC7383914B977AB00238410 /* Search.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 1EC736F114B977AB00238410 /* Search.cpp */; }; + 1EC7383A14B977AB00238410 /* Search.h in Headers */ = {isa = PBXBuildFile; fileRef = 1EC736F214B977AB00238410 /* Search.h */; }; + 1EC7383B14B977AB00238410 /* SearchCubePruning.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 1EC736F314B977AB00238410 /* SearchCubePruning.cpp */; }; + 1EC7383C14B977AB00238410 /* SearchCubePruning.h in Headers */ = {isa = PBXBuildFile; fileRef = 1EC736F414B977AB00238410 /* SearchCubePruning.h */; }; + 1EC7383D14B977AB00238410 /* SearchNormal.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 1EC736F514B977AB00238410 /* SearchNormal.cpp */; }; + 1EC7383E14B977AB00238410 /* SearchNormal.h in Headers */ = {isa = PBXBuildFile; fileRef = 1EC736F614B977AB00238410 /* SearchNormal.h */; }; + 1EC7383F14B977AB00238410 /* Sentence.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 1EC736F714B977AB00238410 /* Sentence.cpp */; }; + 1EC7384014B977AB00238410 /* Sentence.h in Headers */ = {isa = PBXBuildFile; fileRef = 1EC736F814B977AB00238410 /* Sentence.h */; }; + 1EC7384114B977AB00238410 /* SentenceStats.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 1EC736F914B977AB00238410 /* SentenceStats.cpp */; }; + 1EC7384214B977AB00238410 /* SentenceStats.h in Headers */ = {isa = PBXBuildFile; fileRef = 1EC736FA14B977AB00238410 /* SentenceStats.h */; }; + 1EC7384314B977AB00238410 /* SquareMatrix.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 1EC736FB14B977AB00238410 /* SquareMatrix.cpp */; }; + 1EC7384414B977AB00238410 /* SquareMatrix.h in Headers */ = {isa = PBXBuildFile; fileRef = 1EC736FC14B977AB00238410 /* SquareMatrix.h */; }; + 1EC7384614B977AB00238410 /* StaticData.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 1EC736FF14B977AB00238410 /* StaticData.cpp */; }; + 1EC7384714B977AB00238410 /* StaticData.h in Headers */ = {isa = PBXBuildFile; fileRef = 1EC7370014B977AB00238410 /* StaticData.h */; }; + 1EC7384D14B977AB00238410 /* TargetPhrase.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 1EC7370714B977AB00238410 /* TargetPhrase.cpp */; }; + 1EC7384E14B977AB00238410 /* TargetPhrase.h in Headers */ = {isa = PBXBuildFile; fileRef = 1EC7370814B977AB00238410 /* TargetPhrase.h */; }; + 1EC7384F14B977AB00238410 /* TargetPhraseCollection.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 1EC7370914B977AB00238410 /* TargetPhraseCollection.cpp */; }; + 1EC7385014B977AB00238410 /* TargetPhraseCollection.h in Headers */ = {isa = PBXBuildFile; fileRef = 1EC7370A14B977AB00238410 /* TargetPhraseCollection.h */; }; + 1EC7385114B977AB00238410 /* ThreadPool.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 1EC7370B14B977AB00238410 /* ThreadPool.cpp */; }; + 1EC7385214B977AB00238410 /* ThreadPool.h in Headers */ = {isa = PBXBuildFile; fileRef = 1EC7370C14B977AB00238410 /* ThreadPool.h */; }; + 1EC7385314B977AB00238410 /* Timer.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 1EC7370D14B977AB00238410 /* Timer.cpp */; }; + 1EC7385414B977AB00238410 /* Timer.h in Headers */ = {isa = PBXBuildFile; fileRef = 1EC7370E14B977AB00238410 /* Timer.h */; }; + 1EC7385514B977AB00238410 /* TranslationOption.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 1EC7370F14B977AB00238410 /* TranslationOption.cpp */; }; + 1EC7385614B977AB00238410 /* TranslationOption.h in Headers */ = {isa = PBXBuildFile; fileRef = 1EC7371014B977AB00238410 /* TranslationOption.h */; }; + 1EC7385714B977AB00238410 /* TranslationOptionCollection.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 1EC7371114B977AB00238410 /* TranslationOptionCollection.cpp */; }; + 1EC7385814B977AB00238410 /* TranslationOptionCollection.h in Headers */ = {isa = PBXBuildFile; fileRef = 1EC7371214B977AB00238410 /* TranslationOptionCollection.h */; }; + 1EC7385914B977AB00238410 /* TranslationOptionCollectionConfusionNet.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 1EC7371314B977AB00238410 /* TranslationOptionCollectionConfusionNet.cpp */; }; + 1EC7385A14B977AB00238410 /* TranslationOptionCollectionConfusionNet.h in Headers */ = {isa = PBXBuildFile; fileRef = 1EC7371414B977AB00238410 /* TranslationOptionCollectionConfusionNet.h */; }; + 1EC7385B14B977AB00238410 /* TranslationOptionCollectionText.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 1EC7371514B977AB00238410 /* TranslationOptionCollectionText.cpp */; }; + 1EC7385C14B977AB00238410 /* TranslationOptionCollectionText.h in Headers */ = {isa = PBXBuildFile; fileRef = 1EC7371614B977AB00238410 /* TranslationOptionCollectionText.h */; }; + 1EC7385D14B977AB00238410 /* TranslationOptionList.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 1EC7371714B977AB00238410 /* TranslationOptionList.cpp */; }; + 1EC7385E14B977AB00238410 /* TranslationOptionList.h in Headers */ = {isa = PBXBuildFile; fileRef = 1EC7371814B977AB00238410 /* TranslationOptionList.h */; }; + 1EC7385F14B977AB00238410 /* TranslationSystem.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 1EC7371914B977AB00238410 /* TranslationSystem.cpp */; }; + 1EC7386014B977AB00238410 /* TranslationSystem.h in Headers */ = {isa = PBXBuildFile; fileRef = 1EC7371A14B977AB00238410 /* TranslationSystem.h */; }; + 1EC7386114B977AB00238410 /* TreeInput.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 1EC7371B14B977AB00238410 /* TreeInput.cpp */; }; + 1EC7386214B977AB00238410 /* TreeInput.h in Headers */ = {isa = PBXBuildFile; fileRef = 1EC7371C14B977AB00238410 /* TreeInput.h */; }; + 1EC7386414B977AB00238410 /* TrellisPath.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 1EC7371F14B977AB00238410 /* TrellisPath.cpp */; }; + 1EC7386514B977AB00238410 /* TrellisPath.h in Headers */ = {isa = PBXBuildFile; fileRef = 1EC7372014B977AB00238410 /* TrellisPath.h */; }; + 1EC7386714B977AB00238410 /* TrellisPathCollection.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 1EC7372314B977AB00238410 /* TrellisPathCollection.cpp */; }; + 1EC7386814B977AB00238410 /* TrellisPathCollection.h in Headers */ = {isa = PBXBuildFile; fileRef = 1EC7372414B977AB00238410 /* TrellisPathCollection.h */; }; + 1EC7386A14B977AB00238410 /* TrellisPathList.h in Headers */ = {isa = PBXBuildFile; fileRef = 1EC7372714B977AB00238410 /* TrellisPathList.h */; }; + 1EC7386B14B977AB00238410 /* TypeDef.h in Headers */ = {isa = PBXBuildFile; fileRef = 1EC7372814B977AB00238410 /* TypeDef.h */; }; + 1EC7386C14B977AB00238410 /* UniqueObject.h in Headers */ = {isa = PBXBuildFile; fileRef = 1EC7372914B977AB00238410 /* UniqueObject.h */; }; + 1EC7386D14B977AB00238410 /* UserMessage.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 1EC7372A14B977AB00238410 /* UserMessage.cpp */; }; + 1EC7386E14B977AB00238410 /* UserMessage.h in Headers */ = {isa = PBXBuildFile; fileRef = 1EC7372B14B977AB00238410 /* UserMessage.h */; }; + 1EC7387014B977AB00238410 /* Util.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 1EC7372E14B977AB00238410 /* Util.cpp */; }; + 1EC7387114B977AB00238410 /* Util.h in Headers */ = {isa = PBXBuildFile; fileRef = 1EC7372F14B977AB00238410 /* Util.h */; }; + 1EC7387314B977AB00238410 /* Word.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 1EC7373214B977AB00238410 /* Word.cpp */; }; + 1EC7387414B977AB00238410 /* Word.h in Headers */ = {isa = PBXBuildFile; fileRef = 1EC7373314B977AB00238410 /* Word.h */; }; + 1EC7387614B977AB00238410 /* WordLattice.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 1EC7373614B977AB00238410 /* WordLattice.cpp */; }; + 1EC7387714B977AB00238410 /* WordLattice.h in Headers */ = {isa = PBXBuildFile; fileRef = 1EC7373714B977AB00238410 /* WordLattice.h */; }; + 1EC7387814B977AB00238410 /* WordLattice.o in Frameworks */ = {isa = PBXBuildFile; fileRef = 1EC7373914B977AB00238410 /* WordLattice.o */; }; + 1EC7387914B977AB00238410 /* WordsBitmap.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 1EC7373A14B977AB00238410 /* WordsBitmap.cpp */; }; + 1EC7387A14B977AB00238410 /* WordsBitmap.h in Headers */ = {isa = PBXBuildFile; fileRef = 1EC7373B14B977AB00238410 /* WordsBitmap.h */; }; + 1EC7387B14B977AB00238410 /* WordsBitmap.o in Frameworks */ = {isa = PBXBuildFile; fileRef = 1EC7373D14B977AB00238410 /* WordsBitmap.o */; }; + 1EC7387C14B977AB00238410 /* WordsRange.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 1EC7373E14B977AB00238410 /* WordsRange.cpp */; }; + 1EC7387D14B977AB00238410 /* WordsRange.h in Headers */ = {isa = PBXBuildFile; fileRef = 1EC7373F14B977AB00238410 /* WordsRange.h */; }; + 1EC7387E14B977AB00238410 /* WordsRange.o in Frameworks */ = {isa = PBXBuildFile; fileRef = 1EC7374114B977AB00238410 /* WordsRange.o */; }; + 1EC7387F14B977AB00238410 /* XmlOption.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 1EC7374214B977AB00238410 /* XmlOption.cpp */; }; + 1EC7388014B977AB00238410 /* XmlOption.h in Headers */ = {isa = PBXBuildFile; fileRef = 1EC7374314B977AB00238410 /* XmlOption.h */; }; + 1EC7388114B977AB00238410 /* XmlOption.o in Frameworks */ = {isa = PBXBuildFile; fileRef = 1EC7374514B977AB00238410 /* XmlOption.o */; }; /* End PBXBuildFile section */ /* Begin PBXFileReference section */ - 1E07291D13B3854D004454FD /* AlignmentInfoCollection.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = AlignmentInfoCollection.cpp; path = src/AlignmentInfoCollection.cpp; sourceTree = ""; }; - 1E07291E13B3854D004454FD /* AlignmentInfoCollection.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = AlignmentInfoCollection.h; path = src/AlignmentInfoCollection.h; sourceTree = ""; }; - 1E078C1B14643AED00A707F4 /* PhraseDictionaryHiero.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = PhraseDictionaryHiero.h; path = src/PhraseDictionaryHiero.h; sourceTree = ""; }; - 1E078C1E14643C2000A707F4 /* PhraseDictionaryHiero.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = PhraseDictionaryHiero.cpp; path = src/PhraseDictionaryHiero.cpp; sourceTree = ""; }; - 1E078C20146440A900A707F4 /* RuleTableLoaderHiero.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = RuleTableLoaderHiero.h; path = src/RuleTableLoaderHiero.h; sourceTree = ""; }; - 1E078C22146440F700A707F4 /* RuleTableLoaderHiero.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = RuleTableLoaderHiero.cpp; path = src/RuleTableLoaderHiero.cpp; sourceTree = ""; }; - 1E16D087144DAA6C00B60B4F /* Base.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = Base.cpp; path = src/LM/Base.cpp; sourceTree = ""; }; - 1E16D088144DAA6C00B60B4F /* Base.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = Base.h; path = src/LM/Base.h; sourceTree = ""; }; - 1E16D08B144DAA6C00B60B4F /* Factory.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = Factory.cpp; path = src/LM/Factory.cpp; sourceTree = ""; }; - 1E16D08C144DAA6C00B60B4F /* Factory.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = Factory.h; path = src/LM/Factory.h; sourceTree = ""; }; - 1E16D08D144DAA6C00B60B4F /* Implementation.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = Implementation.cpp; path = src/LM/Implementation.cpp; sourceTree = ""; }; - 1E16D08E144DAA6C00B60B4F /* Implementation.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = Implementation.h; path = src/LM/Implementation.h; sourceTree = ""; }; - 1E16D08F144DAA6C00B60B4F /* IRST.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = IRST.cpp; path = src/LM/IRST.cpp; sourceTree = ""; }; - 1E16D090144DAA6C00B60B4F /* IRST.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = IRST.h; path = src/LM/IRST.h; sourceTree = ""; }; - 1E16D091144DAA6C00B60B4F /* Joint.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = Joint.cpp; path = src/LM/Joint.cpp; sourceTree = ""; }; - 1E16D092144DAA6C00B60B4F /* Joint.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = Joint.h; path = src/LM/Joint.h; sourceTree = ""; }; - 1E16D093144DAA6C00B60B4F /* Ken.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = Ken.cpp; path = src/LM/Ken.cpp; sourceTree = ""; }; - 1E16D094144DAA6C00B60B4F /* Ken.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = Ken.h; path = src/LM/Ken.h; sourceTree = ""; }; - 1E16D095144DAA6C00B60B4F /* MultiFactor.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = MultiFactor.cpp; path = src/LM/MultiFactor.cpp; sourceTree = ""; }; - 1E16D096144DAA6C00B60B4F /* MultiFactor.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = MultiFactor.h; path = src/LM/MultiFactor.h; sourceTree = ""; }; - 1E16D099144DAA6C00B60B4F /* ParallelBackoff.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = ParallelBackoff.cpp; path = src/LM/ParallelBackoff.cpp; sourceTree = ""; }; - 1E16D09A144DAA6C00B60B4F /* ParallelBackoff.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = ParallelBackoff.h; path = src/LM/ParallelBackoff.h; sourceTree = ""; }; - 1E16D09F144DAA6C00B60B4F /* SingleFactor.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = SingleFactor.cpp; path = src/LM/SingleFactor.cpp; sourceTree = ""; }; - 1E16D0A0144DAA6C00B60B4F /* SingleFactor.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = SingleFactor.h; path = src/LM/SingleFactor.h; sourceTree = ""; }; - 1E16D0A1144DAA6C00B60B4F /* SRI.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = SRI.cpp; path = src/LM/SRI.cpp; sourceTree = ""; }; - 1E16D0A2144DAA6C00B60B4F /* SRI.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = SRI.h; path = src/LM/SRI.h; sourceTree = ""; }; - 1E1C589012F310A70067DEB7 /* ChartRuleLookupManagerMemory.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = ChartRuleLookupManagerMemory.cpp; path = src/ChartRuleLookupManagerMemory.cpp; sourceTree = ""; }; - 1E1C589112F310A70067DEB7 /* ChartRuleLookupManagerMemory.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = ChartRuleLookupManagerMemory.h; path = src/ChartRuleLookupManagerMemory.h; sourceTree = ""; }; - 1E1C589212F310A70067DEB7 /* ChartRuleLookupManagerOnDisk.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = ChartRuleLookupManagerOnDisk.cpp; path = src/ChartRuleLookupManagerOnDisk.cpp; sourceTree = ""; }; - 1E1C589312F310A70067DEB7 /* ChartRuleLookupManagerOnDisk.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = ChartRuleLookupManagerOnDisk.h; path = src/ChartRuleLookupManagerOnDisk.h; sourceTree = ""; }; - 1E2755B214667CA3009D1DF9 /* PhraseDictionaryALSuffixArray.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = PhraseDictionaryALSuffixArray.cpp; path = src/PhraseDictionaryALSuffixArray.cpp; sourceTree = ""; }; - 1E2755B514667CC2009D1DF9 /* PhraseDictionaryALSuffixArray.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = PhraseDictionaryALSuffixArray.h; path = src/PhraseDictionaryALSuffixArray.h; sourceTree = ""; }; - 1E2E1604132A890D00ED4085 /* ChartCell.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = ChartCell.cpp; path = src/ChartCell.cpp; sourceTree = ""; }; - 1E2E1605132A890D00ED4085 /* ChartCell.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = ChartCell.h; path = src/ChartCell.h; sourceTree = ""; }; - 1E2E1606132A890D00ED4085 /* ChartCellCollection.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = ChartCellCollection.cpp; path = src/ChartCellCollection.cpp; sourceTree = ""; }; - 1E2E1607132A890D00ED4085 /* ChartCellCollection.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = ChartCellCollection.h; path = src/ChartCellCollection.h; sourceTree = ""; }; - 1E2E1608132A890D00ED4085 /* ChartHypothesis.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = ChartHypothesis.cpp; path = src/ChartHypothesis.cpp; sourceTree = ""; }; - 1E2E1609132A890D00ED4085 /* ChartHypothesis.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = ChartHypothesis.h; path = src/ChartHypothesis.h; sourceTree = ""; }; - 1E2E160A132A890D00ED4085 /* ChartHypothesisCollection.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = ChartHypothesisCollection.cpp; path = src/ChartHypothesisCollection.cpp; sourceTree = ""; }; - 1E2E160B132A890D00ED4085 /* ChartHypothesisCollection.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = ChartHypothesisCollection.h; path = src/ChartHypothesisCollection.h; sourceTree = ""; }; - 1E2E160C132A890D00ED4085 /* ChartManager.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = ChartManager.cpp; path = src/ChartManager.cpp; sourceTree = ""; }; - 1E2E160D132A890D00ED4085 /* ChartManager.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = ChartManager.h; path = src/ChartManager.h; sourceTree = ""; }; - 1E2E160E132A890D00ED4085 /* ChartTranslationOptionCollection.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = ChartTranslationOptionCollection.cpp; path = src/ChartTranslationOptionCollection.cpp; sourceTree = ""; }; - 1E2E160F132A890D00ED4085 /* ChartTranslationOptionCollection.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = ChartTranslationOptionCollection.h; path = src/ChartTranslationOptionCollection.h; sourceTree = ""; }; - 1E2E1610132A890D00ED4085 /* ChartTrellisNode.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = ChartTrellisNode.cpp; path = src/ChartTrellisNode.cpp; sourceTree = ""; }; - 1E2E1611132A890D00ED4085 /* ChartTrellisNode.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = ChartTrellisNode.h; path = src/ChartTrellisNode.h; sourceTree = ""; }; - 1E2E1612132A890D00ED4085 /* ChartTrellisPath.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = ChartTrellisPath.cpp; path = src/ChartTrellisPath.cpp; sourceTree = ""; }; - 1E2E1613132A890D00ED4085 /* ChartTrellisPath.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = ChartTrellisPath.h; path = src/ChartTrellisPath.h; sourceTree = ""; }; - 1E2E1617132A890D00ED4085 /* ChartTrellisPathList.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = ChartTrellisPathList.h; path = src/ChartTrellisPathList.h; sourceTree = ""; }; - 1E2E1632132A892800ED4085 /* OutputCollector.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = OutputCollector.h; path = src/OutputCollector.h; sourceTree = ""; }; - 1E2E1633132A892800ED4085 /* RuleCube.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = RuleCube.cpp; path = src/RuleCube.cpp; sourceTree = ""; }; - 1E2E1634132A892800ED4085 /* RuleCube.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = RuleCube.h; path = src/RuleCube.h; sourceTree = ""; }; - 1E2E1635132A892800ED4085 /* RuleCubeQueue.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = RuleCubeQueue.cpp; path = src/RuleCubeQueue.cpp; sourceTree = ""; }; - 1E2E1636132A892800ED4085 /* RuleCubeQueue.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = RuleCubeQueue.h; path = src/RuleCubeQueue.h; sourceTree = ""; }; - 1E2E1637132A892800ED4085 /* ThreadPool.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = ThreadPool.cpp; path = src/ThreadPool.cpp; sourceTree = ""; }; - 1E2E1638132A892800ED4085 /* ThreadPool.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = ThreadPool.h; path = src/ThreadPool.h; sourceTree = ""; }; - 1E46B5A413BA5C7F0084F898 /* RuleCubeItem.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = RuleCubeItem.cpp; path = src/RuleCubeItem.cpp; sourceTree = ""; }; - 1E46B5A513BA5C7F0084F898 /* RuleCubeItem.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = RuleCubeItem.h; path = src/RuleCubeItem.h; sourceTree = ""; }; - 1E474E11145575CA00178AD5 /* RuleTableLoader.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = RuleTableLoader.h; path = src/RuleTableLoader.h; sourceTree = ""; }; - 1E528B9B13A12B2D00E9A67E /* params.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = params.cpp; path = src/DynSAInclude/params.cpp; sourceTree = ""; }; - 1EA6AB4813BCC838004465AF /* ChartRuleLookupManager.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = ChartRuleLookupManager.cpp; path = src/ChartRuleLookupManager.cpp; sourceTree = ""; }; - 1EA6AB4913BCC838004465AF /* ChartRuleLookupManager.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = ChartRuleLookupManager.h; path = src/ChartRuleLookupManager.h; sourceTree = ""; }; - 1EBB262213A12DB500B51840 /* hash.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = hash.h; path = src/DynSAInclude/hash.h; sourceTree = ""; }; - 1EBB262313A12DB500B51840 /* onlineRLM.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = onlineRLM.h; path = src/DynSAInclude/onlineRLM.h; sourceTree = ""; }; - 1EBB262413A12DB500B51840 /* params.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = params.h; path = src/DynSAInclude/params.h; sourceTree = ""; }; - 1EBB262513A12DB500B51840 /* perfectHash.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = perfectHash.h; path = src/DynSAInclude/perfectHash.h; sourceTree = ""; }; - 1EBB262613A12DB500B51840 /* quantizer.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = quantizer.h; path = src/DynSAInclude/quantizer.h; sourceTree = ""; }; - 1EBB262713A12DB500B51840 /* RandLMCache.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = RandLMCache.h; path = src/DynSAInclude/RandLMCache.h; sourceTree = ""; }; - 1EBB262813A12DB500B51840 /* RandLMFilter.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = RandLMFilter.h; path = src/DynSAInclude/RandLMFilter.h; sourceTree = ""; }; - 1ECA43AD146D585900209CEF /* ChartCellLabelSet.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = ChartCellLabelSet.h; path = src/ChartCellLabelSet.h; sourceTree = ""; }; - 1ECA43AE146D585900209CEF /* ChartTrellisDetour.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = ChartTrellisDetour.cpp; path = src/ChartTrellisDetour.cpp; sourceTree = ""; }; - 1ECA43B1146D586D00209CEF /* ChartTrellisDetour.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = ChartTrellisDetour.h; path = src/ChartTrellisDetour.h; sourceTree = ""; }; - 1ECA43B2146D586D00209CEF /* ChartTrellisDetourQueue.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = ChartTrellisDetourQueue.cpp; path = src/ChartTrellisDetourQueue.cpp; sourceTree = ""; }; - 1ECA43B3146D586D00209CEF /* ChartTrellisDetourQueue.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = ChartTrellisDetourQueue.h; path = src/ChartTrellisDetourQueue.h; sourceTree = ""; }; - 1ED00034124BC2690029177F /* ChartTranslationOption.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = ChartTranslationOption.cpp; path = src/ChartTranslationOption.cpp; sourceTree = ""; }; - 1ED00035124BC2690029177F /* ChartTranslationOption.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = ChartTranslationOption.h; path = src/ChartTranslationOption.h; sourceTree = ""; }; - 1ED0DE1D1432A0D100C20FBE /* RuleTableLoaderCompact.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = RuleTableLoaderCompact.cpp; path = src/RuleTableLoaderCompact.cpp; sourceTree = ""; }; - 1ED0DE1E1432A0D100C20FBE /* RuleTableLoaderCompact.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = RuleTableLoaderCompact.h; path = src/RuleTableLoaderCompact.h; sourceTree = ""; }; - 1ED0DE211432A0D100C20FBE /* RuleTableLoaderFactory.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = RuleTableLoaderFactory.cpp; path = src/RuleTableLoaderFactory.cpp; sourceTree = ""; }; - 1ED0DE221432A0D100C20FBE /* RuleTableLoaderFactory.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = RuleTableLoaderFactory.h; path = src/RuleTableLoaderFactory.h; sourceTree = ""; }; - 1ED0DE251432A0D100C20FBE /* RuleTableLoaderStandard.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = RuleTableLoaderStandard.cpp; path = src/RuleTableLoaderStandard.cpp; sourceTree = ""; }; - 1ED0DE261432A0D100C20FBE /* RuleTableLoaderStandard.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = RuleTableLoaderStandard.h; path = src/RuleTableLoaderStandard.h; sourceTree = ""; }; - 1ED0FD4C124BB9380029177F /* AlignmentInfo.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = AlignmentInfo.cpp; path = src/AlignmentInfo.cpp; sourceTree = ""; }; - 1ED0FD4D124BB9380029177F /* AlignmentInfo.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = AlignmentInfo.h; path = src/AlignmentInfo.h; sourceTree = ""; }; - 1ED0FD4E124BB9380029177F /* BilingualDynSuffixArray.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = BilingualDynSuffixArray.cpp; path = src/BilingualDynSuffixArray.cpp; sourceTree = ""; }; - 1ED0FD4F124BB9380029177F /* BilingualDynSuffixArray.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = BilingualDynSuffixArray.h; path = src/BilingualDynSuffixArray.h; sourceTree = ""; }; - 1ED0FD50124BB9380029177F /* BitmapContainer.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = BitmapContainer.cpp; path = src/BitmapContainer.cpp; sourceTree = ""; }; - 1ED0FD51124BB9380029177F /* BitmapContainer.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = BitmapContainer.h; path = src/BitmapContainer.h; sourceTree = ""; }; - 1ED0FD52124BB9380029177F /* CellCollection.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = CellCollection.h; path = src/CellCollection.h; sourceTree = ""; }; - 1ED0FD57124BB9380029177F /* ConfusionNet.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = ConfusionNet.cpp; path = src/ConfusionNet.cpp; sourceTree = ""; }; - 1ED0FD58124BB9380029177F /* ConfusionNet.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = ConfusionNet.h; path = src/ConfusionNet.h; sourceTree = ""; }; - 1ED0FD59124BB9380029177F /* DecodeFeature.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = DecodeFeature.cpp; path = src/DecodeFeature.cpp; sourceTree = ""; }; - 1ED0FD5A124BB9380029177F /* DecodeFeature.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = DecodeFeature.h; path = src/DecodeFeature.h; sourceTree = ""; }; - 1ED0FD5B124BB9380029177F /* DecodeGraph.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = DecodeGraph.cpp; path = src/DecodeGraph.cpp; sourceTree = ""; }; - 1ED0FD5C124BB9380029177F /* DecodeGraph.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = DecodeGraph.h; path = src/DecodeGraph.h; sourceTree = ""; }; - 1ED0FD5D124BB9380029177F /* DecodeStep.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = DecodeStep.cpp; path = src/DecodeStep.cpp; sourceTree = ""; }; - 1ED0FD5E124BB9380029177F /* DecodeStep.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = DecodeStep.h; path = src/DecodeStep.h; sourceTree = ""; }; - 1ED0FD5F124BB9380029177F /* DecodeStepGeneration.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = DecodeStepGeneration.cpp; path = src/DecodeStepGeneration.cpp; sourceTree = ""; }; - 1ED0FD60124BB9380029177F /* DecodeStepGeneration.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = DecodeStepGeneration.h; path = src/DecodeStepGeneration.h; sourceTree = ""; }; - 1ED0FD61124BB9380029177F /* DecodeStepTranslation.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = DecodeStepTranslation.cpp; path = src/DecodeStepTranslation.cpp; sourceTree = ""; }; - 1ED0FD62124BB9380029177F /* DecodeStepTranslation.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = DecodeStepTranslation.h; path = src/DecodeStepTranslation.h; sourceTree = ""; }; - 1ED0FD63124BB9380029177F /* Dictionary.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = Dictionary.cpp; path = src/Dictionary.cpp; sourceTree = ""; }; - 1ED0FD64124BB9380029177F /* Dictionary.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = Dictionary.h; path = src/Dictionary.h; sourceTree = ""; }; - 1ED0FD65124BB9380029177F /* DotChart.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = DotChart.cpp; path = src/DotChart.cpp; sourceTree = ""; }; - 1ED0FD66124BB9380029177F /* DotChart.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = DotChart.h; path = src/DotChart.h; sourceTree = ""; }; - 1ED0FD67124BB9380029177F /* DotChartOnDisk.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = DotChartOnDisk.cpp; path = src/DotChartOnDisk.cpp; sourceTree = ""; }; - 1ED0FD68124BB9380029177F /* DotChartOnDisk.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = DotChartOnDisk.h; path = src/DotChartOnDisk.h; sourceTree = ""; }; - 1ED0FD69124BB9380029177F /* DummyScoreProducers.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = DummyScoreProducers.cpp; path = src/DummyScoreProducers.cpp; sourceTree = ""; }; - 1ED0FD6A124BB9380029177F /* DummyScoreProducers.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = DummyScoreProducers.h; path = src/DummyScoreProducers.h; sourceTree = ""; }; - 1ED0FD6C124BB9380029177F /* fdstream.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = fdstream.h; sourceTree = ""; }; - 1ED0FD6D124BB9380029177F /* file.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = file.cpp; sourceTree = ""; }; - 1ED0FD6E124BB9380029177F /* file.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = file.h; sourceTree = ""; }; - 1ED0FD6F124BB9380029177F /* types.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = types.h; sourceTree = ""; }; - 1ED0FD70124BB9380029177F /* utils.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = utils.h; sourceTree = ""; }; - 1ED0FD71124BB9380029177F /* vocab.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = vocab.cpp; sourceTree = ""; }; - 1ED0FD72124BB9380029177F /* vocab.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = vocab.h; sourceTree = ""; }; - 1ED0FD73124BB9380029177F /* DynSuffixArray.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = DynSuffixArray.cpp; path = src/DynSuffixArray.cpp; sourceTree = ""; }; - 1ED0FD74124BB9380029177F /* DynSuffixArray.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = DynSuffixArray.h; path = src/DynSuffixArray.h; sourceTree = ""; }; - 1ED0FD75124BB9380029177F /* Factor.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = Factor.cpp; path = src/Factor.cpp; sourceTree = ""; }; - 1ED0FD76124BB9380029177F /* Factor.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = Factor.h; path = src/Factor.h; sourceTree = ""; }; - 1ED0FD77124BB9380029177F /* FactorCollection.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = FactorCollection.cpp; path = src/FactorCollection.cpp; sourceTree = ""; }; - 1ED0FD78124BB9380029177F /* FactorCollection.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = FactorCollection.h; path = src/FactorCollection.h; sourceTree = ""; }; - 1ED0FD79124BB9380029177F /* FactorTypeSet.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = FactorTypeSet.cpp; path = src/FactorTypeSet.cpp; sourceTree = ""; }; - 1ED0FD7A124BB9380029177F /* FactorTypeSet.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = FactorTypeSet.h; path = src/FactorTypeSet.h; sourceTree = ""; }; - 1ED0FD7B124BB9380029177F /* FeatureFunction.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = FeatureFunction.cpp; path = src/FeatureFunction.cpp; sourceTree = ""; }; - 1ED0FD7C124BB9380029177F /* FeatureFunction.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = FeatureFunction.h; path = src/FeatureFunction.h; sourceTree = ""; }; - 1ED0FD7D124BB9380029177F /* FFState.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = FFState.cpp; path = src/FFState.cpp; sourceTree = ""; }; - 1ED0FD7E124BB9380029177F /* FFState.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = FFState.h; path = src/FFState.h; sourceTree = ""; }; - 1ED0FD7F124BB9380029177F /* File.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = File.cpp; path = src/File.cpp; sourceTree = ""; }; - 1ED0FD80124BB9380029177F /* File.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = File.h; path = src/File.h; sourceTree = ""; }; - 1ED0FD81124BB9380029177F /* FilePtr.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = FilePtr.h; path = src/FilePtr.h; sourceTree = ""; }; - 1ED0FD82124BB9380029177F /* FloydWarshall.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = FloydWarshall.cpp; path = src/FloydWarshall.cpp; sourceTree = ""; }; - 1ED0FD83124BB9380029177F /* FloydWarshall.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = FloydWarshall.h; path = src/FloydWarshall.h; sourceTree = ""; }; - 1ED0FD84124BB9380029177F /* GenerationDictionary.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = GenerationDictionary.cpp; path = src/GenerationDictionary.cpp; sourceTree = ""; }; - 1ED0FD85124BB9380029177F /* GenerationDictionary.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = GenerationDictionary.h; path = src/GenerationDictionary.h; sourceTree = ""; }; - 1ED0FD86124BB9380029177F /* GlobalLexicalModel.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = GlobalLexicalModel.cpp; path = src/GlobalLexicalModel.cpp; sourceTree = ""; }; - 1ED0FD87124BB9380029177F /* GlobalLexicalModel.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = GlobalLexicalModel.h; path = src/GlobalLexicalModel.h; sourceTree = ""; }; - 1ED0FD88124BB9380029177F /* gzfilebuf.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = gzfilebuf.h; path = src/gzfilebuf.h; sourceTree = ""; }; - 1ED0FD89124BB9380029177F /* hash.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = hash.cpp; path = src/hash.cpp; sourceTree = ""; }; - 1ED0FD8A124BB9380029177F /* hash.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = hash.h; path = src/hash.h; sourceTree = ""; }; - 1ED0FD8B124BB9380029177F /* hypergraph.proto */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; name = hypergraph.proto; path = src/hypergraph.proto; sourceTree = ""; }; - 1ED0FD8C124BB9380029177F /* Hypothesis.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = Hypothesis.cpp; path = src/Hypothesis.cpp; sourceTree = ""; }; - 1ED0FD8D124BB9380029177F /* Hypothesis.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = Hypothesis.h; path = src/Hypothesis.h; sourceTree = ""; }; - 1ED0FD8E124BB9380029177F /* HypothesisStack.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = HypothesisStack.cpp; path = src/HypothesisStack.cpp; sourceTree = ""; }; - 1ED0FD8F124BB9380029177F /* HypothesisStack.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = HypothesisStack.h; path = src/HypothesisStack.h; sourceTree = ""; }; - 1ED0FD90124BB9380029177F /* HypothesisStackCubePruning.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = HypothesisStackCubePruning.cpp; path = src/HypothesisStackCubePruning.cpp; sourceTree = ""; }; - 1ED0FD91124BB9380029177F /* HypothesisStackCubePruning.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = HypothesisStackCubePruning.h; path = src/HypothesisStackCubePruning.h; sourceTree = ""; }; - 1ED0FD92124BB9380029177F /* HypothesisStackNormal.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = HypothesisStackNormal.cpp; path = src/HypothesisStackNormal.cpp; sourceTree = ""; }; - 1ED0FD93124BB9380029177F /* HypothesisStackNormal.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = HypothesisStackNormal.h; path = src/HypothesisStackNormal.h; sourceTree = ""; }; - 1ED0FD94124BB9380029177F /* InputFileStream.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = InputFileStream.cpp; path = src/InputFileStream.cpp; sourceTree = ""; }; - 1ED0FD95124BB9380029177F /* InputFileStream.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = InputFileStream.h; path = src/InputFileStream.h; sourceTree = ""; }; - 1ED0FD96124BB9380029177F /* InputType.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = InputType.cpp; path = src/InputType.cpp; sourceTree = ""; }; - 1ED0FD97124BB9380029177F /* InputType.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = InputType.h; path = src/InputType.h; sourceTree = ""; }; - 1ED0FDB3124BB9380029177F /* LexicalReordering.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = LexicalReordering.cpp; path = src/LexicalReordering.cpp; sourceTree = ""; }; - 1ED0FDB4124BB9380029177F /* LexicalReordering.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = LexicalReordering.h; path = src/LexicalReordering.h; sourceTree = ""; }; - 1ED0FDB5124BB9380029177F /* LexicalReorderingState.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = LexicalReorderingState.cpp; path = src/LexicalReorderingState.cpp; sourceTree = ""; }; - 1ED0FDB6124BB9380029177F /* LexicalReorderingState.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = LexicalReorderingState.h; path = src/LexicalReorderingState.h; sourceTree = ""; }; - 1ED0FDB7124BB9380029177F /* LexicalReorderingTable.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = LexicalReorderingTable.cpp; path = src/LexicalReorderingTable.cpp; sourceTree = ""; }; - 1ED0FDB8124BB9380029177F /* LexicalReorderingTable.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = LexicalReorderingTable.h; path = src/LexicalReorderingTable.h; sourceTree = ""; }; - 1ED0FDB9124BB9380029177F /* LMList.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = LMList.cpp; path = src/LMList.cpp; sourceTree = ""; }; - 1ED0FDBA124BB9380029177F /* LMList.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = LMList.h; path = src/LMList.h; sourceTree = ""; }; - 1ED0FDBB124BB9380029177F /* LVoc.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = LVoc.cpp; path = src/LVoc.cpp; sourceTree = ""; }; - 1ED0FDBC124BB9380029177F /* LVoc.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = LVoc.h; path = src/LVoc.h; sourceTree = ""; }; - 1ED0FDC0124BB9380029177F /* Manager.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = Manager.cpp; path = src/Manager.cpp; sourceTree = ""; }; - 1ED0FDC1124BB9380029177F /* Manager.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = Manager.h; path = src/Manager.h; sourceTree = ""; }; - 1ED0FDC6124BB9380029177F /* ObjectPool.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = ObjectPool.h; path = src/ObjectPool.h; sourceTree = ""; }; - 1ED0FDC7124BB9380029177F /* Parameter.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = Parameter.cpp; path = src/Parameter.cpp; sourceTree = ""; }; - 1ED0FDC8124BB9380029177F /* Parameter.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = Parameter.h; path = src/Parameter.h; sourceTree = ""; }; - 1ED0FDC9124BB9380029177F /* PartialTranslOptColl.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = PartialTranslOptColl.cpp; path = src/PartialTranslOptColl.cpp; sourceTree = ""; }; - 1ED0FDCA124BB9380029177F /* PartialTranslOptColl.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = PartialTranslOptColl.h; path = src/PartialTranslOptColl.h; sourceTree = ""; }; - 1ED0FDCB124BB9380029177F /* PCNTools.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = PCNTools.cpp; path = src/PCNTools.cpp; sourceTree = ""; }; - 1ED0FDCC124BB9380029177F /* PCNTools.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = PCNTools.h; path = src/PCNTools.h; sourceTree = ""; }; - 1ED0FDCD124BB9380029177F /* PDTAimp.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = PDTAimp.h; path = src/PDTAimp.h; sourceTree = ""; }; - 1ED0FDCE124BB9380029177F /* Phrase.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = Phrase.cpp; path = src/Phrase.cpp; sourceTree = ""; }; - 1ED0FDCF124BB9380029177F /* Phrase.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = Phrase.h; path = src/Phrase.h; sourceTree = ""; }; - 1ED0FDD0124BB9380029177F /* PhraseDictionary.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = PhraseDictionary.cpp; path = src/PhraseDictionary.cpp; sourceTree = ""; }; - 1ED0FDD1124BB9380029177F /* PhraseDictionary.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = PhraseDictionary.h; path = src/PhraseDictionary.h; sourceTree = ""; }; - 1ED0FDD2124BB9380029177F /* PhraseDictionaryDynSuffixArray.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = PhraseDictionaryDynSuffixArray.cpp; path = src/PhraseDictionaryDynSuffixArray.cpp; sourceTree = ""; }; - 1ED0FDD3124BB9380029177F /* PhraseDictionaryDynSuffixArray.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = PhraseDictionaryDynSuffixArray.h; path = src/PhraseDictionaryDynSuffixArray.h; sourceTree = ""; }; - 1ED0FDD4124BB9380029177F /* PhraseDictionaryMemory.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = PhraseDictionaryMemory.cpp; path = src/PhraseDictionaryMemory.cpp; sourceTree = ""; }; - 1ED0FDD5124BB9380029177F /* PhraseDictionaryMemory.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = PhraseDictionaryMemory.h; path = src/PhraseDictionaryMemory.h; sourceTree = ""; }; - 1ED0FDD6124BB9380029177F /* PhraseDictionaryNode.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = PhraseDictionaryNode.cpp; path = src/PhraseDictionaryNode.cpp; sourceTree = ""; }; - 1ED0FDD7124BB9380029177F /* PhraseDictionaryNode.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = PhraseDictionaryNode.h; path = src/PhraseDictionaryNode.h; sourceTree = ""; }; - 1ED0FDD8124BB9380029177F /* PhraseDictionaryNodeSCFG.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = PhraseDictionaryNodeSCFG.cpp; path = src/PhraseDictionaryNodeSCFG.cpp; sourceTree = ""; }; - 1ED0FDD9124BB9380029177F /* PhraseDictionaryNodeSCFG.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = PhraseDictionaryNodeSCFG.h; path = src/PhraseDictionaryNodeSCFG.h; sourceTree = ""; }; - 1ED0FDDA124BB9380029177F /* PhraseDictionaryOnDisk.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = PhraseDictionaryOnDisk.cpp; path = src/PhraseDictionaryOnDisk.cpp; sourceTree = ""; }; - 1ED0FDDB124BB9380029177F /* PhraseDictionaryOnDisk.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = PhraseDictionaryOnDisk.h; path = src/PhraseDictionaryOnDisk.h; sourceTree = ""; }; - 1ED0FDDD124BB9380029177F /* PhraseDictionarySCFG.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = PhraseDictionarySCFG.cpp; path = src/PhraseDictionarySCFG.cpp; sourceTree = ""; }; - 1ED0FDDF124BB9380029177F /* PhraseDictionaryTree.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = PhraseDictionaryTree.cpp; path = src/PhraseDictionaryTree.cpp; sourceTree = ""; }; - 1ED0FDE0124BB9380029177F /* PhraseDictionaryTree.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = PhraseDictionaryTree.h; path = src/PhraseDictionaryTree.h; sourceTree = ""; }; - 1ED0FDE1124BB9380029177F /* PhraseDictionaryTreeAdaptor.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = PhraseDictionaryTreeAdaptor.cpp; path = src/PhraseDictionaryTreeAdaptor.cpp; sourceTree = ""; }; - 1ED0FDE2124BB9380029177F /* PhraseDictionaryTreeAdaptor.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = PhraseDictionaryTreeAdaptor.h; path = src/PhraseDictionaryTreeAdaptor.h; sourceTree = ""; }; - 1ED0FDE3124BB9380029177F /* PrefixTree.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = PrefixTree.h; path = src/PrefixTree.h; sourceTree = ""; }; - 1ED0FDE4124BB9380029177F /* PrefixTreeMap.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = PrefixTreeMap.cpp; path = src/PrefixTreeMap.cpp; sourceTree = ""; }; - 1ED0FDE5124BB9380029177F /* PrefixTreeMap.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = PrefixTreeMap.h; path = src/PrefixTreeMap.h; sourceTree = ""; }; - 1ED0FDE6124BB9380029177F /* ReorderingConstraint.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = ReorderingConstraint.cpp; path = src/ReorderingConstraint.cpp; sourceTree = ""; }; - 1ED0FDE7124BB9380029177F /* ReorderingConstraint.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = ReorderingConstraint.h; path = src/ReorderingConstraint.h; sourceTree = ""; }; - 1ED0FDE8124BB9380029177F /* ReorderingStack.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = ReorderingStack.cpp; path = src/ReorderingStack.cpp; sourceTree = ""; }; - 1ED0FDE9124BB9380029177F /* ReorderingStack.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = ReorderingStack.h; path = src/ReorderingStack.h; sourceTree = ""; }; - 1ED0FDEA124BB9380029177F /* rule.proto */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; name = rule.proto; path = src/rule.proto; sourceTree = ""; }; - 1ED0FDEB124BB9380029177F /* ScoreComponentCollection.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = ScoreComponentCollection.cpp; path = src/ScoreComponentCollection.cpp; sourceTree = ""; }; - 1ED0FDEC124BB9380029177F /* ScoreComponentCollection.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = ScoreComponentCollection.h; path = src/ScoreComponentCollection.h; sourceTree = ""; }; - 1ED0FDED124BB9380029177F /* ScoreIndexManager.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = ScoreIndexManager.cpp; path = src/ScoreIndexManager.cpp; sourceTree = ""; }; - 1ED0FDEE124BB9380029177F /* ScoreIndexManager.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = ScoreIndexManager.h; path = src/ScoreIndexManager.h; sourceTree = ""; }; - 1ED0FDEF124BB9380029177F /* ScoreProducer.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = ScoreProducer.cpp; path = src/ScoreProducer.cpp; sourceTree = ""; }; - 1ED0FDF0124BB9380029177F /* ScoreProducer.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = ScoreProducer.h; path = src/ScoreProducer.h; sourceTree = ""; }; - 1ED0FDF1124BB9380029177F /* Search.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = Search.cpp; path = src/Search.cpp; sourceTree = ""; }; - 1ED0FDF2124BB9380029177F /* Search.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = Search.h; path = src/Search.h; sourceTree = ""; }; - 1ED0FDF3124BB9380029177F /* SearchCubePruning.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = SearchCubePruning.cpp; path = src/SearchCubePruning.cpp; sourceTree = ""; }; - 1ED0FDF4124BB9380029177F /* SearchCubePruning.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = SearchCubePruning.h; path = src/SearchCubePruning.h; sourceTree = ""; }; - 1ED0FDF5124BB9380029177F /* SearchNormal.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = SearchNormal.cpp; path = src/SearchNormal.cpp; sourceTree = ""; }; - 1ED0FDF6124BB9380029177F /* SearchNormal.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = SearchNormal.h; path = src/SearchNormal.h; sourceTree = ""; }; - 1ED0FDF7124BB9380029177F /* Sentence.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = Sentence.cpp; path = src/Sentence.cpp; sourceTree = ""; }; - 1ED0FDF8124BB9380029177F /* Sentence.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = Sentence.h; path = src/Sentence.h; sourceTree = ""; }; - 1ED0FDF9124BB9380029177F /* SentenceStats.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = SentenceStats.cpp; path = src/SentenceStats.cpp; sourceTree = ""; }; - 1ED0FDFA124BB9380029177F /* SentenceStats.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = SentenceStats.h; path = src/SentenceStats.h; sourceTree = ""; }; - 1ED0FDFB124BB9380029177F /* SquareMatrix.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = SquareMatrix.cpp; path = src/SquareMatrix.cpp; sourceTree = ""; }; - 1ED0FDFC124BB9380029177F /* SquareMatrix.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = SquareMatrix.h; path = src/SquareMatrix.h; sourceTree = ""; }; - 1ED0FDFD124BB9380029177F /* StaticData.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = StaticData.cpp; path = src/StaticData.cpp; sourceTree = ""; }; - 1ED0FDFE124BB9380029177F /* StaticData.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = StaticData.h; path = src/StaticData.h; sourceTree = ""; }; - 1ED0FDFF124BB9380029177F /* TargetPhrase.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = TargetPhrase.cpp; path = src/TargetPhrase.cpp; sourceTree = ""; }; - 1ED0FE00124BB9380029177F /* TargetPhrase.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = TargetPhrase.h; path = src/TargetPhrase.h; sourceTree = ""; }; - 1ED0FE01124BB9380029177F /* TargetPhraseCollection.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = TargetPhraseCollection.cpp; path = src/TargetPhraseCollection.cpp; sourceTree = ""; }; - 1ED0FE02124BB9380029177F /* TargetPhraseCollection.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = TargetPhraseCollection.h; path = src/TargetPhraseCollection.h; sourceTree = ""; }; - 1ED0FE03124BB9380029177F /* Timer.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = Timer.cpp; path = src/Timer.cpp; sourceTree = ""; }; - 1ED0FE04124BB9380029177F /* Timer.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = Timer.h; path = src/Timer.h; sourceTree = ""; }; - 1ED0FE05124BB9380029177F /* TranslationOption.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = TranslationOption.cpp; path = src/TranslationOption.cpp; sourceTree = ""; }; - 1ED0FE06124BB9380029177F /* TranslationOption.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = TranslationOption.h; path = src/TranslationOption.h; sourceTree = ""; }; - 1ED0FE07124BB9380029177F /* TranslationOptionCollection.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = TranslationOptionCollection.cpp; path = src/TranslationOptionCollection.cpp; sourceTree = ""; }; - 1ED0FE08124BB9380029177F /* TranslationOptionCollection.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = TranslationOptionCollection.h; path = src/TranslationOptionCollection.h; sourceTree = ""; }; - 1ED0FE09124BB9380029177F /* TranslationOptionCollectionConfusionNet.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = TranslationOptionCollectionConfusionNet.cpp; path = src/TranslationOptionCollectionConfusionNet.cpp; sourceTree = ""; }; - 1ED0FE0A124BB9380029177F /* TranslationOptionCollectionConfusionNet.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = TranslationOptionCollectionConfusionNet.h; path = src/TranslationOptionCollectionConfusionNet.h; sourceTree = ""; }; - 1ED0FE0B124BB9380029177F /* TranslationOptionCollectionText.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = TranslationOptionCollectionText.cpp; path = src/TranslationOptionCollectionText.cpp; sourceTree = ""; }; - 1ED0FE0C124BB9380029177F /* TranslationOptionCollectionText.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = TranslationOptionCollectionText.h; path = src/TranslationOptionCollectionText.h; sourceTree = ""; }; - 1ED0FE0D124BB9380029177F /* TranslationOptionList.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = TranslationOptionList.cpp; path = src/TranslationOptionList.cpp; sourceTree = ""; }; - 1ED0FE0E124BB9380029177F /* TranslationOptionList.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = TranslationOptionList.h; path = src/TranslationOptionList.h; sourceTree = ""; }; - 1ED0FE0F124BB9380029177F /* TranslationSystem.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = TranslationSystem.cpp; path = src/TranslationSystem.cpp; sourceTree = ""; }; - 1ED0FE10124BB9380029177F /* TranslationSystem.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = TranslationSystem.h; path = src/TranslationSystem.h; sourceTree = ""; }; - 1ED0FE11124BB9380029177F /* TreeInput.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = TreeInput.cpp; path = src/TreeInput.cpp; sourceTree = ""; }; - 1ED0FE12124BB9380029177F /* TreeInput.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = TreeInput.h; path = src/TreeInput.h; sourceTree = ""; }; - 1ED0FE13124BB9380029177F /* TrellisPath.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = TrellisPath.cpp; path = src/TrellisPath.cpp; sourceTree = ""; }; - 1ED0FE14124BB9380029177F /* TrellisPath.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = TrellisPath.h; path = src/TrellisPath.h; sourceTree = ""; }; - 1ED0FE15124BB9380029177F /* TrellisPathCollection.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = TrellisPathCollection.cpp; path = src/TrellisPathCollection.cpp; sourceTree = ""; }; - 1ED0FE16124BB9380029177F /* TrellisPathCollection.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = TrellisPathCollection.h; path = src/TrellisPathCollection.h; sourceTree = ""; }; - 1ED0FE17124BB9380029177F /* TrellisPathList.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = TrellisPathList.h; path = src/TrellisPathList.h; sourceTree = ""; }; - 1ED0FE18124BB9380029177F /* TypeDef.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = TypeDef.h; path = src/TypeDef.h; sourceTree = ""; }; - 1ED0FE19124BB9380029177F /* UniqueObject.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = UniqueObject.h; path = src/UniqueObject.h; sourceTree = ""; }; - 1ED0FE1A124BB9380029177F /* UserMessage.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = UserMessage.cpp; path = src/UserMessage.cpp; sourceTree = ""; }; - 1ED0FE1B124BB9380029177F /* UserMessage.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = UserMessage.h; path = src/UserMessage.h; sourceTree = ""; }; - 1ED0FE1C124BB9380029177F /* Util.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = Util.cpp; path = src/Util.cpp; sourceTree = ""; }; - 1ED0FE1D124BB9380029177F /* Util.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = Util.h; path = src/Util.h; sourceTree = ""; }; - 1ED0FE1E124BB9380029177F /* Word.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = Word.cpp; path = src/Word.cpp; sourceTree = ""; }; - 1ED0FE1F124BB9380029177F /* Word.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = Word.h; path = src/Word.h; sourceTree = ""; }; - 1ED0FE22124BB9380029177F /* WordLattice.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = WordLattice.cpp; path = src/WordLattice.cpp; sourceTree = ""; }; - 1ED0FE23124BB9380029177F /* WordLattice.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = WordLattice.h; path = src/WordLattice.h; sourceTree = ""; }; - 1ED0FE24124BB9380029177F /* WordsBitmap.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = WordsBitmap.cpp; path = src/WordsBitmap.cpp; sourceTree = ""; }; - 1ED0FE25124BB9380029177F /* WordsBitmap.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = WordsBitmap.h; path = src/WordsBitmap.h; sourceTree = ""; }; - 1ED0FE26124BB9380029177F /* WordsRange.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = WordsRange.cpp; path = src/WordsRange.cpp; sourceTree = ""; }; - 1ED0FE27124BB9380029177F /* WordsRange.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = WordsRange.h; path = src/WordsRange.h; sourceTree = ""; }; - 1ED0FE28124BB9380029177F /* XmlOption.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = XmlOption.cpp; path = src/XmlOption.cpp; sourceTree = ""; }; - 1ED0FE29124BB9380029177F /* XmlOption.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = XmlOption.h; path = src/XmlOption.h; sourceTree = ""; }; - 1ED0FFD1124BC0BF0029177F /* ChartTranslationOptionList.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = ChartTranslationOptionList.cpp; path = src/ChartTranslationOptionList.cpp; sourceTree = ""; }; - 1ED0FFD2124BC0BF0029177F /* ChartTranslationOptionList.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = ChartTranslationOptionList.h; path = src/ChartTranslationOptionList.h; sourceTree = ""; }; - 1ED22EE313DD96B0000DE8C9 /* DotChartInMemory.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = DotChartInMemory.cpp; path = src/DotChartInMemory.cpp; sourceTree = ""; }; - 1ED22EE413DD96B0000DE8C9 /* DotChartInMemory.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = DotChartInMemory.h; path = src/DotChartInMemory.h; sourceTree = ""; }; - 1EE58D9D133726C700D93158 /* NonTerminal.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = NonTerminal.cpp; path = src/NonTerminal.cpp; sourceTree = ""; }; - 1EE58D9E133726C700D93158 /* NonTerminal.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = NonTerminal.h; path = src/NonTerminal.h; sourceTree = ""; }; - 1EEB43ED1264A6F200739BA5 /* PhraseDictionarySCFG.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = PhraseDictionarySCFG.h; path = src/PhraseDictionarySCFG.h; sourceTree = ""; }; + 1EC735D314B977AA00238410 /* AlignmentInfo.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = AlignmentInfo.cpp; path = ../../moses/src/AlignmentInfo.cpp; sourceTree = ""; }; + 1EC735D414B977AA00238410 /* AlignmentInfo.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = AlignmentInfo.h; path = ../../moses/src/AlignmentInfo.h; sourceTree = ""; }; + 1EC735D514B977AA00238410 /* AlignmentInfoCollection.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = AlignmentInfoCollection.cpp; path = ../../moses/src/AlignmentInfoCollection.cpp; sourceTree = ""; }; + 1EC735D614B977AA00238410 /* AlignmentInfoCollection.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = AlignmentInfoCollection.h; path = ../../moses/src/AlignmentInfoCollection.h; sourceTree = ""; }; + 1EC735D714B977AA00238410 /* BilingualDynSuffixArray.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = BilingualDynSuffixArray.cpp; path = ../../moses/src/BilingualDynSuffixArray.cpp; sourceTree = ""; }; + 1EC735D814B977AA00238410 /* BilingualDynSuffixArray.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = BilingualDynSuffixArray.h; path = ../../moses/src/BilingualDynSuffixArray.h; sourceTree = ""; }; + 1EC735D914B977AA00238410 /* BitmapContainer.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = BitmapContainer.cpp; path = ../../moses/src/BitmapContainer.cpp; sourceTree = ""; }; + 1EC735DA14B977AA00238410 /* BitmapContainer.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = BitmapContainer.h; path = ../../moses/src/BitmapContainer.h; sourceTree = ""; }; + 1EC735DB14B977AA00238410 /* CellCollection.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = CellCollection.h; path = ../../moses/src/CellCollection.h; sourceTree = ""; }; + 1EC735DC14B977AA00238410 /* ChartCell.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = ChartCell.cpp; path = ../../moses/src/ChartCell.cpp; sourceTree = ""; }; + 1EC735DD14B977AA00238410 /* ChartCell.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = ChartCell.h; path = ../../moses/src/ChartCell.h; sourceTree = ""; }; + 1EC735DE14B977AA00238410 /* ChartCellCollection.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = ChartCellCollection.cpp; path = ../../moses/src/ChartCellCollection.cpp; sourceTree = ""; }; + 1EC735DF14B977AA00238410 /* ChartCellCollection.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = ChartCellCollection.h; path = ../../moses/src/ChartCellCollection.h; sourceTree = ""; }; + 1EC735E014B977AA00238410 /* ChartCellLabel.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = ChartCellLabel.h; path = ../../moses/src/ChartCellLabel.h; sourceTree = ""; }; + 1EC735E114B977AA00238410 /* ChartCellLabelSet.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = ChartCellLabelSet.h; path = ../../moses/src/ChartCellLabelSet.h; sourceTree = ""; }; + 1EC735E214B977AA00238410 /* ChartHypothesis.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = ChartHypothesis.cpp; path = ../../moses/src/ChartHypothesis.cpp; sourceTree = ""; }; + 1EC735E314B977AA00238410 /* ChartHypothesis.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = ChartHypothesis.h; path = ../../moses/src/ChartHypothesis.h; sourceTree = ""; }; + 1EC735E414B977AA00238410 /* ChartHypothesisCollection.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = ChartHypothesisCollection.cpp; path = ../../moses/src/ChartHypothesisCollection.cpp; sourceTree = ""; }; + 1EC735E514B977AA00238410 /* ChartHypothesisCollection.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = ChartHypothesisCollection.h; path = ../../moses/src/ChartHypothesisCollection.h; sourceTree = ""; }; + 1EC735E614B977AA00238410 /* ChartManager.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = ChartManager.cpp; path = ../../moses/src/ChartManager.cpp; sourceTree = ""; }; + 1EC735E714B977AA00238410 /* ChartManager.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = ChartManager.h; path = ../../moses/src/ChartManager.h; sourceTree = ""; }; + 1EC735E814B977AA00238410 /* ChartRuleLookupManager.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = ChartRuleLookupManager.cpp; path = ../../moses/src/ChartRuleLookupManager.cpp; sourceTree = ""; }; + 1EC735E914B977AA00238410 /* ChartRuleLookupManager.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = ChartRuleLookupManager.h; path = ../../moses/src/ChartRuleLookupManager.h; sourceTree = ""; }; + 1EC735EA14B977AA00238410 /* ChartRuleLookupManagerMemory.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = ChartRuleLookupManagerMemory.cpp; path = ../../moses/src/ChartRuleLookupManagerMemory.cpp; sourceTree = ""; }; + 1EC735EB14B977AA00238410 /* ChartRuleLookupManagerMemory.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = ChartRuleLookupManagerMemory.h; path = ../../moses/src/ChartRuleLookupManagerMemory.h; sourceTree = ""; }; + 1EC735EC14B977AA00238410 /* ChartRuleLookupManagerOnDisk.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = ChartRuleLookupManagerOnDisk.cpp; path = ../../moses/src/ChartRuleLookupManagerOnDisk.cpp; sourceTree = ""; }; + 1EC735ED14B977AA00238410 /* ChartRuleLookupManagerOnDisk.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = ChartRuleLookupManagerOnDisk.h; path = ../../moses/src/ChartRuleLookupManagerOnDisk.h; sourceTree = ""; }; + 1EC735EE14B977AA00238410 /* ChartTranslationOption.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = ChartTranslationOption.cpp; path = ../../moses/src/ChartTranslationOption.cpp; sourceTree = ""; }; + 1EC735EF14B977AA00238410 /* ChartTranslationOption.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = ChartTranslationOption.h; path = ../../moses/src/ChartTranslationOption.h; sourceTree = ""; }; + 1EC735F014B977AA00238410 /* ChartTranslationOptionCollection.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = ChartTranslationOptionCollection.cpp; path = ../../moses/src/ChartTranslationOptionCollection.cpp; sourceTree = ""; }; + 1EC735F114B977AA00238410 /* ChartTranslationOptionCollection.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = ChartTranslationOptionCollection.h; path = ../../moses/src/ChartTranslationOptionCollection.h; sourceTree = ""; }; + 1EC735F214B977AA00238410 /* ChartTranslationOptionList.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = ChartTranslationOptionList.cpp; path = ../../moses/src/ChartTranslationOptionList.cpp; sourceTree = ""; }; + 1EC735F314B977AA00238410 /* ChartTranslationOptionList.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = ChartTranslationOptionList.h; path = ../../moses/src/ChartTranslationOptionList.h; sourceTree = ""; }; + 1EC735F414B977AA00238410 /* ChartTrellisDetour.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = ChartTrellisDetour.cpp; path = ../../moses/src/ChartTrellisDetour.cpp; sourceTree = ""; }; + 1EC735F514B977AA00238410 /* ChartTrellisDetour.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = ChartTrellisDetour.h; path = ../../moses/src/ChartTrellisDetour.h; sourceTree = ""; }; + 1EC735F614B977AA00238410 /* ChartTrellisDetourQueue.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = ChartTrellisDetourQueue.cpp; path = ../../moses/src/ChartTrellisDetourQueue.cpp; sourceTree = ""; }; + 1EC735F714B977AA00238410 /* ChartTrellisDetourQueue.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = ChartTrellisDetourQueue.h; path = ../../moses/src/ChartTrellisDetourQueue.h; sourceTree = ""; }; + 1EC735F814B977AA00238410 /* ChartTrellisNode.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = ChartTrellisNode.cpp; path = ../../moses/src/ChartTrellisNode.cpp; sourceTree = ""; }; + 1EC735F914B977AA00238410 /* ChartTrellisNode.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = ChartTrellisNode.h; path = ../../moses/src/ChartTrellisNode.h; sourceTree = ""; }; + 1EC735FA14B977AA00238410 /* ChartTrellisPath.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = ChartTrellisPath.cpp; path = ../../moses/src/ChartTrellisPath.cpp; sourceTree = ""; }; + 1EC735FB14B977AA00238410 /* ChartTrellisPath.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = ChartTrellisPath.h; path = ../../moses/src/ChartTrellisPath.h; sourceTree = ""; }; + 1EC735FC14B977AA00238410 /* ChartTrellisPathList.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = ChartTrellisPathList.h; path = ../../moses/src/ChartTrellisPathList.h; sourceTree = ""; }; + 1EC735FD14B977AA00238410 /* ConfusionNet.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = ConfusionNet.cpp; path = ../../moses/src/ConfusionNet.cpp; sourceTree = ""; }; + 1EC735FE14B977AA00238410 /* ConfusionNet.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = ConfusionNet.h; path = ../../moses/src/ConfusionNet.h; sourceTree = ""; }; + 1EC735FF14B977AA00238410 /* DecodeFeature.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = DecodeFeature.cpp; path = ../../moses/src/DecodeFeature.cpp; sourceTree = ""; }; + 1EC7360014B977AA00238410 /* DecodeFeature.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = DecodeFeature.h; path = ../../moses/src/DecodeFeature.h; sourceTree = ""; }; + 1EC7360114B977AA00238410 /* DecodeGraph.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = DecodeGraph.cpp; path = ../../moses/src/DecodeGraph.cpp; sourceTree = ""; }; + 1EC7360214B977AA00238410 /* DecodeGraph.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = DecodeGraph.h; path = ../../moses/src/DecodeGraph.h; sourceTree = ""; }; + 1EC7360314B977AA00238410 /* DecodeStep.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = DecodeStep.cpp; path = ../../moses/src/DecodeStep.cpp; sourceTree = ""; }; + 1EC7360414B977AA00238410 /* DecodeStep.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = DecodeStep.h; path = ../../moses/src/DecodeStep.h; sourceTree = ""; }; + 1EC7360514B977AA00238410 /* DecodeStepGeneration.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = DecodeStepGeneration.cpp; path = ../../moses/src/DecodeStepGeneration.cpp; sourceTree = ""; }; + 1EC7360614B977AA00238410 /* DecodeStepGeneration.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = DecodeStepGeneration.h; path = ../../moses/src/DecodeStepGeneration.h; sourceTree = ""; }; + 1EC7360714B977AA00238410 /* DecodeStepTranslation.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = DecodeStepTranslation.cpp; path = ../../moses/src/DecodeStepTranslation.cpp; sourceTree = ""; }; + 1EC7360814B977AA00238410 /* DecodeStepTranslation.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = DecodeStepTranslation.h; path = ../../moses/src/DecodeStepTranslation.h; sourceTree = ""; }; + 1EC7360914B977AA00238410 /* Dictionary.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = Dictionary.cpp; path = ../../moses/src/Dictionary.cpp; sourceTree = ""; }; + 1EC7360A14B977AA00238410 /* Dictionary.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = Dictionary.h; path = ../../moses/src/Dictionary.h; sourceTree = ""; }; + 1EC7360B14B977AA00238410 /* DotChart.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = DotChart.cpp; path = ../../moses/src/DotChart.cpp; sourceTree = ""; }; + 1EC7360C14B977AA00238410 /* DotChart.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = DotChart.h; path = ../../moses/src/DotChart.h; sourceTree = ""; }; + 1EC7360D14B977AA00238410 /* DotChartInMemory.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = DotChartInMemory.cpp; path = ../../moses/src/DotChartInMemory.cpp; sourceTree = ""; }; + 1EC7360E14B977AA00238410 /* DotChartInMemory.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = DotChartInMemory.h; path = ../../moses/src/DotChartInMemory.h; sourceTree = ""; }; + 1EC7360F14B977AA00238410 /* DotChartOnDisk.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = DotChartOnDisk.cpp; path = ../../moses/src/DotChartOnDisk.cpp; sourceTree = ""; }; + 1EC7361014B977AA00238410 /* DotChartOnDisk.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = DotChartOnDisk.h; path = ../../moses/src/DotChartOnDisk.h; sourceTree = ""; }; + 1EC7361114B977AA00238410 /* DummyScoreProducers.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = DummyScoreProducers.cpp; path = ../../moses/src/DummyScoreProducers.cpp; sourceTree = ""; }; + 1EC7361214B977AA00238410 /* DummyScoreProducers.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = DummyScoreProducers.h; path = ../../moses/src/DummyScoreProducers.h; sourceTree = ""; }; + 1EC7361414B977AA00238410 /* fdstream.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = fdstream.h; sourceTree = ""; }; + 1EC7361514B977AA00238410 /* file.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = file.cpp; sourceTree = ""; }; + 1EC7361614B977AA00238410 /* file.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = file.h; sourceTree = ""; }; + 1EC7361714B977AA00238410 /* hash.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = hash.h; sourceTree = ""; }; + 1EC7361814B977AA00238410 /* hash.h.orig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = hash.h.orig; sourceTree = ""; }; + 1EC7361914B977AA00238410 /* onlineRLM.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = onlineRLM.h; sourceTree = ""; }; + 1EC7361A14B977AA00238410 /* onlineRLM.h.orig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = onlineRLM.h.orig; sourceTree = ""; }; + 1EC7361B14B977AA00238410 /* params.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = params.cpp; sourceTree = ""; }; + 1EC7361C14B977AA00238410 /* params.cpp.orig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = params.cpp.orig; sourceTree = ""; }; + 1EC7361D14B977AA00238410 /* params.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = params.h; sourceTree = ""; }; + 1EC7361E14B977AA00238410 /* params.h.orig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = params.h.orig; sourceTree = ""; }; + 1EC7361F14B977AA00238410 /* perfectHash.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = perfectHash.h; sourceTree = ""; }; + 1EC7362014B977AA00238410 /* perfectHash.h.orig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = perfectHash.h.orig; sourceTree = ""; }; + 1EC7362114B977AA00238410 /* quantizer.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = quantizer.h; sourceTree = ""; }; + 1EC7362214B977AA00238410 /* quantizer.h.orig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = quantizer.h.orig; sourceTree = ""; }; + 1EC7362314B977AA00238410 /* RandLMCache.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = RandLMCache.h; sourceTree = ""; }; + 1EC7362414B977AA00238410 /* RandLMCache.h.orig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = RandLMCache.h.orig; sourceTree = ""; }; + 1EC7362514B977AA00238410 /* RandLMFilter.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = RandLMFilter.h; sourceTree = ""; }; + 1EC7362614B977AA00238410 /* RandLMFilter.h.orig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = RandLMFilter.h.orig; sourceTree = ""; }; + 1EC7362714B977AA00238410 /* types.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = types.h; sourceTree = ""; }; + 1EC7362814B977AA00238410 /* utils.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = utils.h; sourceTree = ""; }; + 1EC7362914B977AA00238410 /* vocab.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = vocab.cpp; sourceTree = ""; }; + 1EC7362A14B977AA00238410 /* vocab.cpp.orig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = vocab.cpp.orig; sourceTree = ""; }; + 1EC7362B14B977AA00238410 /* vocab.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = vocab.h; sourceTree = ""; }; + 1EC7362C14B977AA00238410 /* DynSuffixArray.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = DynSuffixArray.cpp; path = ../../moses/src/DynSuffixArray.cpp; sourceTree = ""; }; + 1EC7362D14B977AA00238410 /* DynSuffixArray.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = DynSuffixArray.h; path = ../../moses/src/DynSuffixArray.h; sourceTree = ""; }; + 1EC7362E14B977AA00238410 /* Factor.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = Factor.cpp; path = ../../moses/src/Factor.cpp; sourceTree = ""; }; + 1EC7362F14B977AA00238410 /* Factor.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = Factor.h; path = ../../moses/src/Factor.h; sourceTree = ""; }; + 1EC7363014B977AA00238410 /* FactorCollection.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = FactorCollection.cpp; path = ../../moses/src/FactorCollection.cpp; sourceTree = ""; }; + 1EC7363114B977AA00238410 /* FactorCollection.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = FactorCollection.h; path = ../../moses/src/FactorCollection.h; sourceTree = ""; }; + 1EC7363214B977AA00238410 /* FactorTypeSet.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = FactorTypeSet.cpp; path = ../../moses/src/FactorTypeSet.cpp; sourceTree = ""; }; + 1EC7363314B977AA00238410 /* FactorTypeSet.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = FactorTypeSet.h; path = ../../moses/src/FactorTypeSet.h; sourceTree = ""; }; + 1EC7363414B977AA00238410 /* FeatureFunction.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = FeatureFunction.cpp; path = ../../moses/src/FeatureFunction.cpp; sourceTree = ""; }; + 1EC7363514B977AA00238410 /* FeatureFunction.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = FeatureFunction.h; path = ../../moses/src/FeatureFunction.h; sourceTree = ""; }; + 1EC7363614B977AA00238410 /* FFState.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = FFState.cpp; path = ../../moses/src/FFState.cpp; sourceTree = ""; }; + 1EC7363714B977AA00238410 /* FFState.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = FFState.h; path = ../../moses/src/FFState.h; sourceTree = ""; }; + 1EC7363814B977AA00238410 /* File.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = File.cpp; path = ../../moses/src/File.cpp; sourceTree = ""; }; + 1EC7363914B977AA00238410 /* File.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = File.h; path = ../../moses/src/File.h; sourceTree = ""; }; + 1EC7363A14B977AA00238410 /* FilePtr.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = FilePtr.h; path = ../../moses/src/FilePtr.h; sourceTree = ""; }; + 1EC7363B14B977AA00238410 /* FloydWarshall.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = FloydWarshall.cpp; path = ../../moses/src/FloydWarshall.cpp; sourceTree = ""; }; + 1EC7363C14B977AA00238410 /* FloydWarshall.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = FloydWarshall.h; path = ../../moses/src/FloydWarshall.h; sourceTree = ""; }; + 1EC7363D14B977AA00238410 /* GenerationDictionary.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = GenerationDictionary.cpp; path = ../../moses/src/GenerationDictionary.cpp; sourceTree = ""; }; + 1EC7363E14B977AA00238410 /* GenerationDictionary.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = GenerationDictionary.h; path = ../../moses/src/GenerationDictionary.h; sourceTree = ""; }; + 1EC7363F14B977AA00238410 /* GlobalLexicalModel.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = GlobalLexicalModel.cpp; path = ../../moses/src/GlobalLexicalModel.cpp; sourceTree = ""; }; + 1EC7364014B977AA00238410 /* GlobalLexicalModel.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = GlobalLexicalModel.h; path = ../../moses/src/GlobalLexicalModel.h; sourceTree = ""; }; + 1EC7364114B977AA00238410 /* gzfilebuf.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = gzfilebuf.h; path = ../../moses/src/gzfilebuf.h; sourceTree = ""; }; + 1EC7364214B977AA00238410 /* hash.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = hash.cpp; path = ../../moses/src/hash.cpp; sourceTree = ""; }; + 1EC7364314B977AA00238410 /* hash.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = hash.h; path = ../../moses/src/hash.h; sourceTree = ""; }; + 1EC7364414B977AA00238410 /* hypergraph.proto */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; name = hypergraph.proto; path = ../../moses/src/hypergraph.proto; sourceTree = ""; }; + 1EC7364514B977AA00238410 /* Hypothesis.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = Hypothesis.cpp; path = ../../moses/src/Hypothesis.cpp; sourceTree = ""; }; + 1EC7364614B977AA00238410 /* Hypothesis.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = Hypothesis.h; path = ../../moses/src/Hypothesis.h; sourceTree = ""; }; + 1EC7364714B977AA00238410 /* HypothesisStack.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = HypothesisStack.cpp; path = ../../moses/src/HypothesisStack.cpp; sourceTree = ""; }; + 1EC7364814B977AA00238410 /* HypothesisStack.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = HypothesisStack.h; path = ../../moses/src/HypothesisStack.h; sourceTree = ""; }; + 1EC7364914B977AA00238410 /* HypothesisStackCubePruning.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = HypothesisStackCubePruning.cpp; path = ../../moses/src/HypothesisStackCubePruning.cpp; sourceTree = ""; }; + 1EC7364A14B977AA00238410 /* HypothesisStackCubePruning.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = HypothesisStackCubePruning.h; path = ../../moses/src/HypothesisStackCubePruning.h; sourceTree = ""; }; + 1EC7364B14B977AA00238410 /* HypothesisStackNormal.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = HypothesisStackNormal.cpp; path = ../../moses/src/HypothesisStackNormal.cpp; sourceTree = ""; }; + 1EC7364C14B977AA00238410 /* HypothesisStackNormal.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = HypothesisStackNormal.h; path = ../../moses/src/HypothesisStackNormal.h; sourceTree = ""; }; + 1EC7364D14B977AA00238410 /* InputFileStream.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = InputFileStream.cpp; path = ../../moses/src/InputFileStream.cpp; sourceTree = ""; }; + 1EC7364E14B977AA00238410 /* InputFileStream.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = InputFileStream.h; path = ../../moses/src/InputFileStream.h; sourceTree = ""; }; + 1EC7364F14B977AA00238410 /* InputType.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = InputType.cpp; path = ../../moses/src/InputType.cpp; sourceTree = ""; }; + 1EC7365014B977AA00238410 /* InputType.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = InputType.h; path = ../../moses/src/InputType.h; sourceTree = ""; }; + 1EC7365414B977AA00238410 /* LexicalReordering.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = LexicalReordering.cpp; path = ../../moses/src/LexicalReordering.cpp; sourceTree = ""; }; + 1EC7365514B977AA00238410 /* LexicalReordering.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = LexicalReordering.h; path = ../../moses/src/LexicalReordering.h; sourceTree = ""; }; + 1EC7365614B977AA00238410 /* LexicalReorderingState.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = LexicalReorderingState.cpp; path = ../../moses/src/LexicalReorderingState.cpp; sourceTree = ""; }; + 1EC7365714B977AA00238410 /* LexicalReorderingState.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = LexicalReorderingState.h; path = ../../moses/src/LexicalReorderingState.h; sourceTree = ""; }; + 1EC7365814B977AA00238410 /* LexicalReorderingTable.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = LexicalReorderingTable.cpp; path = ../../moses/src/LexicalReorderingTable.cpp; sourceTree = ""; }; + 1EC7365914B977AA00238410 /* LexicalReorderingTable.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = LexicalReorderingTable.h; path = ../../moses/src/LexicalReorderingTable.h; sourceTree = ""; }; + 1EC7365C14B977AA00238410 /* Base.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = Base.cpp; sourceTree = ""; }; + 1EC7365E14B977AA00238410 /* Base.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Base.h; sourceTree = ""; }; + 1EC7368714B977AA00238410 /* Factory.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = Factory.cpp; sourceTree = ""; }; + 1EC7368814B977AA00238410 /* Factory.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Factory.h; sourceTree = ""; }; + 1EC7368914B977AA00238410 /* Implementation.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = Implementation.cpp; sourceTree = ""; }; + 1EC7368B14B977AA00238410 /* Implementation.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Implementation.h; sourceTree = ""; }; + 1EC7368D14B977AA00238410 /* IRST.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = IRST.cpp; sourceTree = ""; }; + 1EC7368F14B977AA00238410 /* IRST.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = IRST.h; sourceTree = ""; }; + 1EC7369114B977AA00238410 /* Joint.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = Joint.cpp; sourceTree = ""; }; + 1EC7369214B977AA00238410 /* Joint.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Joint.h; sourceTree = ""; }; + 1EC7369314B977AA00238410 /* Ken.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = Ken.cpp; sourceTree = ""; }; + 1EC7369514B977AA00238410 /* Ken.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Ken.h; sourceTree = ""; }; + 1EC7369714B977AA00238410 /* MultiFactor.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = MultiFactor.cpp; sourceTree = ""; }; + 1EC7369814B977AA00238410 /* MultiFactor.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MultiFactor.h; sourceTree = ""; }; + 1EC7369914B977AA00238410 /* ORLM.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = ORLM.cpp; sourceTree = ""; }; + 1EC7369B14B977AA00238410 /* ORLM.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ORLM.h; sourceTree = ""; }; + 1EC736A314B977AA00238410 /* Remote.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = Remote.cpp; sourceTree = ""; }; + 1EC736A414B977AA00238410 /* Remote.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Remote.h; sourceTree = ""; }; + 1EC736A514B977AA00238410 /* SingleFactor.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = SingleFactor.cpp; sourceTree = ""; }; + 1EC736A614B977AA00238410 /* SingleFactor.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SingleFactor.h; sourceTree = ""; }; + 1EC736A714B977AA00238410 /* SRI.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = SRI.cpp; sourceTree = ""; }; + 1EC736A814B977AA00238410 /* SRI.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SRI.h; sourceTree = ""; }; + 1EC736A914B977AA00238410 /* LMList.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = LMList.cpp; path = ../../moses/src/LMList.cpp; sourceTree = ""; }; + 1EC736AA14B977AA00238410 /* LMList.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = LMList.h; path = ../../moses/src/LMList.h; sourceTree = ""; }; + 1EC736AB14B977AA00238410 /* LVoc.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = LVoc.cpp; path = ../../moses/src/LVoc.cpp; sourceTree = ""; }; + 1EC736AC14B977AA00238410 /* LVoc.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = LVoc.h; path = ../../moses/src/LVoc.h; sourceTree = ""; }; + 1EC736AD14B977AA00238410 /* Manager.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = Manager.cpp; path = ../../moses/src/Manager.cpp; sourceTree = ""; }; + 1EC736AE14B977AA00238410 /* Manager.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = Manager.h; path = ../../moses/src/Manager.h; sourceTree = ""; }; + 1EC736AF14B977AA00238410 /* NonTerminal.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = NonTerminal.cpp; path = ../../moses/src/NonTerminal.cpp; sourceTree = ""; }; + 1EC736B014B977AA00238410 /* NonTerminal.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = NonTerminal.h; path = ../../moses/src/NonTerminal.h; sourceTree = ""; }; + 1EC736B114B977AA00238410 /* ObjectPool.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = ObjectPool.h; path = ../../moses/src/ObjectPool.h; sourceTree = ""; }; + 1EC736B214B977AA00238410 /* OutputCollector.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = OutputCollector.h; path = ../../moses/src/OutputCollector.h; sourceTree = ""; }; + 1EC736B514B977AA00238410 /* Parameter.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = Parameter.cpp; path = ../../moses/src/Parameter.cpp; sourceTree = ""; }; + 1EC736B614B977AA00238410 /* Parameter.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = Parameter.h; path = ../../moses/src/Parameter.h; sourceTree = ""; }; + 1EC736B714B977AA00238410 /* PartialTranslOptColl.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = PartialTranslOptColl.cpp; path = ../../moses/src/PartialTranslOptColl.cpp; sourceTree = ""; }; + 1EC736B814B977AA00238410 /* PartialTranslOptColl.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = PartialTranslOptColl.h; path = ../../moses/src/PartialTranslOptColl.h; sourceTree = ""; }; + 1EC736B914B977AA00238410 /* PCNTools.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = PCNTools.cpp; path = ../../moses/src/PCNTools.cpp; sourceTree = ""; }; + 1EC736BA14B977AA00238410 /* PCNTools.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = PCNTools.h; path = ../../moses/src/PCNTools.h; sourceTree = ""; }; + 1EC736BB14B977AA00238410 /* PDTAimp.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = PDTAimp.h; path = ../../moses/src/PDTAimp.h; sourceTree = ""; }; + 1EC736BC14B977AA00238410 /* Phrase.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = Phrase.cpp; path = ../../moses/src/Phrase.cpp; sourceTree = ""; }; + 1EC736BD14B977AA00238410 /* Phrase.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = Phrase.h; path = ../../moses/src/Phrase.h; sourceTree = ""; }; + 1EC736BE14B977AA00238410 /* PhraseDictionary.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = PhraseDictionary.cpp; path = ../../moses/src/PhraseDictionary.cpp; sourceTree = ""; }; + 1EC736BF14B977AA00238410 /* PhraseDictionary.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = PhraseDictionary.h; path = ../../moses/src/PhraseDictionary.h; sourceTree = ""; }; + 1EC736C014B977AA00238410 /* PhraseDictionaryALSuffixArray.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = PhraseDictionaryALSuffixArray.cpp; path = ../../moses/src/PhraseDictionaryALSuffixArray.cpp; sourceTree = ""; }; + 1EC736C114B977AA00238410 /* PhraseDictionaryALSuffixArray.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = PhraseDictionaryALSuffixArray.h; path = ../../moses/src/PhraseDictionaryALSuffixArray.h; sourceTree = ""; }; + 1EC736C214B977AA00238410 /* PhraseDictionaryDynSuffixArray.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = PhraseDictionaryDynSuffixArray.cpp; path = ../../moses/src/PhraseDictionaryDynSuffixArray.cpp; sourceTree = ""; }; + 1EC736C314B977AA00238410 /* PhraseDictionaryDynSuffixArray.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = PhraseDictionaryDynSuffixArray.h; path = ../../moses/src/PhraseDictionaryDynSuffixArray.h; sourceTree = ""; }; + 1EC736C414B977AA00238410 /* PhraseDictionaryHiero.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = PhraseDictionaryHiero.cpp; path = ../../moses/src/PhraseDictionaryHiero.cpp; sourceTree = ""; }; + 1EC736C514B977AA00238410 /* PhraseDictionaryHiero.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = PhraseDictionaryHiero.h; path = ../../moses/src/PhraseDictionaryHiero.h; sourceTree = ""; }; + 1EC736C614B977AA00238410 /* PhraseDictionaryMemory.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = PhraseDictionaryMemory.cpp; path = ../../moses/src/PhraseDictionaryMemory.cpp; sourceTree = ""; }; + 1EC736C714B977AA00238410 /* PhraseDictionaryMemory.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = PhraseDictionaryMemory.h; path = ../../moses/src/PhraseDictionaryMemory.h; sourceTree = ""; }; + 1EC736C814B977AA00238410 /* PhraseDictionaryNode.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = PhraseDictionaryNode.cpp; path = ../../moses/src/PhraseDictionaryNode.cpp; sourceTree = ""; }; + 1EC736C914B977AA00238410 /* PhraseDictionaryNode.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = PhraseDictionaryNode.h; path = ../../moses/src/PhraseDictionaryNode.h; sourceTree = ""; }; + 1EC736CA14B977AA00238410 /* PhraseDictionaryNodeSCFG.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = PhraseDictionaryNodeSCFG.cpp; path = ../../moses/src/PhraseDictionaryNodeSCFG.cpp; sourceTree = ""; }; + 1EC736CB14B977AA00238410 /* PhraseDictionaryNodeSCFG.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = PhraseDictionaryNodeSCFG.h; path = ../../moses/src/PhraseDictionaryNodeSCFG.h; sourceTree = ""; }; + 1EC736CC14B977AA00238410 /* PhraseDictionaryOnDisk.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = PhraseDictionaryOnDisk.cpp; path = ../../moses/src/PhraseDictionaryOnDisk.cpp; sourceTree = ""; }; + 1EC736CD14B977AA00238410 /* PhraseDictionaryOnDisk.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = PhraseDictionaryOnDisk.h; path = ../../moses/src/PhraseDictionaryOnDisk.h; sourceTree = ""; }; + 1EC736CE14B977AA00238410 /* PhraseDictionarySCFG.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = PhraseDictionarySCFG.cpp; path = ../../moses/src/PhraseDictionarySCFG.cpp; sourceTree = ""; }; + 1EC736CF14B977AA00238410 /* PhraseDictionarySCFG.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = PhraseDictionarySCFG.h; path = ../../moses/src/PhraseDictionarySCFG.h; sourceTree = ""; }; + 1EC736D014B977AA00238410 /* PhraseDictionaryTree.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = PhraseDictionaryTree.cpp; path = ../../moses/src/PhraseDictionaryTree.cpp; sourceTree = ""; }; + 1EC736D114B977AA00238410 /* PhraseDictionaryTree.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = PhraseDictionaryTree.h; path = ../../moses/src/PhraseDictionaryTree.h; sourceTree = ""; }; + 1EC736D214B977AA00238410 /* PhraseDictionaryTreeAdaptor.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = PhraseDictionaryTreeAdaptor.cpp; path = ../../moses/src/PhraseDictionaryTreeAdaptor.cpp; sourceTree = ""; }; + 1EC736D314B977AA00238410 /* PhraseDictionaryTreeAdaptor.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = PhraseDictionaryTreeAdaptor.h; path = ../../moses/src/PhraseDictionaryTreeAdaptor.h; sourceTree = ""; }; + 1EC736D414B977AA00238410 /* PrefixTree.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = PrefixTree.h; path = ../../moses/src/PrefixTree.h; sourceTree = ""; }; + 1EC736D514B977AA00238410 /* PrefixTreeMap.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = PrefixTreeMap.cpp; path = ../../moses/src/PrefixTreeMap.cpp; sourceTree = ""; }; + 1EC736D614B977AA00238410 /* PrefixTreeMap.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = PrefixTreeMap.h; path = ../../moses/src/PrefixTreeMap.h; sourceTree = ""; }; + 1EC736D714B977AA00238410 /* ReorderingConstraint.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = ReorderingConstraint.cpp; path = ../../moses/src/ReorderingConstraint.cpp; sourceTree = ""; }; + 1EC736D814B977AA00238410 /* ReorderingConstraint.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = ReorderingConstraint.h; path = ../../moses/src/ReorderingConstraint.h; sourceTree = ""; }; + 1EC736D914B977AA00238410 /* ReorderingStack.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = ReorderingStack.cpp; path = ../../moses/src/ReorderingStack.cpp; sourceTree = ""; }; + 1EC736DA14B977AA00238410 /* ReorderingStack.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = ReorderingStack.h; path = ../../moses/src/ReorderingStack.h; sourceTree = ""; }; + 1EC736DB14B977AA00238410 /* rule.proto */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; name = rule.proto; path = ../../moses/src/rule.proto; sourceTree = ""; }; + 1EC736DC14B977AA00238410 /* RuleCube.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = RuleCube.cpp; path = ../../moses/src/RuleCube.cpp; sourceTree = ""; }; + 1EC736DD14B977AB00238410 /* RuleCube.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = RuleCube.h; path = ../../moses/src/RuleCube.h; sourceTree = ""; }; + 1EC736DE14B977AB00238410 /* RuleCubeItem.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = RuleCubeItem.cpp; path = ../../moses/src/RuleCubeItem.cpp; sourceTree = ""; }; + 1EC736DF14B977AB00238410 /* RuleCubeItem.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = RuleCubeItem.h; path = ../../moses/src/RuleCubeItem.h; sourceTree = ""; }; + 1EC736E014B977AB00238410 /* RuleCubeQueue.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = RuleCubeQueue.cpp; path = ../../moses/src/RuleCubeQueue.cpp; sourceTree = ""; }; + 1EC736E114B977AB00238410 /* RuleCubeQueue.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = RuleCubeQueue.h; path = ../../moses/src/RuleCubeQueue.h; sourceTree = ""; }; + 1EC736E214B977AB00238410 /* RuleTableLoader.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = RuleTableLoader.h; path = ../../moses/src/RuleTableLoader.h; sourceTree = ""; }; + 1EC736E314B977AB00238410 /* RuleTableLoaderCompact.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = RuleTableLoaderCompact.cpp; path = ../../moses/src/RuleTableLoaderCompact.cpp; sourceTree = ""; }; + 1EC736E414B977AB00238410 /* RuleTableLoaderCompact.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = RuleTableLoaderCompact.h; path = ../../moses/src/RuleTableLoaderCompact.h; sourceTree = ""; }; + 1EC736E514B977AB00238410 /* RuleTableLoaderFactory.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = RuleTableLoaderFactory.cpp; path = ../../moses/src/RuleTableLoaderFactory.cpp; sourceTree = ""; }; + 1EC736E614B977AB00238410 /* RuleTableLoaderFactory.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = RuleTableLoaderFactory.h; path = ../../moses/src/RuleTableLoaderFactory.h; sourceTree = ""; }; + 1EC736E714B977AB00238410 /* RuleTableLoaderHiero.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = RuleTableLoaderHiero.cpp; path = ../../moses/src/RuleTableLoaderHiero.cpp; sourceTree = ""; }; + 1EC736E814B977AB00238410 /* RuleTableLoaderHiero.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = RuleTableLoaderHiero.h; path = ../../moses/src/RuleTableLoaderHiero.h; sourceTree = ""; }; + 1EC736E914B977AB00238410 /* RuleTableLoaderStandard.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = RuleTableLoaderStandard.cpp; path = ../../moses/src/RuleTableLoaderStandard.cpp; sourceTree = ""; }; + 1EC736EA14B977AB00238410 /* RuleTableLoaderStandard.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = RuleTableLoaderStandard.h; path = ../../moses/src/RuleTableLoaderStandard.h; sourceTree = ""; }; + 1EC736EB14B977AB00238410 /* ScoreComponentCollection.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = ScoreComponentCollection.cpp; path = ../../moses/src/ScoreComponentCollection.cpp; sourceTree = ""; }; + 1EC736EC14B977AB00238410 /* ScoreComponentCollection.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = ScoreComponentCollection.h; path = ../../moses/src/ScoreComponentCollection.h; sourceTree = ""; }; + 1EC736ED14B977AB00238410 /* ScoreIndexManager.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = ScoreIndexManager.cpp; path = ../../moses/src/ScoreIndexManager.cpp; sourceTree = ""; }; + 1EC736EE14B977AB00238410 /* ScoreIndexManager.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = ScoreIndexManager.h; path = ../../moses/src/ScoreIndexManager.h; sourceTree = ""; }; + 1EC736EF14B977AB00238410 /* ScoreProducer.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = ScoreProducer.cpp; path = ../../moses/src/ScoreProducer.cpp; sourceTree = ""; }; + 1EC736F014B977AB00238410 /* ScoreProducer.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = ScoreProducer.h; path = ../../moses/src/ScoreProducer.h; sourceTree = ""; }; + 1EC736F114B977AB00238410 /* Search.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = Search.cpp; path = ../../moses/src/Search.cpp; sourceTree = ""; }; + 1EC736F214B977AB00238410 /* Search.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = Search.h; path = ../../moses/src/Search.h; sourceTree = ""; }; + 1EC736F314B977AB00238410 /* SearchCubePruning.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = SearchCubePruning.cpp; path = ../../moses/src/SearchCubePruning.cpp; sourceTree = ""; }; + 1EC736F414B977AB00238410 /* SearchCubePruning.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = SearchCubePruning.h; path = ../../moses/src/SearchCubePruning.h; sourceTree = ""; }; + 1EC736F514B977AB00238410 /* SearchNormal.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = SearchNormal.cpp; path = ../../moses/src/SearchNormal.cpp; sourceTree = ""; }; + 1EC736F614B977AB00238410 /* SearchNormal.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = SearchNormal.h; path = ../../moses/src/SearchNormal.h; sourceTree = ""; }; + 1EC736F714B977AB00238410 /* Sentence.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = Sentence.cpp; path = ../../moses/src/Sentence.cpp; sourceTree = ""; }; + 1EC736F814B977AB00238410 /* Sentence.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = Sentence.h; path = ../../moses/src/Sentence.h; sourceTree = ""; }; + 1EC736F914B977AB00238410 /* SentenceStats.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = SentenceStats.cpp; path = ../../moses/src/SentenceStats.cpp; sourceTree = ""; }; + 1EC736FA14B977AB00238410 /* SentenceStats.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = SentenceStats.h; path = ../../moses/src/SentenceStats.h; sourceTree = ""; }; + 1EC736FB14B977AB00238410 /* SquareMatrix.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = SquareMatrix.cpp; path = ../../moses/src/SquareMatrix.cpp; sourceTree = ""; }; + 1EC736FC14B977AB00238410 /* SquareMatrix.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = SquareMatrix.h; path = ../../moses/src/SquareMatrix.h; sourceTree = ""; }; + 1EC736FF14B977AB00238410 /* StaticData.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = StaticData.cpp; path = ../../moses/src/StaticData.cpp; sourceTree = ""; }; + 1EC7370014B977AB00238410 /* StaticData.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = StaticData.h; path = ../../moses/src/StaticData.h; sourceTree = ""; }; + 1EC7370714B977AB00238410 /* TargetPhrase.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = TargetPhrase.cpp; path = ../../moses/src/TargetPhrase.cpp; sourceTree = ""; }; + 1EC7370814B977AB00238410 /* TargetPhrase.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = TargetPhrase.h; path = ../../moses/src/TargetPhrase.h; sourceTree = ""; }; + 1EC7370914B977AB00238410 /* TargetPhraseCollection.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = TargetPhraseCollection.cpp; path = ../../moses/src/TargetPhraseCollection.cpp; sourceTree = ""; }; + 1EC7370A14B977AB00238410 /* TargetPhraseCollection.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = TargetPhraseCollection.h; path = ../../moses/src/TargetPhraseCollection.h; sourceTree = ""; }; + 1EC7370B14B977AB00238410 /* ThreadPool.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = ThreadPool.cpp; path = ../../moses/src/ThreadPool.cpp; sourceTree = ""; }; + 1EC7370C14B977AB00238410 /* ThreadPool.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = ThreadPool.h; path = ../../moses/src/ThreadPool.h; sourceTree = ""; }; + 1EC7370D14B977AB00238410 /* Timer.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = Timer.cpp; path = ../../moses/src/Timer.cpp; sourceTree = ""; }; + 1EC7370E14B977AB00238410 /* Timer.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = Timer.h; path = ../../moses/src/Timer.h; sourceTree = ""; }; + 1EC7370F14B977AB00238410 /* TranslationOption.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = TranslationOption.cpp; path = ../../moses/src/TranslationOption.cpp; sourceTree = ""; }; + 1EC7371014B977AB00238410 /* TranslationOption.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = TranslationOption.h; path = ../../moses/src/TranslationOption.h; sourceTree = ""; }; + 1EC7371114B977AB00238410 /* TranslationOptionCollection.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = TranslationOptionCollection.cpp; path = ../../moses/src/TranslationOptionCollection.cpp; sourceTree = ""; }; + 1EC7371214B977AB00238410 /* TranslationOptionCollection.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = TranslationOptionCollection.h; path = ../../moses/src/TranslationOptionCollection.h; sourceTree = ""; }; + 1EC7371314B977AB00238410 /* TranslationOptionCollectionConfusionNet.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = TranslationOptionCollectionConfusionNet.cpp; path = ../../moses/src/TranslationOptionCollectionConfusionNet.cpp; sourceTree = ""; }; + 1EC7371414B977AB00238410 /* TranslationOptionCollectionConfusionNet.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = TranslationOptionCollectionConfusionNet.h; path = ../../moses/src/TranslationOptionCollectionConfusionNet.h; sourceTree = ""; }; + 1EC7371514B977AB00238410 /* TranslationOptionCollectionText.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = TranslationOptionCollectionText.cpp; path = ../../moses/src/TranslationOptionCollectionText.cpp; sourceTree = ""; }; + 1EC7371614B977AB00238410 /* TranslationOptionCollectionText.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = TranslationOptionCollectionText.h; path = ../../moses/src/TranslationOptionCollectionText.h; sourceTree = ""; }; + 1EC7371714B977AB00238410 /* TranslationOptionList.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = TranslationOptionList.cpp; path = ../../moses/src/TranslationOptionList.cpp; sourceTree = ""; }; + 1EC7371814B977AB00238410 /* TranslationOptionList.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = TranslationOptionList.h; path = ../../moses/src/TranslationOptionList.h; sourceTree = ""; }; + 1EC7371914B977AB00238410 /* TranslationSystem.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = TranslationSystem.cpp; path = ../../moses/src/TranslationSystem.cpp; sourceTree = ""; }; + 1EC7371A14B977AB00238410 /* TranslationSystem.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = TranslationSystem.h; path = ../../moses/src/TranslationSystem.h; sourceTree = ""; }; + 1EC7371B14B977AB00238410 /* TreeInput.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = TreeInput.cpp; path = ../../moses/src/TreeInput.cpp; sourceTree = ""; }; + 1EC7371C14B977AB00238410 /* TreeInput.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = TreeInput.h; path = ../../moses/src/TreeInput.h; sourceTree = ""; }; + 1EC7371F14B977AB00238410 /* TrellisPath.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = TrellisPath.cpp; path = ../../moses/src/TrellisPath.cpp; sourceTree = ""; }; + 1EC7372014B977AB00238410 /* TrellisPath.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = TrellisPath.h; path = ../../moses/src/TrellisPath.h; sourceTree = ""; }; + 1EC7372314B977AB00238410 /* TrellisPathCollection.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = TrellisPathCollection.cpp; path = ../../moses/src/TrellisPathCollection.cpp; sourceTree = ""; }; + 1EC7372414B977AB00238410 /* TrellisPathCollection.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = TrellisPathCollection.h; path = ../../moses/src/TrellisPathCollection.h; sourceTree = ""; }; + 1EC7372714B977AB00238410 /* TrellisPathList.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = TrellisPathList.h; path = ../../moses/src/TrellisPathList.h; sourceTree = ""; }; + 1EC7372814B977AB00238410 /* TypeDef.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = TypeDef.h; path = ../../moses/src/TypeDef.h; sourceTree = ""; }; + 1EC7372914B977AB00238410 /* UniqueObject.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = UniqueObject.h; path = ../../moses/src/UniqueObject.h; sourceTree = ""; }; + 1EC7372A14B977AB00238410 /* UserMessage.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = UserMessage.cpp; path = ../../moses/src/UserMessage.cpp; sourceTree = ""; }; + 1EC7372B14B977AB00238410 /* UserMessage.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = UserMessage.h; path = ../../moses/src/UserMessage.h; sourceTree = ""; }; + 1EC7372E14B977AB00238410 /* Util.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = Util.cpp; path = ../../moses/src/Util.cpp; sourceTree = ""; }; + 1EC7372F14B977AB00238410 /* Util.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = Util.h; path = ../../moses/src/Util.h; sourceTree = ""; }; + 1EC7373214B977AB00238410 /* Word.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = Word.cpp; path = ../../moses/src/Word.cpp; sourceTree = ""; }; + 1EC7373314B977AB00238410 /* Word.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = Word.h; path = ../../moses/src/Word.h; sourceTree = ""; }; + 1EC7373614B977AB00238410 /* WordLattice.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = WordLattice.cpp; path = ../../moses/src/WordLattice.cpp; sourceTree = ""; }; + 1EC7373714B977AB00238410 /* WordLattice.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = WordLattice.h; path = ../../moses/src/WordLattice.h; sourceTree = ""; }; + 1EC7373814B977AB00238410 /* WordLattice.lo */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; name = WordLattice.lo; path = ../../moses/src/WordLattice.lo; sourceTree = ""; }; + 1EC7373914B977AB00238410 /* WordLattice.o */ = {isa = PBXFileReference; lastKnownFileType = "compiled.mach-o.objfile"; name = WordLattice.o; path = ../../moses/src/WordLattice.o; sourceTree = ""; }; + 1EC7373A14B977AB00238410 /* WordsBitmap.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = WordsBitmap.cpp; path = ../../moses/src/WordsBitmap.cpp; sourceTree = ""; }; + 1EC7373B14B977AB00238410 /* WordsBitmap.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = WordsBitmap.h; path = ../../moses/src/WordsBitmap.h; sourceTree = ""; }; + 1EC7373C14B977AB00238410 /* WordsBitmap.lo */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; name = WordsBitmap.lo; path = ../../moses/src/WordsBitmap.lo; sourceTree = ""; }; + 1EC7373D14B977AB00238410 /* WordsBitmap.o */ = {isa = PBXFileReference; lastKnownFileType = "compiled.mach-o.objfile"; name = WordsBitmap.o; path = ../../moses/src/WordsBitmap.o; sourceTree = ""; }; + 1EC7373E14B977AB00238410 /* WordsRange.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = WordsRange.cpp; path = ../../moses/src/WordsRange.cpp; sourceTree = ""; }; + 1EC7373F14B977AB00238410 /* WordsRange.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = WordsRange.h; path = ../../moses/src/WordsRange.h; sourceTree = ""; }; + 1EC7374014B977AB00238410 /* WordsRange.lo */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; name = WordsRange.lo; path = ../../moses/src/WordsRange.lo; sourceTree = ""; }; + 1EC7374114B977AB00238410 /* WordsRange.o */ = {isa = PBXFileReference; lastKnownFileType = "compiled.mach-o.objfile"; name = WordsRange.o; path = ../../moses/src/WordsRange.o; sourceTree = ""; }; + 1EC7374214B977AB00238410 /* XmlOption.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = XmlOption.cpp; path = ../../moses/src/XmlOption.cpp; sourceTree = ""; }; + 1EC7374314B977AB00238410 /* XmlOption.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = XmlOption.h; path = ../../moses/src/XmlOption.h; sourceTree = ""; }; + 1EC7374414B977AB00238410 /* XmlOption.lo */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; name = XmlOption.lo; path = ../../moses/src/XmlOption.lo; sourceTree = ""; }; + 1EC7374514B977AB00238410 /* XmlOption.o */ = {isa = PBXFileReference; lastKnownFileType = "compiled.mach-o.objfile"; name = XmlOption.o; path = ../../moses/src/XmlOption.o; sourceTree = ""; }; D2AAC046055464E500DB518D /* libmoses.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = libmoses.a; sourceTree = BUILT_PRODUCTS_DIR; }; /* End PBXFileReference section */ @@ -552,6 +579,10 @@ isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( + 1EC7387814B977AB00238410 /* WordLattice.o in Frameworks */, + 1EC7387B14B977AB00238410 /* WordsBitmap.o in Frameworks */, + 1EC7387E14B977AB00238410 /* WordsRange.o in Frameworks */, + 1EC7388114B977AB00238410 /* XmlOption.o in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -571,249 +602,251 @@ 08FB7795FE84155DC02AAC07 /* Source */ = { isa = PBXGroup; children = ( - 1ECA43B1146D586D00209CEF /* ChartTrellisDetour.h */, - 1ECA43B2146D586D00209CEF /* ChartTrellisDetourQueue.cpp */, - 1ECA43B3146D586D00209CEF /* ChartTrellisDetourQueue.h */, - 1ECA43AD146D585900209CEF /* ChartCellLabelSet.h */, - 1ECA43AE146D585900209CEF /* ChartTrellisDetour.cpp */, + 1EC735D314B977AA00238410 /* AlignmentInfo.cpp */, + 1EC735D414B977AA00238410 /* AlignmentInfo.h */, + 1EC735D514B977AA00238410 /* AlignmentInfoCollection.cpp */, + 1EC735D614B977AA00238410 /* AlignmentInfoCollection.h */, + 1EC735D714B977AA00238410 /* BilingualDynSuffixArray.cpp */, + 1EC735D814B977AA00238410 /* BilingualDynSuffixArray.h */, + 1EC735D914B977AA00238410 /* BitmapContainer.cpp */, + 1EC735DA14B977AA00238410 /* BitmapContainer.h */, + 1EC735DB14B977AA00238410 /* CellCollection.h */, + 1EC735DC14B977AA00238410 /* ChartCell.cpp */, + 1EC735DD14B977AA00238410 /* ChartCell.h */, + 1EC735DE14B977AA00238410 /* ChartCellCollection.cpp */, + 1EC735DF14B977AA00238410 /* ChartCellCollection.h */, + 1EC735E014B977AA00238410 /* ChartCellLabel.h */, + 1EC735E114B977AA00238410 /* ChartCellLabelSet.h */, + 1EC735E214B977AA00238410 /* ChartHypothesis.cpp */, + 1EC735E314B977AA00238410 /* ChartHypothesis.h */, + 1EC735E414B977AA00238410 /* ChartHypothesisCollection.cpp */, + 1EC735E514B977AA00238410 /* ChartHypothesisCollection.h */, + 1EC735E614B977AA00238410 /* ChartManager.cpp */, + 1EC735E714B977AA00238410 /* ChartManager.h */, + 1EC735E814B977AA00238410 /* ChartRuleLookupManager.cpp */, + 1EC735E914B977AA00238410 /* ChartRuleLookupManager.h */, + 1EC735EA14B977AA00238410 /* ChartRuleLookupManagerMemory.cpp */, + 1EC735EB14B977AA00238410 /* ChartRuleLookupManagerMemory.h */, + 1EC735EC14B977AA00238410 /* ChartRuleLookupManagerOnDisk.cpp */, + 1EC735ED14B977AA00238410 /* ChartRuleLookupManagerOnDisk.h */, + 1EC735EE14B977AA00238410 /* ChartTranslationOption.cpp */, + 1EC735EF14B977AA00238410 /* ChartTranslationOption.h */, + 1EC735F014B977AA00238410 /* ChartTranslationOptionCollection.cpp */, + 1EC735F114B977AA00238410 /* ChartTranslationOptionCollection.h */, + 1EC735F214B977AA00238410 /* ChartTranslationOptionList.cpp */, + 1EC735F314B977AA00238410 /* ChartTranslationOptionList.h */, + 1EC735F414B977AA00238410 /* ChartTrellisDetour.cpp */, + 1EC735F514B977AA00238410 /* ChartTrellisDetour.h */, + 1EC735F614B977AA00238410 /* ChartTrellisDetourQueue.cpp */, + 1EC735F714B977AA00238410 /* ChartTrellisDetourQueue.h */, + 1EC735F814B977AA00238410 /* ChartTrellisNode.cpp */, + 1EC735F914B977AA00238410 /* ChartTrellisNode.h */, + 1EC735FA14B977AA00238410 /* ChartTrellisPath.cpp */, + 1EC735FB14B977AA00238410 /* ChartTrellisPath.h */, + 1EC735FC14B977AA00238410 /* ChartTrellisPathList.h */, + 1EC735FD14B977AA00238410 /* ConfusionNet.cpp */, + 1EC735FE14B977AA00238410 /* ConfusionNet.h */, + 1EC735FF14B977AA00238410 /* DecodeFeature.cpp */, + 1EC7360014B977AA00238410 /* DecodeFeature.h */, + 1EC7360114B977AA00238410 /* DecodeGraph.cpp */, + 1EC7360214B977AA00238410 /* DecodeGraph.h */, + 1EC7360314B977AA00238410 /* DecodeStep.cpp */, + 1EC7360414B977AA00238410 /* DecodeStep.h */, + 1EC7360514B977AA00238410 /* DecodeStepGeneration.cpp */, + 1EC7360614B977AA00238410 /* DecodeStepGeneration.h */, + 1EC7360714B977AA00238410 /* DecodeStepTranslation.cpp */, + 1EC7360814B977AA00238410 /* DecodeStepTranslation.h */, + 1EC7360914B977AA00238410 /* Dictionary.cpp */, + 1EC7360A14B977AA00238410 /* Dictionary.h */, + 1EC7360B14B977AA00238410 /* DotChart.cpp */, + 1EC7360C14B977AA00238410 /* DotChart.h */, + 1EC7360D14B977AA00238410 /* DotChartInMemory.cpp */, + 1EC7360E14B977AA00238410 /* DotChartInMemory.h */, + 1EC7360F14B977AA00238410 /* DotChartOnDisk.cpp */, + 1EC7361014B977AA00238410 /* DotChartOnDisk.h */, + 1EC7361114B977AA00238410 /* DummyScoreProducers.cpp */, + 1EC7361214B977AA00238410 /* DummyScoreProducers.h */, + 1EC7361314B977AA00238410 /* DynSAInclude */, + 1EC7362C14B977AA00238410 /* DynSuffixArray.cpp */, + 1EC7362D14B977AA00238410 /* DynSuffixArray.h */, + 1EC7362E14B977AA00238410 /* Factor.cpp */, + 1EC7362F14B977AA00238410 /* Factor.h */, + 1EC7363014B977AA00238410 /* FactorCollection.cpp */, + 1EC7363114B977AA00238410 /* FactorCollection.h */, + 1EC7363214B977AA00238410 /* FactorTypeSet.cpp */, + 1EC7363314B977AA00238410 /* FactorTypeSet.h */, + 1EC7363414B977AA00238410 /* FeatureFunction.cpp */, + 1EC7363514B977AA00238410 /* FeatureFunction.h */, + 1EC7363614B977AA00238410 /* FFState.cpp */, + 1EC7363714B977AA00238410 /* FFState.h */, + 1EC7363814B977AA00238410 /* File.cpp */, + 1EC7363914B977AA00238410 /* File.h */, + 1EC7363A14B977AA00238410 /* FilePtr.h */, + 1EC7363B14B977AA00238410 /* FloydWarshall.cpp */, + 1EC7363C14B977AA00238410 /* FloydWarshall.h */, + 1EC7363D14B977AA00238410 /* GenerationDictionary.cpp */, + 1EC7363E14B977AA00238410 /* GenerationDictionary.h */, + 1EC7363F14B977AA00238410 /* GlobalLexicalModel.cpp */, + 1EC7364014B977AA00238410 /* GlobalLexicalModel.h */, + 1EC7364114B977AA00238410 /* gzfilebuf.h */, + 1EC7364214B977AA00238410 /* hash.cpp */, + 1EC7364314B977AA00238410 /* hash.h */, + 1EC7364414B977AA00238410 /* hypergraph.proto */, + 1EC7364514B977AA00238410 /* Hypothesis.cpp */, + 1EC7364614B977AA00238410 /* Hypothesis.h */, + 1EC7364714B977AA00238410 /* HypothesisStack.cpp */, + 1EC7364814B977AA00238410 /* HypothesisStack.h */, + 1EC7364914B977AA00238410 /* HypothesisStackCubePruning.cpp */, + 1EC7364A14B977AA00238410 /* HypothesisStackCubePruning.h */, + 1EC7364B14B977AA00238410 /* HypothesisStackNormal.cpp */, + 1EC7364C14B977AA00238410 /* HypothesisStackNormal.h */, + 1EC7364D14B977AA00238410 /* InputFileStream.cpp */, + 1EC7364E14B977AA00238410 /* InputFileStream.h */, + 1EC7364F14B977AA00238410 /* InputType.cpp */, + 1EC7365014B977AA00238410 /* InputType.h */, + 1EC7365414B977AA00238410 /* LexicalReordering.cpp */, + 1EC7365514B977AA00238410 /* LexicalReordering.h */, + 1EC7365614B977AA00238410 /* LexicalReorderingState.cpp */, + 1EC7365714B977AA00238410 /* LexicalReorderingState.h */, + 1EC7365814B977AA00238410 /* LexicalReorderingTable.cpp */, + 1EC7365914B977AA00238410 /* LexicalReorderingTable.h */, + 1EC7365B14B977AA00238410 /* LM */, + 1EC736A914B977AA00238410 /* LMList.cpp */, + 1EC736AA14B977AA00238410 /* LMList.h */, + 1EC736AB14B977AA00238410 /* LVoc.cpp */, + 1EC736AC14B977AA00238410 /* LVoc.h */, + 1EC736AD14B977AA00238410 /* Manager.cpp */, + 1EC736AE14B977AA00238410 /* Manager.h */, + 1EC736AF14B977AA00238410 /* NonTerminal.cpp */, + 1EC736B014B977AA00238410 /* NonTerminal.h */, + 1EC736B114B977AA00238410 /* ObjectPool.h */, + 1EC736B214B977AA00238410 /* OutputCollector.h */, + 1EC736B514B977AA00238410 /* Parameter.cpp */, + 1EC736B614B977AA00238410 /* Parameter.h */, + 1EC736B714B977AA00238410 /* PartialTranslOptColl.cpp */, + 1EC736B814B977AA00238410 /* PartialTranslOptColl.h */, + 1EC736B914B977AA00238410 /* PCNTools.cpp */, + 1EC736BA14B977AA00238410 /* PCNTools.h */, + 1EC736BB14B977AA00238410 /* PDTAimp.h */, + 1EC736BC14B977AA00238410 /* Phrase.cpp */, + 1EC736BD14B977AA00238410 /* Phrase.h */, + 1EC736BE14B977AA00238410 /* PhraseDictionary.cpp */, + 1EC736BF14B977AA00238410 /* PhraseDictionary.h */, + 1EC736C014B977AA00238410 /* PhraseDictionaryALSuffixArray.cpp */, + 1EC736C114B977AA00238410 /* PhraseDictionaryALSuffixArray.h */, + 1EC736C214B977AA00238410 /* PhraseDictionaryDynSuffixArray.cpp */, + 1EC736C314B977AA00238410 /* PhraseDictionaryDynSuffixArray.h */, + 1EC736C414B977AA00238410 /* PhraseDictionaryHiero.cpp */, + 1EC736C514B977AA00238410 /* PhraseDictionaryHiero.h */, + 1EC736C614B977AA00238410 /* PhraseDictionaryMemory.cpp */, + 1EC736C714B977AA00238410 /* PhraseDictionaryMemory.h */, + 1EC736C814B977AA00238410 /* PhraseDictionaryNode.cpp */, + 1EC736C914B977AA00238410 /* PhraseDictionaryNode.h */, + 1EC736CA14B977AA00238410 /* PhraseDictionaryNodeSCFG.cpp */, + 1EC736CB14B977AA00238410 /* PhraseDictionaryNodeSCFG.h */, + 1EC736CC14B977AA00238410 /* PhraseDictionaryOnDisk.cpp */, + 1EC736CD14B977AA00238410 /* PhraseDictionaryOnDisk.h */, + 1EC736CE14B977AA00238410 /* PhraseDictionarySCFG.cpp */, + 1EC736CF14B977AA00238410 /* PhraseDictionarySCFG.h */, + 1EC736D014B977AA00238410 /* PhraseDictionaryTree.cpp */, + 1EC736D114B977AA00238410 /* PhraseDictionaryTree.h */, + 1EC736D214B977AA00238410 /* PhraseDictionaryTreeAdaptor.cpp */, + 1EC736D314B977AA00238410 /* PhraseDictionaryTreeAdaptor.h */, + 1EC736D414B977AA00238410 /* PrefixTree.h */, + 1EC736D514B977AA00238410 /* PrefixTreeMap.cpp */, + 1EC736D614B977AA00238410 /* PrefixTreeMap.h */, + 1EC736D714B977AA00238410 /* ReorderingConstraint.cpp */, + 1EC736D814B977AA00238410 /* ReorderingConstraint.h */, + 1EC736D914B977AA00238410 /* ReorderingStack.cpp */, + 1EC736DA14B977AA00238410 /* ReorderingStack.h */, + 1EC736DB14B977AA00238410 /* rule.proto */, + 1EC736DC14B977AA00238410 /* RuleCube.cpp */, + 1EC736DD14B977AB00238410 /* RuleCube.h */, + 1EC736DE14B977AB00238410 /* RuleCubeItem.cpp */, + 1EC736DF14B977AB00238410 /* RuleCubeItem.h */, + 1EC736E014B977AB00238410 /* RuleCubeQueue.cpp */, + 1EC736E114B977AB00238410 /* RuleCubeQueue.h */, + 1EC736E214B977AB00238410 /* RuleTableLoader.h */, + 1EC736E314B977AB00238410 /* RuleTableLoaderCompact.cpp */, + 1EC736E414B977AB00238410 /* RuleTableLoaderCompact.h */, + 1EC736E514B977AB00238410 /* RuleTableLoaderFactory.cpp */, + 1EC736E614B977AB00238410 /* RuleTableLoaderFactory.h */, + 1EC736E714B977AB00238410 /* RuleTableLoaderHiero.cpp */, + 1EC736E814B977AB00238410 /* RuleTableLoaderHiero.h */, + 1EC736E914B977AB00238410 /* RuleTableLoaderStandard.cpp */, + 1EC736EA14B977AB00238410 /* RuleTableLoaderStandard.h */, + 1EC736EB14B977AB00238410 /* ScoreComponentCollection.cpp */, + 1EC736EC14B977AB00238410 /* ScoreComponentCollection.h */, + 1EC736ED14B977AB00238410 /* ScoreIndexManager.cpp */, + 1EC736EE14B977AB00238410 /* ScoreIndexManager.h */, + 1EC736EF14B977AB00238410 /* ScoreProducer.cpp */, + 1EC736F014B977AB00238410 /* ScoreProducer.h */, + 1EC736F114B977AB00238410 /* Search.cpp */, + 1EC736F214B977AB00238410 /* Search.h */, + 1EC736F314B977AB00238410 /* SearchCubePruning.cpp */, + 1EC736F414B977AB00238410 /* SearchCubePruning.h */, + 1EC736F514B977AB00238410 /* SearchNormal.cpp */, + 1EC736F614B977AB00238410 /* SearchNormal.h */, + 1EC736F714B977AB00238410 /* Sentence.cpp */, + 1EC736F814B977AB00238410 /* Sentence.h */, + 1EC736F914B977AB00238410 /* SentenceStats.cpp */, + 1EC736FA14B977AB00238410 /* SentenceStats.h */, + 1EC736FB14B977AB00238410 /* SquareMatrix.cpp */, + 1EC736FC14B977AB00238410 /* SquareMatrix.h */, + 1EC736FF14B977AB00238410 /* StaticData.cpp */, + 1EC7370014B977AB00238410 /* StaticData.h */, + 1EC7370714B977AB00238410 /* TargetPhrase.cpp */, + 1EC7370814B977AB00238410 /* TargetPhrase.h */, + 1EC7370914B977AB00238410 /* TargetPhraseCollection.cpp */, + 1EC7370A14B977AB00238410 /* TargetPhraseCollection.h */, + 1EC7370B14B977AB00238410 /* ThreadPool.cpp */, + 1EC7370C14B977AB00238410 /* ThreadPool.h */, + 1EC7370D14B977AB00238410 /* Timer.cpp */, + 1EC7370E14B977AB00238410 /* Timer.h */, + 1EC7370F14B977AB00238410 /* TranslationOption.cpp */, + 1EC7371014B977AB00238410 /* TranslationOption.h */, + 1EC7371114B977AB00238410 /* TranslationOptionCollection.cpp */, + 1EC7371214B977AB00238410 /* TranslationOptionCollection.h */, + 1EC7371314B977AB00238410 /* TranslationOptionCollectionConfusionNet.cpp */, + 1EC7371414B977AB00238410 /* TranslationOptionCollectionConfusionNet.h */, + 1EC7371514B977AB00238410 /* TranslationOptionCollectionText.cpp */, + 1EC7371614B977AB00238410 /* TranslationOptionCollectionText.h */, + 1EC7371714B977AB00238410 /* TranslationOptionList.cpp */, + 1EC7371814B977AB00238410 /* TranslationOptionList.h */, + 1EC7371914B977AB00238410 /* TranslationSystem.cpp */, + 1EC7371A14B977AB00238410 /* TranslationSystem.h */, + 1EC7371B14B977AB00238410 /* TreeInput.cpp */, + 1EC7371C14B977AB00238410 /* TreeInput.h */, + 1EC7371F14B977AB00238410 /* TrellisPath.cpp */, + 1EC7372014B977AB00238410 /* TrellisPath.h */, + 1EC7372314B977AB00238410 /* TrellisPathCollection.cpp */, + 1EC7372414B977AB00238410 /* TrellisPathCollection.h */, + 1EC7372714B977AB00238410 /* TrellisPathList.h */, + 1EC7372814B977AB00238410 /* TypeDef.h */, + 1EC7372914B977AB00238410 /* UniqueObject.h */, + 1EC7372A14B977AB00238410 /* UserMessage.cpp */, + 1EC7372B14B977AB00238410 /* UserMessage.h */, + 1EC7372E14B977AB00238410 /* Util.cpp */, + 1EC7372F14B977AB00238410 /* Util.h */, + 1EC7373214B977AB00238410 /* Word.cpp */, + 1EC7373314B977AB00238410 /* Word.h */, + 1EC7373614B977AB00238410 /* WordLattice.cpp */, + 1EC7373714B977AB00238410 /* WordLattice.h */, + 1EC7373814B977AB00238410 /* WordLattice.lo */, + 1EC7373914B977AB00238410 /* WordLattice.o */, + 1EC7373A14B977AB00238410 /* WordsBitmap.cpp */, + 1EC7373B14B977AB00238410 /* WordsBitmap.h */, + 1EC7373C14B977AB00238410 /* WordsBitmap.lo */, + 1EC7373D14B977AB00238410 /* WordsBitmap.o */, + 1EC7373E14B977AB00238410 /* WordsRange.cpp */, + 1EC7373F14B977AB00238410 /* WordsRange.h */, + 1EC7374014B977AB00238410 /* WordsRange.lo */, + 1EC7374114B977AB00238410 /* WordsRange.o */, + 1EC7374214B977AB00238410 /* XmlOption.cpp */, + 1EC7374314B977AB00238410 /* XmlOption.h */, + 1EC7374414B977AB00238410 /* XmlOption.lo */, + 1EC7374514B977AB00238410 /* XmlOption.o */, 1E16D086144DAA3F00B60B4F /* LM */, - 1ED0FD4C124BB9380029177F /* AlignmentInfo.cpp */, - 1ED0FD4D124BB9380029177F /* AlignmentInfo.h */, - 1E07291D13B3854D004454FD /* AlignmentInfoCollection.cpp */, - 1E07291E13B3854D004454FD /* AlignmentInfoCollection.h */, - 1ED0FD4E124BB9380029177F /* BilingualDynSuffixArray.cpp */, - 1ED0FD4F124BB9380029177F /* BilingualDynSuffixArray.h */, - 1ED0FD50124BB9380029177F /* BitmapContainer.cpp */, - 1ED0FD51124BB9380029177F /* BitmapContainer.h */, - 1ED0FD52124BB9380029177F /* CellCollection.h */, - 1E2E1604132A890D00ED4085 /* ChartCell.cpp */, - 1E2E1605132A890D00ED4085 /* ChartCell.h */, - 1E2E1606132A890D00ED4085 /* ChartCellCollection.cpp */, - 1E2E1607132A890D00ED4085 /* ChartCellCollection.h */, - 1E2E1608132A890D00ED4085 /* ChartHypothesis.cpp */, - 1E2E1609132A890D00ED4085 /* ChartHypothesis.h */, - 1E2E160A132A890D00ED4085 /* ChartHypothesisCollection.cpp */, - 1E2E160B132A890D00ED4085 /* ChartHypothesisCollection.h */, - 1E2E160C132A890D00ED4085 /* ChartManager.cpp */, - 1E2E160D132A890D00ED4085 /* ChartManager.h */, - 1EA6AB4813BCC838004465AF /* ChartRuleLookupManager.cpp */, - 1EA6AB4913BCC838004465AF /* ChartRuleLookupManager.h */, - 1E1C589012F310A70067DEB7 /* ChartRuleLookupManagerMemory.cpp */, - 1E1C589112F310A70067DEB7 /* ChartRuleLookupManagerMemory.h */, - 1E1C589212F310A70067DEB7 /* ChartRuleLookupManagerOnDisk.cpp */, - 1E1C589312F310A70067DEB7 /* ChartRuleLookupManagerOnDisk.h */, - 1ED00034124BC2690029177F /* ChartTranslationOption.cpp */, - 1ED00035124BC2690029177F /* ChartTranslationOption.h */, - 1E2E160E132A890D00ED4085 /* ChartTranslationOptionCollection.cpp */, - 1E2E160F132A890D00ED4085 /* ChartTranslationOptionCollection.h */, - 1ED0FFD1124BC0BF0029177F /* ChartTranslationOptionList.cpp */, - 1ED0FFD2124BC0BF0029177F /* ChartTranslationOptionList.h */, - 1E2E1610132A890D00ED4085 /* ChartTrellisNode.cpp */, - 1E2E1611132A890D00ED4085 /* ChartTrellisNode.h */, - 1E2E1612132A890D00ED4085 /* ChartTrellisPath.cpp */, - 1E2E1613132A890D00ED4085 /* ChartTrellisPath.h */, - 1E2E1617132A890D00ED4085 /* ChartTrellisPathList.h */, - 1ED0FD57124BB9380029177F /* ConfusionNet.cpp */, - 1ED0FD58124BB9380029177F /* ConfusionNet.h */, - 1ED0FD59124BB9380029177F /* DecodeFeature.cpp */, - 1ED0FD5A124BB9380029177F /* DecodeFeature.h */, - 1ED0FD5B124BB9380029177F /* DecodeGraph.cpp */, - 1ED0FD5C124BB9380029177F /* DecodeGraph.h */, - 1ED0FD5D124BB9380029177F /* DecodeStep.cpp */, - 1ED0FD5E124BB9380029177F /* DecodeStep.h */, - 1ED0FD5F124BB9380029177F /* DecodeStepGeneration.cpp */, - 1ED0FD60124BB9380029177F /* DecodeStepGeneration.h */, - 1ED0FD61124BB9380029177F /* DecodeStepTranslation.cpp */, - 1ED0FD62124BB9380029177F /* DecodeStepTranslation.h */, - 1ED0FD63124BB9380029177F /* Dictionary.cpp */, - 1ED0FD64124BB9380029177F /* Dictionary.h */, - 1ED0FD65124BB9380029177F /* DotChart.cpp */, - 1ED0FD66124BB9380029177F /* DotChart.h */, - 1ED22EE313DD96B0000DE8C9 /* DotChartInMemory.cpp */, - 1ED22EE413DD96B0000DE8C9 /* DotChartInMemory.h */, - 1ED0FD67124BB9380029177F /* DotChartOnDisk.cpp */, - 1ED0FD68124BB9380029177F /* DotChartOnDisk.h */, - 1ED0FD69124BB9380029177F /* DummyScoreProducers.cpp */, - 1ED0FD6A124BB9380029177F /* DummyScoreProducers.h */, - 1ED0FD6B124BB9380029177F /* DynSAInclude */, - 1ED0FD73124BB9380029177F /* DynSuffixArray.cpp */, - 1ED0FD74124BB9380029177F /* DynSuffixArray.h */, - 1ED0FD7D124BB9380029177F /* FFState.cpp */, - 1ED0FD7E124BB9380029177F /* FFState.h */, - 1ED0FD75124BB9380029177F /* Factor.cpp */, - 1ED0FD76124BB9380029177F /* Factor.h */, - 1ED0FD77124BB9380029177F /* FactorCollection.cpp */, - 1ED0FD78124BB9380029177F /* FactorCollection.h */, - 1ED0FD79124BB9380029177F /* FactorTypeSet.cpp */, - 1ED0FD7A124BB9380029177F /* FactorTypeSet.h */, - 1ED0FD7B124BB9380029177F /* FeatureFunction.cpp */, - 1ED0FD7C124BB9380029177F /* FeatureFunction.h */, - 1ED0FD7F124BB9380029177F /* File.cpp */, - 1ED0FD80124BB9380029177F /* File.h */, - 1ED0FD81124BB9380029177F /* FilePtr.h */, - 1ED0FD82124BB9380029177F /* FloydWarshall.cpp */, - 1ED0FD83124BB9380029177F /* FloydWarshall.h */, - 1ED0FD84124BB9380029177F /* GenerationDictionary.cpp */, - 1ED0FD85124BB9380029177F /* GenerationDictionary.h */, - 1ED0FD86124BB9380029177F /* GlobalLexicalModel.cpp */, - 1ED0FD87124BB9380029177F /* GlobalLexicalModel.h */, - 1ED0FD8C124BB9380029177F /* Hypothesis.cpp */, - 1ED0FD8D124BB9380029177F /* Hypothesis.h */, - 1ED0FD8E124BB9380029177F /* HypothesisStack.cpp */, - 1ED0FD8F124BB9380029177F /* HypothesisStack.h */, - 1ED0FD90124BB9380029177F /* HypothesisStackCubePruning.cpp */, - 1ED0FD91124BB9380029177F /* HypothesisStackCubePruning.h */, - 1ED0FD92124BB9380029177F /* HypothesisStackNormal.cpp */, - 1ED0FD93124BB9380029177F /* HypothesisStackNormal.h */, - 1ED0FD94124BB9380029177F /* InputFileStream.cpp */, - 1ED0FD95124BB9380029177F /* InputFileStream.h */, - 1ED0FD96124BB9380029177F /* InputType.cpp */, - 1ED0FD97124BB9380029177F /* InputType.h */, - 1ED0FDB9124BB9380029177F /* LMList.cpp */, - 1ED0FDBA124BB9380029177F /* LMList.h */, - 1ED0FDBB124BB9380029177F /* LVoc.cpp */, - 1ED0FDBC124BB9380029177F /* LVoc.h */, - 1ED0FDB3124BB9380029177F /* LexicalReordering.cpp */, - 1ED0FDB4124BB9380029177F /* LexicalReordering.h */, - 1ED0FDB5124BB9380029177F /* LexicalReorderingState.cpp */, - 1ED0FDB6124BB9380029177F /* LexicalReorderingState.h */, - 1ED0FDB7124BB9380029177F /* LexicalReorderingTable.cpp */, - 1ED0FDB8124BB9380029177F /* LexicalReorderingTable.h */, - 1ED0FDC0124BB9380029177F /* Manager.cpp */, - 1ED0FDC1124BB9380029177F /* Manager.h */, - 1EE58D9D133726C700D93158 /* NonTerminal.cpp */, - 1EE58D9E133726C700D93158 /* NonTerminal.h */, - 1ED0FDC6124BB9380029177F /* ObjectPool.h */, - 1E2E1632132A892800ED4085 /* OutputCollector.h */, - 1ED0FDCB124BB9380029177F /* PCNTools.cpp */, - 1ED0FDCC124BB9380029177F /* PCNTools.h */, - 1ED0FDCD124BB9380029177F /* PDTAimp.h */, - 1ED0FDC7124BB9380029177F /* Parameter.cpp */, - 1ED0FDC8124BB9380029177F /* Parameter.h */, - 1ED0FDC9124BB9380029177F /* PartialTranslOptColl.cpp */, - 1ED0FDCA124BB9380029177F /* PartialTranslOptColl.h */, - 1ED0FDCE124BB9380029177F /* Phrase.cpp */, - 1ED0FDCF124BB9380029177F /* Phrase.h */, - 1ED0FDD0124BB9380029177F /* PhraseDictionary.cpp */, - 1ED0FDD1124BB9380029177F /* PhraseDictionary.h */, - 1ED0FDD2124BB9380029177F /* PhraseDictionaryDynSuffixArray.cpp */, - 1ED0FDD3124BB9380029177F /* PhraseDictionaryDynSuffixArray.h */, - 1ED0FDD4124BB9380029177F /* PhraseDictionaryMemory.cpp */, - 1ED0FDD5124BB9380029177F /* PhraseDictionaryMemory.h */, - 1ED0FDD6124BB9380029177F /* PhraseDictionaryNode.cpp */, - 1ED0FDD7124BB9380029177F /* PhraseDictionaryNode.h */, - 1ED0FDD8124BB9380029177F /* PhraseDictionaryNodeSCFG.cpp */, - 1ED0FDD9124BB9380029177F /* PhraseDictionaryNodeSCFG.h */, - 1ED0FDDA124BB9380029177F /* PhraseDictionaryOnDisk.cpp */, - 1ED0FDDB124BB9380029177F /* PhraseDictionaryOnDisk.h */, - 1ED0FDDD124BB9380029177F /* PhraseDictionarySCFG.cpp */, - 1EEB43ED1264A6F200739BA5 /* PhraseDictionarySCFG.h */, - 1ED0FDDF124BB9380029177F /* PhraseDictionaryTree.cpp */, - 1ED0FDE0124BB9380029177F /* PhraseDictionaryTree.h */, - 1ED0FDE1124BB9380029177F /* PhraseDictionaryTreeAdaptor.cpp */, - 1ED0FDE2124BB9380029177F /* PhraseDictionaryTreeAdaptor.h */, - 1E078C1E14643C2000A707F4 /* PhraseDictionaryHiero.cpp */, - 1E078C1B14643AED00A707F4 /* PhraseDictionaryHiero.h */, - 1E2755B214667CA3009D1DF9 /* PhraseDictionaryALSuffixArray.cpp */, - 1E2755B514667CC2009D1DF9 /* PhraseDictionaryALSuffixArray.h */, - 1ED0FDE3124BB9380029177F /* PrefixTree.h */, - 1ED0FDE4124BB9380029177F /* PrefixTreeMap.cpp */, - 1ED0FDE5124BB9380029177F /* PrefixTreeMap.h */, - 1EBB262713A12DB500B51840 /* RandLMCache.h */, - 1EBB262813A12DB500B51840 /* RandLMFilter.h */, - 1ED0FDE6124BB9380029177F /* ReorderingConstraint.cpp */, - 1ED0FDE7124BB9380029177F /* ReorderingConstraint.h */, - 1ED0FDE8124BB9380029177F /* ReorderingStack.cpp */, - 1ED0FDE9124BB9380029177F /* ReorderingStack.h */, - 1E2E1633132A892800ED4085 /* RuleCube.cpp */, - 1E2E1634132A892800ED4085 /* RuleCube.h */, - 1E46B5A413BA5C7F0084F898 /* RuleCubeItem.cpp */, - 1E46B5A513BA5C7F0084F898 /* RuleCubeItem.h */, - 1E2E1635132A892800ED4085 /* RuleCubeQueue.cpp */, - 1E2E1636132A892800ED4085 /* RuleCubeQueue.h */, - 1ED0DE1D1432A0D100C20FBE /* RuleTableLoaderCompact.cpp */, - 1ED0DE1E1432A0D100C20FBE /* RuleTableLoaderCompact.h */, - 1ED0DE211432A0D100C20FBE /* RuleTableLoaderFactory.cpp */, - 1ED0DE221432A0D100C20FBE /* RuleTableLoaderFactory.h */, - 1ED0DE251432A0D100C20FBE /* RuleTableLoaderStandard.cpp */, - 1ED0DE261432A0D100C20FBE /* RuleTableLoaderStandard.h */, - 1E078C20146440A900A707F4 /* RuleTableLoaderHiero.h */, - 1E078C22146440F700A707F4 /* RuleTableLoaderHiero.cpp */, - 1E474E11145575CA00178AD5 /* RuleTableLoader.h */, - 1ED0FDEB124BB9380029177F /* ScoreComponentCollection.cpp */, - 1ED0FDEC124BB9380029177F /* ScoreComponentCollection.h */, - 1ED0FDED124BB9380029177F /* ScoreIndexManager.cpp */, - 1ED0FDEE124BB9380029177F /* ScoreIndexManager.h */, - 1ED0FDEF124BB9380029177F /* ScoreProducer.cpp */, - 1ED0FDF0124BB9380029177F /* ScoreProducer.h */, - 1ED0FDF1124BB9380029177F /* Search.cpp */, - 1ED0FDF2124BB9380029177F /* Search.h */, - 1ED0FDF3124BB9380029177F /* SearchCubePruning.cpp */, - 1ED0FDF4124BB9380029177F /* SearchCubePruning.h */, - 1ED0FDF5124BB9380029177F /* SearchNormal.cpp */, - 1ED0FDF6124BB9380029177F /* SearchNormal.h */, - 1ED0FDF7124BB9380029177F /* Sentence.cpp */, - 1ED0FDF8124BB9380029177F /* Sentence.h */, - 1ED0FDF9124BB9380029177F /* SentenceStats.cpp */, - 1ED0FDFA124BB9380029177F /* SentenceStats.h */, - 1ED0FDFB124BB9380029177F /* SquareMatrix.cpp */, - 1ED0FDFC124BB9380029177F /* SquareMatrix.h */, - 1ED0FDFD124BB9380029177F /* StaticData.cpp */, - 1ED0FDFE124BB9380029177F /* StaticData.h */, - 1ED0FDFF124BB9380029177F /* TargetPhrase.cpp */, - 1ED0FE00124BB9380029177F /* TargetPhrase.h */, - 1ED0FE01124BB9380029177F /* TargetPhraseCollection.cpp */, - 1ED0FE02124BB9380029177F /* TargetPhraseCollection.h */, - 1E2E1637132A892800ED4085 /* ThreadPool.cpp */, - 1E2E1638132A892800ED4085 /* ThreadPool.h */, - 1ED0FE03124BB9380029177F /* Timer.cpp */, - 1ED0FE04124BB9380029177F /* Timer.h */, - 1ED0FE05124BB9380029177F /* TranslationOption.cpp */, - 1ED0FE06124BB9380029177F /* TranslationOption.h */, - 1ED0FE07124BB9380029177F /* TranslationOptionCollection.cpp */, - 1ED0FE08124BB9380029177F /* TranslationOptionCollection.h */, - 1ED0FE09124BB9380029177F /* TranslationOptionCollectionConfusionNet.cpp */, - 1ED0FE0A124BB9380029177F /* TranslationOptionCollectionConfusionNet.h */, - 1ED0FE0B124BB9380029177F /* TranslationOptionCollectionText.cpp */, - 1ED0FE0C124BB9380029177F /* TranslationOptionCollectionText.h */, - 1ED0FE0D124BB9380029177F /* TranslationOptionList.cpp */, - 1ED0FE0E124BB9380029177F /* TranslationOptionList.h */, - 1ED0FE0F124BB9380029177F /* TranslationSystem.cpp */, - 1ED0FE10124BB9380029177F /* TranslationSystem.h */, - 1ED0FE11124BB9380029177F /* TreeInput.cpp */, - 1ED0FE12124BB9380029177F /* TreeInput.h */, - 1ED0FE13124BB9380029177F /* TrellisPath.cpp */, - 1ED0FE14124BB9380029177F /* TrellisPath.h */, - 1ED0FE15124BB9380029177F /* TrellisPathCollection.cpp */, - 1ED0FE16124BB9380029177F /* TrellisPathCollection.h */, - 1ED0FE17124BB9380029177F /* TrellisPathList.h */, - 1ED0FE18124BB9380029177F /* TypeDef.h */, - 1ED0FE19124BB9380029177F /* UniqueObject.h */, - 1ED0FE1A124BB9380029177F /* UserMessage.cpp */, - 1ED0FE1B124BB9380029177F /* UserMessage.h */, - 1ED0FE1C124BB9380029177F /* Util.cpp */, - 1ED0FE1D124BB9380029177F /* Util.h */, - 1ED0FE1E124BB9380029177F /* Word.cpp */, - 1ED0FE1F124BB9380029177F /* Word.h */, - 1ED0FE22124BB9380029177F /* WordLattice.cpp */, - 1ED0FE23124BB9380029177F /* WordLattice.h */, - 1ED0FE24124BB9380029177F /* WordsBitmap.cpp */, - 1ED0FE25124BB9380029177F /* WordsBitmap.h */, - 1ED0FE26124BB9380029177F /* WordsRange.cpp */, - 1ED0FE27124BB9380029177F /* WordsRange.h */, - 1ED0FE28124BB9380029177F /* XmlOption.cpp */, - 1ED0FE29124BB9380029177F /* XmlOption.h */, - 1ED0FD88124BB9380029177F /* gzfilebuf.h */, - 1ED0FD89124BB9380029177F /* hash.cpp */, - 1EBB262213A12DB500B51840 /* hash.h */, - 1ED0FD8A124BB9380029177F /* hash.h */, - 1ED0FD8B124BB9380029177F /* hypergraph.proto */, - 1EBB262313A12DB500B51840 /* onlineRLM.h */, - 1E528B9B13A12B2D00E9A67E /* params.cpp */, - 1EBB262413A12DB500B51840 /* params.h */, - 1EBB262513A12DB500B51840 /* perfectHash.h */, - 1EBB262613A12DB500B51840 /* quantizer.h */, - 1ED0FDEA124BB9380029177F /* rule.proto */, ); name = Source; sourceTree = ""; @@ -829,43 +862,70 @@ 1E16D086144DAA3F00B60B4F /* LM */ = { isa = PBXGroup; children = ( - 1E16D087144DAA6C00B60B4F /* Base.cpp */, - 1E16D088144DAA6C00B60B4F /* Base.h */, - 1E16D08B144DAA6C00B60B4F /* Factory.cpp */, - 1E16D08C144DAA6C00B60B4F /* Factory.h */, - 1E16D08D144DAA6C00B60B4F /* Implementation.cpp */, - 1E16D08E144DAA6C00B60B4F /* Implementation.h */, - 1E16D08F144DAA6C00B60B4F /* IRST.cpp */, - 1E16D090144DAA6C00B60B4F /* IRST.h */, - 1E16D091144DAA6C00B60B4F /* Joint.cpp */, - 1E16D092144DAA6C00B60B4F /* Joint.h */, - 1E16D093144DAA6C00B60B4F /* Ken.cpp */, - 1E16D094144DAA6C00B60B4F /* Ken.h */, - 1E16D095144DAA6C00B60B4F /* MultiFactor.cpp */, - 1E16D096144DAA6C00B60B4F /* MultiFactor.h */, - 1E16D099144DAA6C00B60B4F /* ParallelBackoff.cpp */, - 1E16D09A144DAA6C00B60B4F /* ParallelBackoff.h */, - 1E16D09F144DAA6C00B60B4F /* SingleFactor.cpp */, - 1E16D0A0144DAA6C00B60B4F /* SingleFactor.h */, - 1E16D0A1144DAA6C00B60B4F /* SRI.cpp */, - 1E16D0A2144DAA6C00B60B4F /* SRI.h */, ); name = LM; sourceTree = ""; }; - 1ED0FD6B124BB9380029177F /* DynSAInclude */ = { + 1EC7361314B977AA00238410 /* DynSAInclude */ = { isa = PBXGroup; children = ( - 1ED0FD6C124BB9380029177F /* fdstream.h */, - 1ED0FD6D124BB9380029177F /* file.cpp */, - 1ED0FD6E124BB9380029177F /* file.h */, - 1ED0FD6F124BB9380029177F /* types.h */, - 1ED0FD70124BB9380029177F /* utils.h */, - 1ED0FD71124BB9380029177F /* vocab.cpp */, - 1ED0FD72124BB9380029177F /* vocab.h */, + 1EC7361414B977AA00238410 /* fdstream.h */, + 1EC7361514B977AA00238410 /* file.cpp */, + 1EC7361614B977AA00238410 /* file.h */, + 1EC7361714B977AA00238410 /* hash.h */, + 1EC7361814B977AA00238410 /* hash.h.orig */, + 1EC7361914B977AA00238410 /* onlineRLM.h */, + 1EC7361A14B977AA00238410 /* onlineRLM.h.orig */, + 1EC7361B14B977AA00238410 /* params.cpp */, + 1EC7361C14B977AA00238410 /* params.cpp.orig */, + 1EC7361D14B977AA00238410 /* params.h */, + 1EC7361E14B977AA00238410 /* params.h.orig */, + 1EC7361F14B977AA00238410 /* perfectHash.h */, + 1EC7362014B977AA00238410 /* perfectHash.h.orig */, + 1EC7362114B977AA00238410 /* quantizer.h */, + 1EC7362214B977AA00238410 /* quantizer.h.orig */, + 1EC7362314B977AA00238410 /* RandLMCache.h */, + 1EC7362414B977AA00238410 /* RandLMCache.h.orig */, + 1EC7362514B977AA00238410 /* RandLMFilter.h */, + 1EC7362614B977AA00238410 /* RandLMFilter.h.orig */, + 1EC7362714B977AA00238410 /* types.h */, + 1EC7362814B977AA00238410 /* utils.h */, + 1EC7362914B977AA00238410 /* vocab.cpp */, + 1EC7362A14B977AA00238410 /* vocab.cpp.orig */, + 1EC7362B14B977AA00238410 /* vocab.h */, ); name = DynSAInclude; - path = src/DynSAInclude; + path = ../../moses/src/DynSAInclude; + sourceTree = ""; + }; + 1EC7365B14B977AA00238410 /* LM */ = { + isa = PBXGroup; + children = ( + 1EC7365C14B977AA00238410 /* Base.cpp */, + 1EC7365E14B977AA00238410 /* Base.h */, + 1EC7368714B977AA00238410 /* Factory.cpp */, + 1EC7368814B977AA00238410 /* Factory.h */, + 1EC7368914B977AA00238410 /* Implementation.cpp */, + 1EC7368B14B977AA00238410 /* Implementation.h */, + 1EC7368D14B977AA00238410 /* IRST.cpp */, + 1EC7368F14B977AA00238410 /* IRST.h */, + 1EC7369114B977AA00238410 /* Joint.cpp */, + 1EC7369214B977AA00238410 /* Joint.h */, + 1EC7369314B977AA00238410 /* Ken.cpp */, + 1EC7369514B977AA00238410 /* Ken.h */, + 1EC7369714B977AA00238410 /* MultiFactor.cpp */, + 1EC7369814B977AA00238410 /* MultiFactor.h */, + 1EC7369914B977AA00238410 /* ORLM.cpp */, + 1EC7369B14B977AA00238410 /* ORLM.h */, + 1EC736A314B977AA00238410 /* Remote.cpp */, + 1EC736A414B977AA00238410 /* Remote.h */, + 1EC736A514B977AA00238410 /* SingleFactor.cpp */, + 1EC736A614B977AA00238410 /* SingleFactor.h */, + 1EC736A714B977AA00238410 /* SRI.cpp */, + 1EC736A814B977AA00238410 /* SRI.h */, + ); + name = LM; + path = ../../moses/src/LM; sourceTree = ""; }; C6A0FF2B0290797F04C91782 /* Documentation */ = { @@ -882,150 +942,152 @@ isa = PBXHeadersBuildPhase; buildActionMask = 2147483647; files = ( - 1ED0FE2B124BB9380029177F /* AlignmentInfo.h in Headers */, - 1ED0FE2D124BB9380029177F /* BilingualDynSuffixArray.h in Headers */, - 1ED0FE2F124BB9380029177F /* BitmapContainer.h in Headers */, - 1ED0FE30124BB9380029177F /* CellCollection.h in Headers */, - 1ED0FE36124BB9380029177F /* ConfusionNet.h in Headers */, - 1ED0FE38124BB9380029177F /* DecodeFeature.h in Headers */, - 1ED0FE3A124BB9380029177F /* DecodeGraph.h in Headers */, - 1ED0FE3C124BB9380029177F /* DecodeStep.h in Headers */, - 1ED0FE3E124BB9380029177F /* DecodeStepGeneration.h in Headers */, - 1ED0FE40124BB9380029177F /* DecodeStepTranslation.h in Headers */, - 1ED0FE42124BB9380029177F /* Dictionary.h in Headers */, - 1ED0FE44124BB9380029177F /* DotChart.h in Headers */, - 1ED0FE46124BB9380029177F /* DotChartOnDisk.h in Headers */, - 1ED0FE48124BB9380029177F /* DummyScoreProducers.h in Headers */, - 1ED0FE49124BB9380029177F /* fdstream.h in Headers */, - 1ED0FE4B124BB9380029177F /* file.h in Headers */, - 1ED0FE4C124BB9380029177F /* types.h in Headers */, - 1ED0FE4D124BB9380029177F /* utils.h in Headers */, - 1ED0FE4F124BB9380029177F /* vocab.h in Headers */, - 1ED0FE51124BB9380029177F /* DynSuffixArray.h in Headers */, - 1ED0FE53124BB9380029177F /* Factor.h in Headers */, - 1ED0FE55124BB9380029177F /* FactorCollection.h in Headers */, - 1ED0FE57124BB9380029177F /* FactorTypeSet.h in Headers */, - 1ED0FE59124BB9380029177F /* FeatureFunction.h in Headers */, - 1ED0FE5B124BB9380029177F /* FFState.h in Headers */, - 1ED0FE5D124BB9380029177F /* File.h in Headers */, - 1ED0FE5E124BB9380029177F /* FilePtr.h in Headers */, - 1ED0FE60124BB9380029177F /* FloydWarshall.h in Headers */, - 1ED0FE62124BB9380029177F /* GenerationDictionary.h in Headers */, - 1ED0FE64124BB9380029177F /* GlobalLexicalModel.h in Headers */, - 1ED0FE65124BB9380029177F /* gzfilebuf.h in Headers */, - 1ED0FE67124BB9380029177F /* hash.h in Headers */, - 1ED0FE69124BB9380029177F /* Hypothesis.h in Headers */, - 1ED0FE6B124BB9380029177F /* HypothesisStack.h in Headers */, - 1ED0FE6D124BB9380029177F /* HypothesisStackCubePruning.h in Headers */, - 1ED0FE6F124BB9380029177F /* HypothesisStackNormal.h in Headers */, - 1ED0FE71124BB9380029177F /* InputFileStream.h in Headers */, - 1ED0FE73124BB9380029177F /* InputType.h in Headers */, - 1ED0FE90124BB9380029177F /* LexicalReordering.h in Headers */, - 1ED0FE92124BB9380029177F /* LexicalReorderingState.h in Headers */, - 1ED0FE94124BB9380029177F /* LexicalReorderingTable.h in Headers */, - 1ED0FE96124BB9380029177F /* LMList.h in Headers */, - 1ED0FE98124BB9380029177F /* LVoc.h in Headers */, - 1ED0FE9B124BB9380029177F /* Manager.h in Headers */, - 1ED0FEA0124BB9380029177F /* ObjectPool.h in Headers */, - 1ED0FEA2124BB9380029177F /* Parameter.h in Headers */, - 1ED0FEA4124BB9380029177F /* PartialTranslOptColl.h in Headers */, - 1ED0FEA6124BB9380029177F /* PCNTools.h in Headers */, - 1ED0FEA7124BB9380029177F /* PDTAimp.h in Headers */, - 1ED0FEA9124BB9380029177F /* Phrase.h in Headers */, - 1ED0FEAB124BB9380029177F /* PhraseDictionary.h in Headers */, - 1ED0FEAD124BB9380029177F /* PhraseDictionaryDynSuffixArray.h in Headers */, - 1ED0FEAF124BB9380029177F /* PhraseDictionaryMemory.h in Headers */, - 1ED0FEB1124BB9380029177F /* PhraseDictionaryNode.h in Headers */, - 1ED0FEB3124BB9380029177F /* PhraseDictionaryNodeSCFG.h in Headers */, - 1ED0FEB5124BB9380029177F /* PhraseDictionaryOnDisk.h in Headers */, - 1ED0FEBA124BB9380029177F /* PhraseDictionaryTree.h in Headers */, - 1ED0FEBC124BB9380029177F /* PhraseDictionaryTreeAdaptor.h in Headers */, - 1ED0FEBD124BB9380029177F /* PrefixTree.h in Headers */, - 1ED0FEBF124BB9380029177F /* PrefixTreeMap.h in Headers */, - 1ED0FEC1124BB9380029177F /* ReorderingConstraint.h in Headers */, - 1ED0FEC3124BB9380029177F /* ReorderingStack.h in Headers */, - 1ED0FEC5124BB9380029177F /* ScoreComponentCollection.h in Headers */, - 1ED0FEC7124BB9380029177F /* ScoreIndexManager.h in Headers */, - 1ED0FEC9124BB9380029177F /* ScoreProducer.h in Headers */, - 1ED0FECB124BB9380029177F /* Search.h in Headers */, - 1ED0FECD124BB9380029177F /* SearchCubePruning.h in Headers */, - 1ED0FECF124BB9380029177F /* SearchNormal.h in Headers */, - 1ED0FED1124BB9380029177F /* Sentence.h in Headers */, - 1ED0FED3124BB9380029177F /* SentenceStats.h in Headers */, - 1ED0FED5124BB9380029177F /* SquareMatrix.h in Headers */, - 1ED0FED7124BB9380029177F /* StaticData.h in Headers */, - 1ED0FED9124BB9380029177F /* TargetPhrase.h in Headers */, - 1ED0FEDB124BB9380029177F /* TargetPhraseCollection.h in Headers */, - 1ED0FEDD124BB9380029177F /* Timer.h in Headers */, - 1ED0FEDF124BB9380029177F /* TranslationOption.h in Headers */, - 1ED0FEE1124BB9380029177F /* TranslationOptionCollection.h in Headers */, - 1ED0FEE3124BB9380029177F /* TranslationOptionCollectionConfusionNet.h in Headers */, - 1ED0FEE5124BB9380029177F /* TranslationOptionCollectionText.h in Headers */, - 1ED0FEE7124BB9380029177F /* TranslationOptionList.h in Headers */, - 1ED0FEE9124BB9380029177F /* TranslationSystem.h in Headers */, - 1ED0FEEB124BB9380029177F /* TreeInput.h in Headers */, - 1ED0FEED124BB9380029177F /* TrellisPath.h in Headers */, - 1ED0FEEF124BB9380029177F /* TrellisPathCollection.h in Headers */, - 1ED0FEF0124BB9380029177F /* TrellisPathList.h in Headers */, - 1ED0FEF1124BB9380029177F /* TypeDef.h in Headers */, - 1ED0FEF2124BB9380029177F /* UniqueObject.h in Headers */, - 1ED0FEF4124BB9380029177F /* UserMessage.h in Headers */, - 1ED0FEF6124BB9380029177F /* Util.h in Headers */, - 1ED0FEF8124BB9380029177F /* Word.h in Headers */, - 1ED0FEFC124BB9380029177F /* WordLattice.h in Headers */, - 1ED0FEFE124BB9380029177F /* WordsBitmap.h in Headers */, - 1ED0FF00124BB9380029177F /* WordsRange.h in Headers */, - 1ED0FF02124BB9380029177F /* XmlOption.h in Headers */, - 1ED0FFD4124BC0BF0029177F /* ChartTranslationOptionList.h in Headers */, - 1ED00037124BC2690029177F /* ChartTranslationOption.h in Headers */, - 1EEB43EE1264A6F200739BA5 /* PhraseDictionarySCFG.h in Headers */, - 1E1C589612F310A70067DEB7 /* ChartRuleLookupManagerMemory.h in Headers */, - 1E1C589812F310A70067DEB7 /* ChartRuleLookupManagerOnDisk.h in Headers */, - 1E2E161B132A890D00ED4085 /* ChartCell.h in Headers */, - 1E2E161D132A890D00ED4085 /* ChartCellCollection.h in Headers */, - 1E2E161F132A890D00ED4085 /* ChartHypothesis.h in Headers */, - 1E2E1621132A890D00ED4085 /* ChartHypothesisCollection.h in Headers */, - 1E2E1623132A890D00ED4085 /* ChartManager.h in Headers */, - 1E2E1625132A890D00ED4085 /* ChartTranslationOptionCollection.h in Headers */, - 1E2E1627132A890D00ED4085 /* ChartTrellisNode.h in Headers */, - 1E2E1629132A890D00ED4085 /* ChartTrellisPath.h in Headers */, - 1E2E162D132A890D00ED4085 /* ChartTrellisPathList.h in Headers */, - 1E2E1639132A892800ED4085 /* OutputCollector.h in Headers */, - 1E2E163B132A892800ED4085 /* RuleCube.h in Headers */, - 1E2E163D132A892800ED4085 /* RuleCubeQueue.h in Headers */, - 1E2E163F132A892800ED4085 /* ThreadPool.h in Headers */, - 1EE58DA0133726C700D93158 /* NonTerminal.h in Headers */, - 1EBB262913A12DB500B51840 /* hash.h in Headers */, - 1EBB262A13A12DB500B51840 /* onlineRLM.h in Headers */, - 1EBB262B13A12DB500B51840 /* params.h in Headers */, - 1EBB262C13A12DB500B51840 /* perfectHash.h in Headers */, - 1EBB262D13A12DB500B51840 /* quantizer.h in Headers */, - 1EBB262E13A12DB500B51840 /* RandLMCache.h in Headers */, - 1EBB262F13A12DB500B51840 /* RandLMFilter.h in Headers */, - 1E07292013B3854D004454FD /* AlignmentInfoCollection.h in Headers */, - 1E46B5A713BA5C7F0084F898 /* RuleCubeItem.h in Headers */, - 1EA6AB4B13BCC838004465AF /* ChartRuleLookupManager.h in Headers */, - 1ED22EE613DD96B0000DE8C9 /* DotChartInMemory.h in Headers */, - 1ED0DE2A1432A0D200C20FBE /* RuleTableLoaderCompact.h in Headers */, - 1ED0DE2D1432A0D200C20FBE /* RuleTableLoaderFactory.h in Headers */, - 1ED0DE301432A0D200C20FBE /* RuleTableLoaderStandard.h in Headers */, - 1E16D0A4144DAA6C00B60B4F /* Base.h in Headers */, - 1E16D0A8144DAA6C00B60B4F /* Factory.h in Headers */, - 1E16D0AA144DAA6C00B60B4F /* Implementation.h in Headers */, - 1E16D0AC144DAA6C00B60B4F /* IRST.h in Headers */, - 1E16D0AE144DAA6C00B60B4F /* Joint.h in Headers */, - 1E16D0B0144DAA6C00B60B4F /* Ken.h in Headers */, - 1E16D0B2144DAA6C00B60B4F /* MultiFactor.h in Headers */, - 1E16D0B6144DAA6C00B60B4F /* ParallelBackoff.h in Headers */, - 1E16D0BC144DAA6C00B60B4F /* SingleFactor.h in Headers */, - 1E16D0BE144DAA6C00B60B4F /* SRI.h in Headers */, - 1E474E12145575CA00178AD5 /* RuleTableLoader.h in Headers */, - 1E078C1C14643AED00A707F4 /* PhraseDictionaryHiero.h in Headers */, - 1E078C21146440A900A707F4 /* RuleTableLoaderHiero.h in Headers */, - 1E2755B614667CC3009D1DF9 /* PhraseDictionaryALSuffixArray.h in Headers */, - 1ECA43AF146D585900209CEF /* ChartCellLabelSet.h in Headers */, - 1ECA43B4146D586D00209CEF /* ChartTrellisDetour.h in Headers */, - 1ECA43B6146D586D00209CEF /* ChartTrellisDetourQueue.h in Headers */, + 1EC7374714B977AB00238410 /* AlignmentInfo.h in Headers */, + 1EC7374914B977AB00238410 /* AlignmentInfoCollection.h in Headers */, + 1EC7374B14B977AB00238410 /* BilingualDynSuffixArray.h in Headers */, + 1EC7374D14B977AB00238410 /* BitmapContainer.h in Headers */, + 1EC7374E14B977AB00238410 /* CellCollection.h in Headers */, + 1EC7375014B977AB00238410 /* ChartCell.h in Headers */, + 1EC7375214B977AB00238410 /* ChartCellCollection.h in Headers */, + 1EC7375314B977AB00238410 /* ChartCellLabel.h in Headers */, + 1EC7375414B977AB00238410 /* ChartCellLabelSet.h in Headers */, + 1EC7375614B977AB00238410 /* ChartHypothesis.h in Headers */, + 1EC7375814B977AB00238410 /* ChartHypothesisCollection.h in Headers */, + 1EC7375A14B977AB00238410 /* ChartManager.h in Headers */, + 1EC7375C14B977AB00238410 /* ChartRuleLookupManager.h in Headers */, + 1EC7375E14B977AB00238410 /* ChartRuleLookupManagerMemory.h in Headers */, + 1EC7376014B977AB00238410 /* ChartRuleLookupManagerOnDisk.h in Headers */, + 1EC7376214B977AB00238410 /* ChartTranslationOption.h in Headers */, + 1EC7376414B977AB00238410 /* ChartTranslationOptionCollection.h in Headers */, + 1EC7376614B977AB00238410 /* ChartTranslationOptionList.h in Headers */, + 1EC7376814B977AB00238410 /* ChartTrellisDetour.h in Headers */, + 1EC7376A14B977AB00238410 /* ChartTrellisDetourQueue.h in Headers */, + 1EC7376C14B977AB00238410 /* ChartTrellisNode.h in Headers */, + 1EC7376E14B977AB00238410 /* ChartTrellisPath.h in Headers */, + 1EC7376F14B977AB00238410 /* ChartTrellisPathList.h in Headers */, + 1EC7377114B977AB00238410 /* ConfusionNet.h in Headers */, + 1EC7377314B977AB00238410 /* DecodeFeature.h in Headers */, + 1EC7377514B977AB00238410 /* DecodeGraph.h in Headers */, + 1EC7377714B977AB00238410 /* DecodeStep.h in Headers */, + 1EC7377914B977AB00238410 /* DecodeStepGeneration.h in Headers */, + 1EC7377B14B977AB00238410 /* DecodeStepTranslation.h in Headers */, + 1EC7377D14B977AB00238410 /* Dictionary.h in Headers */, + 1EC7377F14B977AB00238410 /* DotChart.h in Headers */, + 1EC7378114B977AB00238410 /* DotChartInMemory.h in Headers */, + 1EC7378314B977AB00238410 /* DotChartOnDisk.h in Headers */, + 1EC7378514B977AB00238410 /* DummyScoreProducers.h in Headers */, + 1EC7378614B977AB00238410 /* fdstream.h in Headers */, + 1EC7378814B977AB00238410 /* file.h in Headers */, + 1EC7378914B977AB00238410 /* hash.h in Headers */, + 1EC7378A14B977AB00238410 /* onlineRLM.h in Headers */, + 1EC7378C14B977AB00238410 /* params.h in Headers */, + 1EC7378D14B977AB00238410 /* perfectHash.h in Headers */, + 1EC7378E14B977AB00238410 /* quantizer.h in Headers */, + 1EC7378F14B977AB00238410 /* RandLMCache.h in Headers */, + 1EC7379014B977AB00238410 /* RandLMFilter.h in Headers */, + 1EC7379114B977AB00238410 /* types.h in Headers */, + 1EC7379214B977AB00238410 /* utils.h in Headers */, + 1EC7379414B977AB00238410 /* vocab.h in Headers */, + 1EC7379614B977AB00238410 /* DynSuffixArray.h in Headers */, + 1EC7379814B977AB00238410 /* Factor.h in Headers */, + 1EC7379A14B977AB00238410 /* FactorCollection.h in Headers */, + 1EC7379C14B977AB00238410 /* FactorTypeSet.h in Headers */, + 1EC7379E14B977AB00238410 /* FeatureFunction.h in Headers */, + 1EC737A014B977AB00238410 /* FFState.h in Headers */, + 1EC737A214B977AB00238410 /* File.h in Headers */, + 1EC737A314B977AB00238410 /* FilePtr.h in Headers */, + 1EC737A514B977AB00238410 /* FloydWarshall.h in Headers */, + 1EC737A714B977AB00238410 /* GenerationDictionary.h in Headers */, + 1EC737A914B977AB00238410 /* GlobalLexicalModel.h in Headers */, + 1EC737AA14B977AB00238410 /* gzfilebuf.h in Headers */, + 1EC737AC14B977AB00238410 /* hash.h in Headers */, + 1EC737AE14B977AB00238410 /* Hypothesis.h in Headers */, + 1EC737B014B977AB00238410 /* HypothesisStack.h in Headers */, + 1EC737B214B977AB00238410 /* HypothesisStackCubePruning.h in Headers */, + 1EC737B414B977AB00238410 /* HypothesisStackNormal.h in Headers */, + 1EC737B614B977AB00238410 /* InputFileStream.h in Headers */, + 1EC737B814B977AB00238410 /* InputType.h in Headers */, + 1EC737BC14B977AB00238410 /* LexicalReordering.h in Headers */, + 1EC737BE14B977AB00238410 /* LexicalReorderingState.h in Headers */, + 1EC737C014B977AB00238410 /* LexicalReorderingTable.h in Headers */, + 1EC737C214B977AB00238410 /* Base.h in Headers */, + 1EC737DB14B977AB00238410 /* Factory.h in Headers */, + 1EC737DD14B977AB00238410 /* Implementation.h in Headers */, + 1EC737DF14B977AB00238410 /* IRST.h in Headers */, + 1EC737E214B977AB00238410 /* Joint.h in Headers */, + 1EC737E414B977AB00238410 /* Ken.h in Headers */, + 1EC737E614B977AB00238410 /* MultiFactor.h in Headers */, + 1EC737E814B977AB00238410 /* ORLM.h in Headers */, + 1EC737EE14B977AB00238410 /* Remote.h in Headers */, + 1EC737F014B977AB00238410 /* SingleFactor.h in Headers */, + 1EC737F214B977AB00238410 /* SRI.h in Headers */, + 1EC737F414B977AB00238410 /* LMList.h in Headers */, + 1EC737F614B977AB00238410 /* LVoc.h in Headers */, + 1EC737F814B977AB00238410 /* Manager.h in Headers */, + 1EC737FA14B977AB00238410 /* NonTerminal.h in Headers */, + 1EC737FB14B977AB00238410 /* ObjectPool.h in Headers */, + 1EC737FC14B977AB00238410 /* OutputCollector.h in Headers */, + 1EC737FF14B977AB00238410 /* Parameter.h in Headers */, + 1EC7380114B977AB00238410 /* PartialTranslOptColl.h in Headers */, + 1EC7380314B977AB00238410 /* PCNTools.h in Headers */, + 1EC7380414B977AB00238410 /* PDTAimp.h in Headers */, + 1EC7380614B977AB00238410 /* Phrase.h in Headers */, + 1EC7380814B977AB00238410 /* PhraseDictionary.h in Headers */, + 1EC7380A14B977AB00238410 /* PhraseDictionaryALSuffixArray.h in Headers */, + 1EC7380C14B977AB00238410 /* PhraseDictionaryDynSuffixArray.h in Headers */, + 1EC7380E14B977AB00238410 /* PhraseDictionaryHiero.h in Headers */, + 1EC7381014B977AB00238410 /* PhraseDictionaryMemory.h in Headers */, + 1EC7381214B977AB00238410 /* PhraseDictionaryNode.h in Headers */, + 1EC7381414B977AB00238410 /* PhraseDictionaryNodeSCFG.h in Headers */, + 1EC7381614B977AB00238410 /* PhraseDictionaryOnDisk.h in Headers */, + 1EC7381814B977AB00238410 /* PhraseDictionarySCFG.h in Headers */, + 1EC7381A14B977AB00238410 /* PhraseDictionaryTree.h in Headers */, + 1EC7381C14B977AB00238410 /* PhraseDictionaryTreeAdaptor.h in Headers */, + 1EC7381D14B977AB00238410 /* PrefixTree.h in Headers */, + 1EC7381F14B977AB00238410 /* PrefixTreeMap.h in Headers */, + 1EC7382114B977AB00238410 /* ReorderingConstraint.h in Headers */, + 1EC7382314B977AB00238410 /* ReorderingStack.h in Headers */, + 1EC7382514B977AB00238410 /* RuleCube.h in Headers */, + 1EC7382714B977AB00238410 /* RuleCubeItem.h in Headers */, + 1EC7382914B977AB00238410 /* RuleCubeQueue.h in Headers */, + 1EC7382A14B977AB00238410 /* RuleTableLoader.h in Headers */, + 1EC7382C14B977AB00238410 /* RuleTableLoaderCompact.h in Headers */, + 1EC7382E14B977AB00238410 /* RuleTableLoaderFactory.h in Headers */, + 1EC7383014B977AB00238410 /* RuleTableLoaderHiero.h in Headers */, + 1EC7383214B977AB00238410 /* RuleTableLoaderStandard.h in Headers */, + 1EC7383414B977AB00238410 /* ScoreComponentCollection.h in Headers */, + 1EC7383614B977AB00238410 /* ScoreIndexManager.h in Headers */, + 1EC7383814B977AB00238410 /* ScoreProducer.h in Headers */, + 1EC7383A14B977AB00238410 /* Search.h in Headers */, + 1EC7383C14B977AB00238410 /* SearchCubePruning.h in Headers */, + 1EC7383E14B977AB00238410 /* SearchNormal.h in Headers */, + 1EC7384014B977AB00238410 /* Sentence.h in Headers */, + 1EC7384214B977AB00238410 /* SentenceStats.h in Headers */, + 1EC7384414B977AB00238410 /* SquareMatrix.h in Headers */, + 1EC7384714B977AB00238410 /* StaticData.h in Headers */, + 1EC7384E14B977AB00238410 /* TargetPhrase.h in Headers */, + 1EC7385014B977AB00238410 /* TargetPhraseCollection.h in Headers */, + 1EC7385214B977AB00238410 /* ThreadPool.h in Headers */, + 1EC7385414B977AB00238410 /* Timer.h in Headers */, + 1EC7385614B977AB00238410 /* TranslationOption.h in Headers */, + 1EC7385814B977AB00238410 /* TranslationOptionCollection.h in Headers */, + 1EC7385A14B977AB00238410 /* TranslationOptionCollectionConfusionNet.h in Headers */, + 1EC7385C14B977AB00238410 /* TranslationOptionCollectionText.h in Headers */, + 1EC7385E14B977AB00238410 /* TranslationOptionList.h in Headers */, + 1EC7386014B977AB00238410 /* TranslationSystem.h in Headers */, + 1EC7386214B977AB00238410 /* TreeInput.h in Headers */, + 1EC7386514B977AB00238410 /* TrellisPath.h in Headers */, + 1EC7386814B977AB00238410 /* TrellisPathCollection.h in Headers */, + 1EC7386A14B977AB00238410 /* TrellisPathList.h in Headers */, + 1EC7386B14B977AB00238410 /* TypeDef.h in Headers */, + 1EC7386C14B977AB00238410 /* UniqueObject.h in Headers */, + 1EC7386E14B977AB00238410 /* UserMessage.h in Headers */, + 1EC7387114B977AB00238410 /* Util.h in Headers */, + 1EC7387414B977AB00238410 /* Word.h in Headers */, + 1EC7387714B977AB00238410 /* WordLattice.h in Headers */, + 1EC7387A14B977AB00238410 /* WordsBitmap.h in Headers */, + 1EC7387D14B977AB00238410 /* WordsRange.h in Headers */, + 1EC7388014B977AB00238410 /* XmlOption.h in Headers */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -1081,128 +1143,129 @@ isa = PBXSourcesBuildPhase; buildActionMask = 2147483647; files = ( - 1ED0FE2A124BB9380029177F /* AlignmentInfo.cpp in Sources */, - 1ED0FE2C124BB9380029177F /* BilingualDynSuffixArray.cpp in Sources */, - 1ED0FE2E124BB9380029177F /* BitmapContainer.cpp in Sources */, - 1ED0FE35124BB9380029177F /* ConfusionNet.cpp in Sources */, - 1ED0FE37124BB9380029177F /* DecodeFeature.cpp in Sources */, - 1ED0FE39124BB9380029177F /* DecodeGraph.cpp in Sources */, - 1ED0FE3B124BB9380029177F /* DecodeStep.cpp in Sources */, - 1ED0FE3D124BB9380029177F /* DecodeStepGeneration.cpp in Sources */, - 1ED0FE3F124BB9380029177F /* DecodeStepTranslation.cpp in Sources */, - 1ED0FE41124BB9380029177F /* Dictionary.cpp in Sources */, - 1ED0FE43124BB9380029177F /* DotChart.cpp in Sources */, - 1ED0FE45124BB9380029177F /* DotChartOnDisk.cpp in Sources */, - 1ED0FE47124BB9380029177F /* DummyScoreProducers.cpp in Sources */, - 1ED0FE4A124BB9380029177F /* file.cpp in Sources */, - 1ED0FE4E124BB9380029177F /* vocab.cpp in Sources */, - 1ED0FE50124BB9380029177F /* DynSuffixArray.cpp in Sources */, - 1ED0FE52124BB9380029177F /* Factor.cpp in Sources */, - 1ED0FE54124BB9380029177F /* FactorCollection.cpp in Sources */, - 1ED0FE56124BB9380029177F /* FactorTypeSet.cpp in Sources */, - 1ED0FE58124BB9380029177F /* FeatureFunction.cpp in Sources */, - 1ED0FE5A124BB9380029177F /* FFState.cpp in Sources */, - 1ED0FE5C124BB9380029177F /* File.cpp in Sources */, - 1ED0FE5F124BB9380029177F /* FloydWarshall.cpp in Sources */, - 1ED0FE61124BB9380029177F /* GenerationDictionary.cpp in Sources */, - 1ED0FE63124BB9380029177F /* GlobalLexicalModel.cpp in Sources */, - 1ED0FE66124BB9380029177F /* hash.cpp in Sources */, - 1ED0FE68124BB9380029177F /* Hypothesis.cpp in Sources */, - 1ED0FE6A124BB9380029177F /* HypothesisStack.cpp in Sources */, - 1ED0FE6C124BB9380029177F /* HypothesisStackCubePruning.cpp in Sources */, - 1ED0FE6E124BB9380029177F /* HypothesisStackNormal.cpp in Sources */, - 1ED0FE70124BB9380029177F /* InputFileStream.cpp in Sources */, - 1ED0FE72124BB9380029177F /* InputType.cpp in Sources */, - 1ED0FE8F124BB9380029177F /* LexicalReordering.cpp in Sources */, - 1ED0FE91124BB9380029177F /* LexicalReorderingState.cpp in Sources */, - 1ED0FE93124BB9380029177F /* LexicalReorderingTable.cpp in Sources */, - 1ED0FE95124BB9380029177F /* LMList.cpp in Sources */, - 1ED0FE97124BB9380029177F /* LVoc.cpp in Sources */, - 1ED0FE9A124BB9380029177F /* Manager.cpp in Sources */, - 1ED0FEA1124BB9380029177F /* Parameter.cpp in Sources */, - 1ED0FEA3124BB9380029177F /* PartialTranslOptColl.cpp in Sources */, - 1ED0FEA5124BB9380029177F /* PCNTools.cpp in Sources */, - 1ED0FEA8124BB9380029177F /* Phrase.cpp in Sources */, - 1ED0FEAA124BB9380029177F /* PhraseDictionary.cpp in Sources */, - 1ED0FEAC124BB9380029177F /* PhraseDictionaryDynSuffixArray.cpp in Sources */, - 1ED0FEAE124BB9380029177F /* PhraseDictionaryMemory.cpp in Sources */, - 1ED0FEB0124BB9380029177F /* PhraseDictionaryNode.cpp in Sources */, - 1ED0FEB2124BB9380029177F /* PhraseDictionaryNodeSCFG.cpp in Sources */, - 1ED0FEB4124BB9380029177F /* PhraseDictionaryOnDisk.cpp in Sources */, - 1ED0FEB7124BB9380029177F /* PhraseDictionarySCFG.cpp in Sources */, - 1ED0FEB9124BB9380029177F /* PhraseDictionaryTree.cpp in Sources */, - 1ED0FEBB124BB9380029177F /* PhraseDictionaryTreeAdaptor.cpp in Sources */, - 1ED0FEBE124BB9380029177F /* PrefixTreeMap.cpp in Sources */, - 1ED0FEC0124BB9380029177F /* ReorderingConstraint.cpp in Sources */, - 1ED0FEC2124BB9380029177F /* ReorderingStack.cpp in Sources */, - 1ED0FEC4124BB9380029177F /* ScoreComponentCollection.cpp in Sources */, - 1ED0FEC6124BB9380029177F /* ScoreIndexManager.cpp in Sources */, - 1ED0FEC8124BB9380029177F /* ScoreProducer.cpp in Sources */, - 1ED0FECA124BB9380029177F /* Search.cpp in Sources */, - 1ED0FECC124BB9380029177F /* SearchCubePruning.cpp in Sources */, - 1ED0FECE124BB9380029177F /* SearchNormal.cpp in Sources */, - 1ED0FED0124BB9380029177F /* Sentence.cpp in Sources */, - 1ED0FED2124BB9380029177F /* SentenceStats.cpp in Sources */, - 1ED0FED4124BB9380029177F /* SquareMatrix.cpp in Sources */, - 1ED0FED6124BB9380029177F /* StaticData.cpp in Sources */, - 1ED0FED8124BB9380029177F /* TargetPhrase.cpp in Sources */, - 1ED0FEDA124BB9380029177F /* TargetPhraseCollection.cpp in Sources */, - 1ED0FEDC124BB9380029177F /* Timer.cpp in Sources */, - 1ED0FEDE124BB9380029177F /* TranslationOption.cpp in Sources */, - 1ED0FEE0124BB9380029177F /* TranslationOptionCollection.cpp in Sources */, - 1ED0FEE2124BB9380029177F /* TranslationOptionCollectionConfusionNet.cpp in Sources */, - 1ED0FEE4124BB9380029177F /* TranslationOptionCollectionText.cpp in Sources */, - 1ED0FEE6124BB9380029177F /* TranslationOptionList.cpp in Sources */, - 1ED0FEE8124BB9380029177F /* TranslationSystem.cpp in Sources */, - 1ED0FEEA124BB9380029177F /* TreeInput.cpp in Sources */, - 1ED0FEEC124BB9380029177F /* TrellisPath.cpp in Sources */, - 1ED0FEEE124BB9380029177F /* TrellisPathCollection.cpp in Sources */, - 1ED0FEF3124BB9380029177F /* UserMessage.cpp in Sources */, - 1ED0FEF5124BB9380029177F /* Util.cpp in Sources */, - 1ED0FEF7124BB9380029177F /* Word.cpp in Sources */, - 1ED0FEFB124BB9380029177F /* WordLattice.cpp in Sources */, - 1ED0FEFD124BB9380029177F /* WordsBitmap.cpp in Sources */, - 1ED0FEFF124BB9380029177F /* WordsRange.cpp in Sources */, - 1ED0FF01124BB9380029177F /* XmlOption.cpp in Sources */, - 1ED0FFD3124BC0BF0029177F /* ChartTranslationOptionList.cpp in Sources */, - 1ED00036124BC2690029177F /* ChartTranslationOption.cpp in Sources */, - 1E1C589512F310A70067DEB7 /* ChartRuleLookupManagerMemory.cpp in Sources */, - 1E1C589712F310A70067DEB7 /* ChartRuleLookupManagerOnDisk.cpp in Sources */, - 1E2E161A132A890D00ED4085 /* ChartCell.cpp in Sources */, - 1E2E161C132A890D00ED4085 /* ChartCellCollection.cpp in Sources */, - 1E2E161E132A890D00ED4085 /* ChartHypothesis.cpp in Sources */, - 1E2E1620132A890D00ED4085 /* ChartHypothesisCollection.cpp in Sources */, - 1E2E1622132A890D00ED4085 /* ChartManager.cpp in Sources */, - 1E2E1624132A890D00ED4085 /* ChartTranslationOptionCollection.cpp in Sources */, - 1E2E1626132A890D00ED4085 /* ChartTrellisNode.cpp in Sources */, - 1E2E1628132A890D00ED4085 /* ChartTrellisPath.cpp in Sources */, - 1E2E163A132A892800ED4085 /* RuleCube.cpp in Sources */, - 1E2E163C132A892800ED4085 /* RuleCubeQueue.cpp in Sources */, - 1E2E163E132A892800ED4085 /* ThreadPool.cpp in Sources */, - 1EE58D9F133726C700D93158 /* NonTerminal.cpp in Sources */, - 1E528B9D13A12B2D00E9A67E /* params.cpp in Sources */, - 1E07291F13B3854D004454FD /* AlignmentInfoCollection.cpp in Sources */, - 1E46B5A613BA5C7F0084F898 /* RuleCubeItem.cpp in Sources */, - 1EA6AB4A13BCC838004465AF /* ChartRuleLookupManager.cpp in Sources */, - 1ED22EE513DD96B0000DE8C9 /* DotChartInMemory.cpp in Sources */, - 1ED0DE291432A0D200C20FBE /* RuleTableLoaderCompact.cpp in Sources */, - 1ED0DE2C1432A0D200C20FBE /* RuleTableLoaderFactory.cpp in Sources */, - 1ED0DE2F1432A0D200C20FBE /* RuleTableLoaderStandard.cpp in Sources */, - 1E16D0A3144DAA6C00B60B4F /* Base.cpp in Sources */, - 1E16D0A7144DAA6C00B60B4F /* Factory.cpp in Sources */, - 1E16D0A9144DAA6C00B60B4F /* Implementation.cpp in Sources */, - 1E16D0AB144DAA6C00B60B4F /* IRST.cpp in Sources */, - 1E16D0AD144DAA6C00B60B4F /* Joint.cpp in Sources */, - 1E16D0AF144DAA6C00B60B4F /* Ken.cpp in Sources */, - 1E16D0B1144DAA6C00B60B4F /* MultiFactor.cpp in Sources */, - 1E16D0B5144DAA6C00B60B4F /* ParallelBackoff.cpp in Sources */, - 1E16D0BB144DAA6C00B60B4F /* SingleFactor.cpp in Sources */, - 1E16D0BD144DAA6C00B60B4F /* SRI.cpp in Sources */, - 1E078C1F14643C2000A707F4 /* PhraseDictionaryHiero.cpp in Sources */, - 1E078C23146440F700A707F4 /* RuleTableLoaderHiero.cpp in Sources */, - 1E2755B314667CA4009D1DF9 /* PhraseDictionaryALSuffixArray.cpp in Sources */, - 1ECA43B0146D585900209CEF /* ChartTrellisDetour.cpp in Sources */, - 1ECA43B5146D586D00209CEF /* ChartTrellisDetourQueue.cpp in Sources */, + 1EC7374614B977AB00238410 /* AlignmentInfo.cpp in Sources */, + 1EC7374814B977AB00238410 /* AlignmentInfoCollection.cpp in Sources */, + 1EC7374A14B977AB00238410 /* BilingualDynSuffixArray.cpp in Sources */, + 1EC7374C14B977AB00238410 /* BitmapContainer.cpp in Sources */, + 1EC7374F14B977AB00238410 /* ChartCell.cpp in Sources */, + 1EC7375114B977AB00238410 /* ChartCellCollection.cpp in Sources */, + 1EC7375514B977AB00238410 /* ChartHypothesis.cpp in Sources */, + 1EC7375714B977AB00238410 /* ChartHypothesisCollection.cpp in Sources */, + 1EC7375914B977AB00238410 /* ChartManager.cpp in Sources */, + 1EC7375B14B977AB00238410 /* ChartRuleLookupManager.cpp in Sources */, + 1EC7375D14B977AB00238410 /* ChartRuleLookupManagerMemory.cpp in Sources */, + 1EC7375F14B977AB00238410 /* ChartRuleLookupManagerOnDisk.cpp in Sources */, + 1EC7376114B977AB00238410 /* ChartTranslationOption.cpp in Sources */, + 1EC7376314B977AB00238410 /* ChartTranslationOptionCollection.cpp in Sources */, + 1EC7376514B977AB00238410 /* ChartTranslationOptionList.cpp in Sources */, + 1EC7376714B977AB00238410 /* ChartTrellisDetour.cpp in Sources */, + 1EC7376914B977AB00238410 /* ChartTrellisDetourQueue.cpp in Sources */, + 1EC7376B14B977AB00238410 /* ChartTrellisNode.cpp in Sources */, + 1EC7376D14B977AB00238410 /* ChartTrellisPath.cpp in Sources */, + 1EC7377014B977AB00238410 /* ConfusionNet.cpp in Sources */, + 1EC7377214B977AB00238410 /* DecodeFeature.cpp in Sources */, + 1EC7377414B977AB00238410 /* DecodeGraph.cpp in Sources */, + 1EC7377614B977AB00238410 /* DecodeStep.cpp in Sources */, + 1EC7377814B977AB00238410 /* DecodeStepGeneration.cpp in Sources */, + 1EC7377A14B977AB00238410 /* DecodeStepTranslation.cpp in Sources */, + 1EC7377C14B977AB00238410 /* Dictionary.cpp in Sources */, + 1EC7377E14B977AB00238410 /* DotChart.cpp in Sources */, + 1EC7378014B977AB00238410 /* DotChartInMemory.cpp in Sources */, + 1EC7378214B977AB00238410 /* DotChartOnDisk.cpp in Sources */, + 1EC7378414B977AB00238410 /* DummyScoreProducers.cpp in Sources */, + 1EC7378714B977AB00238410 /* file.cpp in Sources */, + 1EC7378B14B977AB00238410 /* params.cpp in Sources */, + 1EC7379314B977AB00238410 /* vocab.cpp in Sources */, + 1EC7379514B977AB00238410 /* DynSuffixArray.cpp in Sources */, + 1EC7379714B977AB00238410 /* Factor.cpp in Sources */, + 1EC7379914B977AB00238410 /* FactorCollection.cpp in Sources */, + 1EC7379B14B977AB00238410 /* FactorTypeSet.cpp in Sources */, + 1EC7379D14B977AB00238410 /* FeatureFunction.cpp in Sources */, + 1EC7379F14B977AB00238410 /* FFState.cpp in Sources */, + 1EC737A114B977AB00238410 /* File.cpp in Sources */, + 1EC737A414B977AB00238410 /* FloydWarshall.cpp in Sources */, + 1EC737A614B977AB00238410 /* GenerationDictionary.cpp in Sources */, + 1EC737A814B977AB00238410 /* GlobalLexicalModel.cpp in Sources */, + 1EC737AB14B977AB00238410 /* hash.cpp in Sources */, + 1EC737AD14B977AB00238410 /* Hypothesis.cpp in Sources */, + 1EC737AF14B977AB00238410 /* HypothesisStack.cpp in Sources */, + 1EC737B114B977AB00238410 /* HypothesisStackCubePruning.cpp in Sources */, + 1EC737B314B977AB00238410 /* HypothesisStackNormal.cpp in Sources */, + 1EC737B514B977AB00238410 /* InputFileStream.cpp in Sources */, + 1EC737B714B977AB00238410 /* InputType.cpp in Sources */, + 1EC737BB14B977AB00238410 /* LexicalReordering.cpp in Sources */, + 1EC737BD14B977AB00238410 /* LexicalReorderingState.cpp in Sources */, + 1EC737BF14B977AB00238410 /* LexicalReorderingTable.cpp in Sources */, + 1EC737C114B977AB00238410 /* Base.cpp in Sources */, + 1EC737DA14B977AB00238410 /* Factory.cpp in Sources */, + 1EC737DC14B977AB00238410 /* Implementation.cpp in Sources */, + 1EC737DE14B977AB00238410 /* IRST.cpp in Sources */, + 1EC737E114B977AB00238410 /* Joint.cpp in Sources */, + 1EC737E314B977AB00238410 /* Ken.cpp in Sources */, + 1EC737E514B977AB00238410 /* MultiFactor.cpp in Sources */, + 1EC737E714B977AB00238410 /* ORLM.cpp in Sources */, + 1EC737ED14B977AB00238410 /* Remote.cpp in Sources */, + 1EC737EF14B977AB00238410 /* SingleFactor.cpp in Sources */, + 1EC737F114B977AB00238410 /* SRI.cpp in Sources */, + 1EC737F314B977AB00238410 /* LMList.cpp in Sources */, + 1EC737F514B977AB00238410 /* LVoc.cpp in Sources */, + 1EC737F714B977AB00238410 /* Manager.cpp in Sources */, + 1EC737F914B977AB00238410 /* NonTerminal.cpp in Sources */, + 1EC737FE14B977AB00238410 /* Parameter.cpp in Sources */, + 1EC7380014B977AB00238410 /* PartialTranslOptColl.cpp in Sources */, + 1EC7380214B977AB00238410 /* PCNTools.cpp in Sources */, + 1EC7380514B977AB00238410 /* Phrase.cpp in Sources */, + 1EC7380714B977AB00238410 /* PhraseDictionary.cpp in Sources */, + 1EC7380914B977AB00238410 /* PhraseDictionaryALSuffixArray.cpp in Sources */, + 1EC7380B14B977AB00238410 /* PhraseDictionaryDynSuffixArray.cpp in Sources */, + 1EC7380D14B977AB00238410 /* PhraseDictionaryHiero.cpp in Sources */, + 1EC7380F14B977AB00238410 /* PhraseDictionaryMemory.cpp in Sources */, + 1EC7381114B977AB00238410 /* PhraseDictionaryNode.cpp in Sources */, + 1EC7381314B977AB00238410 /* PhraseDictionaryNodeSCFG.cpp in Sources */, + 1EC7381514B977AB00238410 /* PhraseDictionaryOnDisk.cpp in Sources */, + 1EC7381714B977AB00238410 /* PhraseDictionarySCFG.cpp in Sources */, + 1EC7381914B977AB00238410 /* PhraseDictionaryTree.cpp in Sources */, + 1EC7381B14B977AB00238410 /* PhraseDictionaryTreeAdaptor.cpp in Sources */, + 1EC7381E14B977AB00238410 /* PrefixTreeMap.cpp in Sources */, + 1EC7382014B977AB00238410 /* ReorderingConstraint.cpp in Sources */, + 1EC7382214B977AB00238410 /* ReorderingStack.cpp in Sources */, + 1EC7382414B977AB00238410 /* RuleCube.cpp in Sources */, + 1EC7382614B977AB00238410 /* RuleCubeItem.cpp in Sources */, + 1EC7382814B977AB00238410 /* RuleCubeQueue.cpp in Sources */, + 1EC7382B14B977AB00238410 /* RuleTableLoaderCompact.cpp in Sources */, + 1EC7382D14B977AB00238410 /* RuleTableLoaderFactory.cpp in Sources */, + 1EC7382F14B977AB00238410 /* RuleTableLoaderHiero.cpp in Sources */, + 1EC7383114B977AB00238410 /* RuleTableLoaderStandard.cpp in Sources */, + 1EC7383314B977AB00238410 /* ScoreComponentCollection.cpp in Sources */, + 1EC7383514B977AB00238410 /* ScoreIndexManager.cpp in Sources */, + 1EC7383714B977AB00238410 /* ScoreProducer.cpp in Sources */, + 1EC7383914B977AB00238410 /* Search.cpp in Sources */, + 1EC7383B14B977AB00238410 /* SearchCubePruning.cpp in Sources */, + 1EC7383D14B977AB00238410 /* SearchNormal.cpp in Sources */, + 1EC7383F14B977AB00238410 /* Sentence.cpp in Sources */, + 1EC7384114B977AB00238410 /* SentenceStats.cpp in Sources */, + 1EC7384314B977AB00238410 /* SquareMatrix.cpp in Sources */, + 1EC7384614B977AB00238410 /* StaticData.cpp in Sources */, + 1EC7384D14B977AB00238410 /* TargetPhrase.cpp in Sources */, + 1EC7384F14B977AB00238410 /* TargetPhraseCollection.cpp in Sources */, + 1EC7385114B977AB00238410 /* ThreadPool.cpp in Sources */, + 1EC7385314B977AB00238410 /* Timer.cpp in Sources */, + 1EC7385514B977AB00238410 /* TranslationOption.cpp in Sources */, + 1EC7385714B977AB00238410 /* TranslationOptionCollection.cpp in Sources */, + 1EC7385914B977AB00238410 /* TranslationOptionCollectionConfusionNet.cpp in Sources */, + 1EC7385B14B977AB00238410 /* TranslationOptionCollectionText.cpp in Sources */, + 1EC7385D14B977AB00238410 /* TranslationOptionList.cpp in Sources */, + 1EC7385F14B977AB00238410 /* TranslationSystem.cpp in Sources */, + 1EC7386114B977AB00238410 /* TreeInput.cpp in Sources */, + 1EC7386414B977AB00238410 /* TrellisPath.cpp in Sources */, + 1EC7386714B977AB00238410 /* TrellisPathCollection.cpp in Sources */, + 1EC7386D14B977AB00238410 /* UserMessage.cpp in Sources */, + 1EC7387014B977AB00238410 /* Util.cpp in Sources */, + 1EC7387314B977AB00238410 /* Word.cpp in Sources */, + 1EC7387614B977AB00238410 /* WordLattice.cpp in Sources */, + 1EC7387914B977AB00238410 /* WordsBitmap.cpp in Sources */, + 1EC7387C14B977AB00238410 /* WordsRange.cpp in Sources */, + 1EC7387F14B977AB00238410 /* XmlOption.cpp in Sources */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -1228,18 +1291,26 @@ _LARGE_FILES, ); HEADER_SEARCH_PATHS = ( - ../, - src, - ../irstlm/include, - ../srilm/include, - ../kenlm, - ../randlm/include, - ../, + ../.., + ../../moses/src, + ../../irstlm/include, + ../../srilm/include, + ../../kenlm, + ../../randlm/include, /opt/local/include, - ../synlm/hhmm/wsjparse/include, - ../synlm/hhmm/rvtl/include/, + ../../synlm/hhmm/wsjparse/include, + ../../synlm/hhmm/rvtl/include/, ); INSTALL_PATH = /usr/local/lib; + LIBRARY_SEARCH_PATHS = ( + "$(inherited)", + "\"$(SRCROOT)/../../moses/src/bin/darwin-4.2.1/release/debug-symbols-on/link-static/threading-multi\"", + "\"$(SRCROOT)/../../moses/src/bin/darwin-4.2.1/release/link-static/threading-multi\"", + "\"$(SRCROOT)/../../moses/src/bin/gcc-4.2.1/release/debug-symbols-on/link-static/threading-multi\"", + "\"$(SRCROOT)/../../moses/src/LM/bin/darwin-4.2.1/release/debug-symbols-on/link-static/threading-multi\"", + "\"$(SRCROOT)/../../moses/src/LM/bin/darwin-4.2.1/release/link-static/threading-multi\"", + "\"$(SRCROOT)/../../moses/src/LM/bin/gcc-4.2.1/release/debug-symbols-on/link-static/threading-multi\"", + ); PRODUCT_NAME = moses; }; name = Debug; @@ -1261,18 +1332,26 @@ _LARGE_FILES, ); HEADER_SEARCH_PATHS = ( - ../, - src, - ../irstlm/include, - ../srilm/include, - ../kenlm, - ../randlm/include, - ../, + ../.., + ../../moses/src, + ../../irstlm/include, + ../../srilm/include, + ../../kenlm, + ../../randlm/include, /opt/local/include, - ../synlm/hhmm/wsjparse/include, - ../synlm/hhmm/rvtl/include/, + ../../synlm/hhmm/wsjparse/include, + ../../synlm/hhmm/rvtl/include/, ); INSTALL_PATH = /usr/local/lib; + LIBRARY_SEARCH_PATHS = ( + "$(inherited)", + "\"$(SRCROOT)/../../moses/src/bin/darwin-4.2.1/release/debug-symbols-on/link-static/threading-multi\"", + "\"$(SRCROOT)/../../moses/src/bin/darwin-4.2.1/release/link-static/threading-multi\"", + "\"$(SRCROOT)/../../moses/src/bin/gcc-4.2.1/release/debug-symbols-on/link-static/threading-multi\"", + "\"$(SRCROOT)/../../moses/src/LM/bin/darwin-4.2.1/release/debug-symbols-on/link-static/threading-multi\"", + "\"$(SRCROOT)/../../moses/src/LM/bin/darwin-4.2.1/release/link-static/threading-multi\"", + "\"$(SRCROOT)/../../moses/src/LM/bin/gcc-4.2.1/release/debug-symbols-on/link-static/threading-multi\"", + ); PRODUCT_NAME = moses; }; name = Release; From ebbe0a3aba955ab2fabd93290ccc08cf274bdc71 Mon Sep 17 00:00:00 2001 From: Hieu Hoang Date: Sun, 8 Jan 2012 14:19:23 +0700 Subject: [PATCH 20/32] xcode --- .../OnDiskPt.xcodeproj/project.pbxproj | 134 +++++++++--------- 1 file changed, 66 insertions(+), 68 deletions(-) diff --git a/contrib/other-builds/OnDiskPt.xcodeproj/project.pbxproj b/contrib/other-builds/OnDiskPt.xcodeproj/project.pbxproj index 26055d688..138ef3359 100644 --- a/contrib/other-builds/OnDiskPt.xcodeproj/project.pbxproj +++ b/contrib/other-builds/OnDiskPt.xcodeproj/project.pbxproj @@ -7,41 +7,41 @@ objects = { /* Begin PBXBuildFile section */ - 1ED4FB1911BDBA2B004E826A /* OnDiskWrapper.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 1ED4FB0811BDBA2B004E826A /* OnDiskWrapper.cpp */; }; - 1ED4FB1A11BDBA2B004E826A /* OnDiskWrapper.h in Headers */ = {isa = PBXBuildFile; fileRef = 1ED4FB0911BDBA2B004E826A /* OnDiskWrapper.h */; }; - 1ED4FB1B11BDBA2B004E826A /* Phrase.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 1ED4FB0A11BDBA2B004E826A /* Phrase.cpp */; }; - 1ED4FB1C11BDBA2B004E826A /* Phrase.h in Headers */ = {isa = PBXBuildFile; fileRef = 1ED4FB0B11BDBA2B004E826A /* Phrase.h */; }; - 1ED4FB1D11BDBA2B004E826A /* PhraseNode.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 1ED4FB0C11BDBA2B004E826A /* PhraseNode.cpp */; }; - 1ED4FB1E11BDBA2B004E826A /* PhraseNode.h in Headers */ = {isa = PBXBuildFile; fileRef = 1ED4FB0D11BDBA2B004E826A /* PhraseNode.h */; }; - 1ED4FB1F11BDBA2B004E826A /* SourcePhrase.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 1ED4FB0E11BDBA2B004E826A /* SourcePhrase.cpp */; }; - 1ED4FB2011BDBA2B004E826A /* SourcePhrase.h in Headers */ = {isa = PBXBuildFile; fileRef = 1ED4FB0F11BDBA2B004E826A /* SourcePhrase.h */; }; - 1ED4FB2111BDBA2B004E826A /* TargetPhrase.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 1ED4FB1011BDBA2B004E826A /* TargetPhrase.cpp */; }; - 1ED4FB2211BDBA2B004E826A /* TargetPhrase.h in Headers */ = {isa = PBXBuildFile; fileRef = 1ED4FB1111BDBA2B004E826A /* TargetPhrase.h */; }; - 1ED4FB2311BDBA2B004E826A /* TargetPhraseCollection.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 1ED4FB1211BDBA2B004E826A /* TargetPhraseCollection.cpp */; }; - 1ED4FB2411BDBA2B004E826A /* TargetPhraseCollection.h in Headers */ = {isa = PBXBuildFile; fileRef = 1ED4FB1311BDBA2B004E826A /* TargetPhraseCollection.h */; }; - 1ED4FB2511BDBA2B004E826A /* Vocab.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 1ED4FB1411BDBA2B004E826A /* Vocab.cpp */; }; - 1ED4FB2611BDBA2B004E826A /* Vocab.h in Headers */ = {isa = PBXBuildFile; fileRef = 1ED4FB1511BDBA2B004E826A /* Vocab.h */; }; - 1ED4FB2711BDBA2B004E826A /* Word.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 1ED4FB1611BDBA2B004E826A /* Word.cpp */; }; - 1ED4FB2811BDBA2B004E826A /* Word.h in Headers */ = {isa = PBXBuildFile; fileRef = 1ED4FB1711BDBA2B004E826A /* Word.h */; }; + 1EBA430C14B97ABF003CC0EA /* OnDiskWrapper.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 1EBA42FA14B97ABF003CC0EA /* OnDiskWrapper.cpp */; }; + 1EBA430D14B97ABF003CC0EA /* OnDiskWrapper.h in Headers */ = {isa = PBXBuildFile; fileRef = 1EBA42FB14B97ABF003CC0EA /* OnDiskWrapper.h */; }; + 1EBA430E14B97ABF003CC0EA /* Phrase.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 1EBA42FC14B97ABF003CC0EA /* Phrase.cpp */; }; + 1EBA430F14B97ABF003CC0EA /* Phrase.h in Headers */ = {isa = PBXBuildFile; fileRef = 1EBA42FD14B97ABF003CC0EA /* Phrase.h */; }; + 1EBA431014B97ABF003CC0EA /* PhraseNode.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 1EBA42FE14B97ABF003CC0EA /* PhraseNode.cpp */; }; + 1EBA431114B97ABF003CC0EA /* PhraseNode.h in Headers */ = {isa = PBXBuildFile; fileRef = 1EBA42FF14B97ABF003CC0EA /* PhraseNode.h */; }; + 1EBA431214B97ABF003CC0EA /* SourcePhrase.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 1EBA430014B97ABF003CC0EA /* SourcePhrase.cpp */; }; + 1EBA431314B97ABF003CC0EA /* SourcePhrase.h in Headers */ = {isa = PBXBuildFile; fileRef = 1EBA430114B97ABF003CC0EA /* SourcePhrase.h */; }; + 1EBA431414B97ABF003CC0EA /* TargetPhrase.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 1EBA430214B97ABF003CC0EA /* TargetPhrase.cpp */; }; + 1EBA431514B97ABF003CC0EA /* TargetPhrase.h in Headers */ = {isa = PBXBuildFile; fileRef = 1EBA430314B97ABF003CC0EA /* TargetPhrase.h */; }; + 1EBA431614B97ABF003CC0EA /* TargetPhraseCollection.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 1EBA430414B97ABF003CC0EA /* TargetPhraseCollection.cpp */; }; + 1EBA431714B97ABF003CC0EA /* TargetPhraseCollection.h in Headers */ = {isa = PBXBuildFile; fileRef = 1EBA430514B97ABF003CC0EA /* TargetPhraseCollection.h */; }; + 1EBA431814B97ABF003CC0EA /* Vocab.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 1EBA430614B97ABF003CC0EA /* Vocab.cpp */; }; + 1EBA431914B97ABF003CC0EA /* Vocab.h in Headers */ = {isa = PBXBuildFile; fileRef = 1EBA430714B97ABF003CC0EA /* Vocab.h */; }; + 1EBA431A14B97ABF003CC0EA /* Word.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 1EBA430814B97ABF003CC0EA /* Word.cpp */; }; + 1EBA431B14B97ABF003CC0EA /* Word.h in Headers */ = {isa = PBXBuildFile; fileRef = 1EBA430914B97ABF003CC0EA /* Word.h */; }; /* End PBXBuildFile section */ /* Begin PBXFileReference section */ - 1ED4FB0811BDBA2B004E826A /* OnDiskWrapper.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = OnDiskWrapper.cpp; path = src/OnDiskWrapper.cpp; sourceTree = ""; }; - 1ED4FB0911BDBA2B004E826A /* OnDiskWrapper.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = OnDiskWrapper.h; path = src/OnDiskWrapper.h; sourceTree = ""; }; - 1ED4FB0A11BDBA2B004E826A /* Phrase.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = Phrase.cpp; path = src/Phrase.cpp; sourceTree = ""; }; - 1ED4FB0B11BDBA2B004E826A /* Phrase.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = Phrase.h; path = src/Phrase.h; sourceTree = ""; }; - 1ED4FB0C11BDBA2B004E826A /* PhraseNode.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = PhraseNode.cpp; path = src/PhraseNode.cpp; sourceTree = ""; }; - 1ED4FB0D11BDBA2B004E826A /* PhraseNode.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = PhraseNode.h; path = src/PhraseNode.h; sourceTree = ""; }; - 1ED4FB0E11BDBA2B004E826A /* SourcePhrase.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = SourcePhrase.cpp; path = src/SourcePhrase.cpp; sourceTree = ""; }; - 1ED4FB0F11BDBA2B004E826A /* SourcePhrase.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = SourcePhrase.h; path = src/SourcePhrase.h; sourceTree = ""; }; - 1ED4FB1011BDBA2B004E826A /* TargetPhrase.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = TargetPhrase.cpp; path = src/TargetPhrase.cpp; sourceTree = ""; }; - 1ED4FB1111BDBA2B004E826A /* TargetPhrase.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = TargetPhrase.h; path = src/TargetPhrase.h; sourceTree = ""; }; - 1ED4FB1211BDBA2B004E826A /* TargetPhraseCollection.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = TargetPhraseCollection.cpp; path = src/TargetPhraseCollection.cpp; sourceTree = ""; }; - 1ED4FB1311BDBA2B004E826A /* TargetPhraseCollection.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = TargetPhraseCollection.h; path = src/TargetPhraseCollection.h; sourceTree = ""; }; - 1ED4FB1411BDBA2B004E826A /* Vocab.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = Vocab.cpp; path = src/Vocab.cpp; sourceTree = ""; }; - 1ED4FB1511BDBA2B004E826A /* Vocab.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = Vocab.h; path = src/Vocab.h; sourceTree = ""; }; - 1ED4FB1611BDBA2B004E826A /* Word.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = Word.cpp; path = src/Word.cpp; sourceTree = ""; }; - 1ED4FB1711BDBA2B004E826A /* Word.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = Word.h; path = src/Word.h; sourceTree = ""; }; + 1EBA42FA14B97ABF003CC0EA /* OnDiskWrapper.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = OnDiskWrapper.cpp; path = ../../OnDiskPt/OnDiskWrapper.cpp; sourceTree = ""; }; + 1EBA42FB14B97ABF003CC0EA /* OnDiskWrapper.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = OnDiskWrapper.h; path = ../../OnDiskPt/OnDiskWrapper.h; sourceTree = ""; }; + 1EBA42FC14B97ABF003CC0EA /* Phrase.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = Phrase.cpp; path = ../../OnDiskPt/Phrase.cpp; sourceTree = ""; }; + 1EBA42FD14B97ABF003CC0EA /* Phrase.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = Phrase.h; path = ../../OnDiskPt/Phrase.h; sourceTree = ""; }; + 1EBA42FE14B97ABF003CC0EA /* PhraseNode.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = PhraseNode.cpp; path = ../../OnDiskPt/PhraseNode.cpp; sourceTree = ""; }; + 1EBA42FF14B97ABF003CC0EA /* PhraseNode.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = PhraseNode.h; path = ../../OnDiskPt/PhraseNode.h; sourceTree = ""; }; + 1EBA430014B97ABF003CC0EA /* SourcePhrase.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = SourcePhrase.cpp; path = ../../OnDiskPt/SourcePhrase.cpp; sourceTree = ""; }; + 1EBA430114B97ABF003CC0EA /* SourcePhrase.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = SourcePhrase.h; path = ../../OnDiskPt/SourcePhrase.h; sourceTree = ""; }; + 1EBA430214B97ABF003CC0EA /* TargetPhrase.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = TargetPhrase.cpp; path = ../../OnDiskPt/TargetPhrase.cpp; sourceTree = ""; }; + 1EBA430314B97ABF003CC0EA /* TargetPhrase.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = TargetPhrase.h; path = ../../OnDiskPt/TargetPhrase.h; sourceTree = ""; }; + 1EBA430414B97ABF003CC0EA /* TargetPhraseCollection.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = TargetPhraseCollection.cpp; path = ../../OnDiskPt/TargetPhraseCollection.cpp; sourceTree = ""; }; + 1EBA430514B97ABF003CC0EA /* TargetPhraseCollection.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = TargetPhraseCollection.h; path = ../../OnDiskPt/TargetPhraseCollection.h; sourceTree = ""; }; + 1EBA430614B97ABF003CC0EA /* Vocab.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = Vocab.cpp; path = ../../OnDiskPt/Vocab.cpp; sourceTree = ""; }; + 1EBA430714B97ABF003CC0EA /* Vocab.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = Vocab.h; path = ../../OnDiskPt/Vocab.h; sourceTree = ""; }; + 1EBA430814B97ABF003CC0EA /* Word.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = Word.cpp; path = ../../OnDiskPt/Word.cpp; sourceTree = ""; }; + 1EBA430914B97ABF003CC0EA /* Word.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = Word.h; path = ../../OnDiskPt/Word.h; sourceTree = ""; }; D2AAC046055464E500DB518D /* libOnDiskPt.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = libOnDiskPt.a; sourceTree = BUILT_PRODUCTS_DIR; }; /* End PBXFileReference section */ @@ -69,22 +69,22 @@ 08FB7795FE84155DC02AAC07 /* Source */ = { isa = PBXGroup; children = ( - 1ED4FB0811BDBA2B004E826A /* OnDiskWrapper.cpp */, - 1ED4FB0911BDBA2B004E826A /* OnDiskWrapper.h */, - 1ED4FB0A11BDBA2B004E826A /* Phrase.cpp */, - 1ED4FB0B11BDBA2B004E826A /* Phrase.h */, - 1ED4FB0C11BDBA2B004E826A /* PhraseNode.cpp */, - 1ED4FB0D11BDBA2B004E826A /* PhraseNode.h */, - 1ED4FB0E11BDBA2B004E826A /* SourcePhrase.cpp */, - 1ED4FB0F11BDBA2B004E826A /* SourcePhrase.h */, - 1ED4FB1011BDBA2B004E826A /* TargetPhrase.cpp */, - 1ED4FB1111BDBA2B004E826A /* TargetPhrase.h */, - 1ED4FB1211BDBA2B004E826A /* TargetPhraseCollection.cpp */, - 1ED4FB1311BDBA2B004E826A /* TargetPhraseCollection.h */, - 1ED4FB1411BDBA2B004E826A /* Vocab.cpp */, - 1ED4FB1511BDBA2B004E826A /* Vocab.h */, - 1ED4FB1611BDBA2B004E826A /* Word.cpp */, - 1ED4FB1711BDBA2B004E826A /* Word.h */, + 1EBA42FA14B97ABF003CC0EA /* OnDiskWrapper.cpp */, + 1EBA42FB14B97ABF003CC0EA /* OnDiskWrapper.h */, + 1EBA42FC14B97ABF003CC0EA /* Phrase.cpp */, + 1EBA42FD14B97ABF003CC0EA /* Phrase.h */, + 1EBA42FE14B97ABF003CC0EA /* PhraseNode.cpp */, + 1EBA42FF14B97ABF003CC0EA /* PhraseNode.h */, + 1EBA430014B97ABF003CC0EA /* SourcePhrase.cpp */, + 1EBA430114B97ABF003CC0EA /* SourcePhrase.h */, + 1EBA430214B97ABF003CC0EA /* TargetPhrase.cpp */, + 1EBA430314B97ABF003CC0EA /* TargetPhrase.h */, + 1EBA430414B97ABF003CC0EA /* TargetPhraseCollection.cpp */, + 1EBA430514B97ABF003CC0EA /* TargetPhraseCollection.h */, + 1EBA430614B97ABF003CC0EA /* Vocab.cpp */, + 1EBA430714B97ABF003CC0EA /* Vocab.h */, + 1EBA430814B97ABF003CC0EA /* Word.cpp */, + 1EBA430914B97ABF003CC0EA /* Word.h */, ); name = Source; sourceTree = ""; @@ -111,14 +111,14 @@ isa = PBXHeadersBuildPhase; buildActionMask = 2147483647; files = ( - 1ED4FB1A11BDBA2B004E826A /* OnDiskWrapper.h in Headers */, - 1ED4FB1C11BDBA2B004E826A /* Phrase.h in Headers */, - 1ED4FB1E11BDBA2B004E826A /* PhraseNode.h in Headers */, - 1ED4FB2011BDBA2B004E826A /* SourcePhrase.h in Headers */, - 1ED4FB2211BDBA2B004E826A /* TargetPhrase.h in Headers */, - 1ED4FB2411BDBA2B004E826A /* TargetPhraseCollection.h in Headers */, - 1ED4FB2611BDBA2B004E826A /* Vocab.h in Headers */, - 1ED4FB2811BDBA2B004E826A /* Word.h in Headers */, + 1EBA430D14B97ABF003CC0EA /* OnDiskWrapper.h in Headers */, + 1EBA430F14B97ABF003CC0EA /* Phrase.h in Headers */, + 1EBA431114B97ABF003CC0EA /* PhraseNode.h in Headers */, + 1EBA431314B97ABF003CC0EA /* SourcePhrase.h in Headers */, + 1EBA431514B97ABF003CC0EA /* TargetPhrase.h in Headers */, + 1EBA431714B97ABF003CC0EA /* TargetPhraseCollection.h in Headers */, + 1EBA431914B97ABF003CC0EA /* Vocab.h in Headers */, + 1EBA431B14B97ABF003CC0EA /* Word.h in Headers */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -171,14 +171,14 @@ isa = PBXSourcesBuildPhase; buildActionMask = 2147483647; files = ( - 1ED4FB1911BDBA2B004E826A /* OnDiskWrapper.cpp in Sources */, - 1ED4FB1B11BDBA2B004E826A /* Phrase.cpp in Sources */, - 1ED4FB1D11BDBA2B004E826A /* PhraseNode.cpp in Sources */, - 1ED4FB1F11BDBA2B004E826A /* SourcePhrase.cpp in Sources */, - 1ED4FB2111BDBA2B004E826A /* TargetPhrase.cpp in Sources */, - 1ED4FB2311BDBA2B004E826A /* TargetPhraseCollection.cpp in Sources */, - 1ED4FB2511BDBA2B004E826A /* Vocab.cpp in Sources */, - 1ED4FB2711BDBA2B004E826A /* Word.cpp in Sources */, + 1EBA430C14B97ABF003CC0EA /* OnDiskWrapper.cpp in Sources */, + 1EBA430E14B97ABF003CC0EA /* Phrase.cpp in Sources */, + 1EBA431014B97ABF003CC0EA /* PhraseNode.cpp in Sources */, + 1EBA431214B97ABF003CC0EA /* SourcePhrase.cpp in Sources */, + 1EBA431414B97ABF003CC0EA /* TargetPhrase.cpp in Sources */, + 1EBA431614B97ABF003CC0EA /* TargetPhraseCollection.cpp in Sources */, + 1EBA431814B97ABF003CC0EA /* Vocab.cpp in Sources */, + 1EBA431A14B97ABF003CC0EA /* Word.cpp in Sources */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -196,8 +196,7 @@ GCC_OPTIMIZATION_LEVEL = 0; HEADER_SEARCH_PATHS = ( /opt/local/include, - ../kenlm, - ../, + ../.., ); INSTALL_PATH = /usr/local/lib; PRODUCT_NAME = OnDiskPt; @@ -212,8 +211,7 @@ GCC_MODEL_TUNING = G5; HEADER_SEARCH_PATHS = ( /opt/local/include, - ../kenlm, - ../, + ../.., ); INSTALL_PATH = /usr/local/lib; PRODUCT_NAME = OnDiskPt; From 180fa13a27d262b62683ea5c988f1ee92520acaa Mon Sep 17 00:00:00 2001 From: Hieu Hoang Date: Sun, 8 Jan 2012 14:36:54 +0700 Subject: [PATCH 21/32] xcode --- OnDiskPt/Main.cpp | 1 + .../CreateOnDisk.xcodeproj/project.pbxproj | 131 +++---- lm/lm.xcodeproj/project.pbxproj | 354 ------------------ moses/src/Util.h | 4 +- 4 files changed, 69 insertions(+), 421 deletions(-) delete mode 100644 lm/lm.xcodeproj/project.pbxproj diff --git a/OnDiskPt/Main.cpp b/OnDiskPt/Main.cpp index d8899def5..ca536b0ce 100644 --- a/OnDiskPt/Main.cpp +++ b/OnDiskPt/Main.cpp @@ -23,6 +23,7 @@ #include #include #include +#include #include "../moses/src/InputFileStream.h" #include "../moses/src/Util.h" #include "../moses/src/UserMessage.h" diff --git a/contrib/other-builds/CreateOnDisk.xcodeproj/project.pbxproj b/contrib/other-builds/CreateOnDisk.xcodeproj/project.pbxproj index d86b94fdf..b51e00ebe 100644 --- a/contrib/other-builds/CreateOnDisk.xcodeproj/project.pbxproj +++ b/contrib/other-builds/CreateOnDisk.xcodeproj/project.pbxproj @@ -7,39 +7,30 @@ objects = { /* Begin PBXBuildFile section */ - 1ED4FB4B11BDBAA7004E826A /* Main.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 1ED4FB4911BDBAA7004E826A /* Main.cpp */; }; - 1ED4FB6011BDBAFB004E826A /* libOnDiskPt.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 1ED4FB5F11BDBAE6004E826A /* libOnDiskPt.a */; }; - 1ED4FB6111BDBB00004E826A /* libmoses.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 1ED4FB5611BDBAD7004E826A /* libmoses.a */; }; + 1EBA432514B97B35003CC0EA /* Main.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 1EBA432314B97B35003CC0EA /* Main.cpp */; }; /* End PBXBuildFile section */ /* Begin PBXContainerItemProxy section */ - 1ED4FB5511BDBAD7004E826A /* PBXContainerItemProxy */ = { + 1EBA432D14B97CA1003CC0EA /* PBXContainerItemProxy */ = { isa = PBXContainerItemProxy; - containerPortal = 1ED4FB4E11BDBAD7004E826A /* moses.xcodeproj */; + containerPortal = 1EBA432614B97CA1003CC0EA /* moses.xcodeproj */; proxyType = 2; remoteGlobalIDString = D2AAC046055464E500DB518D; remoteInfo = moses; }; - 1ED4FB5E11BDBAE6004E826A /* PBXContainerItemProxy */ = { + 1EBA433614B97CA6003CC0EA /* PBXContainerItemProxy */ = { isa = PBXContainerItemProxy; - containerPortal = 1ED4FB5711BDBAE6004E826A /* OnDiskPt.xcodeproj */; + containerPortal = 1EBA432F14B97CA6003CC0EA /* OnDiskPt.xcodeproj */; proxyType = 2; remoteGlobalIDString = D2AAC046055464E500DB518D; remoteInfo = OnDiskPt; }; - 1ED4FB7211BDBC05004E826A /* PBXContainerItemProxy */ = { + 1EBA45BF14B97EF1003CC0EA /* PBXContainerItemProxy */ = { isa = PBXContainerItemProxy; - containerPortal = 1ED4FB4E11BDBAD7004E826A /* moses.xcodeproj */; - proxyType = 1; - remoteGlobalIDString = D2AAC045055464E500DB518D; - remoteInfo = moses; - }; - 1ED4FB7411BDBC09004E826A /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = 1ED4FB5711BDBAE6004E826A /* OnDiskPt.xcodeproj */; - proxyType = 1; - remoteGlobalIDString = D2AAC045055464E500DB518D; - remoteInfo = OnDiskPt; + containerPortal = 1EBA45B414B97EF1003CC0EA /* lm.xcodeproj */; + proxyType = 2; + remoteGlobalIDString = 1EE8C2E91476A48E002496F2; + remoteInfo = lm; }; /* End PBXContainerItemProxy section */ @@ -57,10 +48,11 @@ /* Begin PBXFileReference section */ 1E4FC4861251FFBF00FB0D9D /* CreateOnDisk */ = {isa = PBXFileReference; explicitFileType = "compiled.mach-o.executable"; includeInIndex = 0; path = CreateOnDisk; sourceTree = BUILT_PRODUCTS_DIR; }; - 1ED4FB4911BDBAA7004E826A /* Main.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = Main.cpp; path = src/Main.cpp; sourceTree = ""; }; - 1ED4FB4A11BDBAA7004E826A /* Main.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = Main.h; path = src/Main.h; sourceTree = ""; }; - 1ED4FB4E11BDBAD7004E826A /* moses.xcodeproj */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.pb-project"; name = moses.xcodeproj; path = ../moses/moses.xcodeproj; sourceTree = SOURCE_ROOT; }; - 1ED4FB5711BDBAE6004E826A /* OnDiskPt.xcodeproj */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.pb-project"; name = OnDiskPt.xcodeproj; path = ../OnDiskPt/OnDiskPt.xcodeproj; sourceTree = SOURCE_ROOT; }; + 1EBA432314B97B35003CC0EA /* Main.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = Main.cpp; path = ../../OnDiskPt/Main.cpp; sourceTree = ""; }; + 1EBA432414B97B35003CC0EA /* Main.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = Main.h; path = ../../OnDiskPt/Main.h; sourceTree = ""; }; + 1EBA432614B97CA1003CC0EA /* moses.xcodeproj */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.pb-project"; path = moses.xcodeproj; sourceTree = ""; }; + 1EBA432F14B97CA6003CC0EA /* OnDiskPt.xcodeproj */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.pb-project"; path = OnDiskPt.xcodeproj; sourceTree = ""; }; + 1EBA45B414B97EF1003CC0EA /* lm.xcodeproj */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.pb-project"; path = lm.xcodeproj; sourceTree = ""; }; /* End PBXFileReference section */ /* Begin PBXFrameworksBuildPhase section */ @@ -68,8 +60,6 @@ isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( - 1ED4FB6111BDBB00004E826A /* libmoses.a in Frameworks */, - 1ED4FB6011BDBAFB004E826A /* libOnDiskPt.a in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -79,8 +69,9 @@ 08FB7794FE84155DC02AAC07 /* CreateOnDisk */ = { isa = PBXGroup; children = ( - 1ED4FB5711BDBAE6004E826A /* OnDiskPt.xcodeproj */, - 1ED4FB4E11BDBAD7004E826A /* moses.xcodeproj */, + 1EBA45B414B97EF1003CC0EA /* lm.xcodeproj */, + 1EBA432F14B97CA6003CC0EA /* OnDiskPt.xcodeproj */, + 1EBA432614B97CA1003CC0EA /* moses.xcodeproj */, 08FB7795FE84155DC02AAC07 /* Source */, C6859E8C029090F304C91782 /* Documentation */, 1AB674ADFE9D54B511CA2CBB /* Products */, @@ -91,8 +82,8 @@ 08FB7795FE84155DC02AAC07 /* Source */ = { isa = PBXGroup; children = ( - 1ED4FB4911BDBAA7004E826A /* Main.cpp */, - 1ED4FB4A11BDBAA7004E826A /* Main.h */, + 1EBA432314B97B35003CC0EA /* Main.cpp */, + 1EBA432414B97B35003CC0EA /* Main.h */, ); name = Source; sourceTree = ""; @@ -105,18 +96,26 @@ name = Products; sourceTree = ""; }; - 1ED4FB4F11BDBAD7004E826A /* Products */ = { + 1EBA432714B97CA1003CC0EA /* Products */ = { isa = PBXGroup; children = ( - 1ED4FB5611BDBAD7004E826A /* libmoses.a */, + 1EBA432E14B97CA1003CC0EA /* libmoses.a */, ); name = Products; sourceTree = ""; }; - 1ED4FB5811BDBAE6004E826A /* Products */ = { + 1EBA433014B97CA6003CC0EA /* Products */ = { isa = PBXGroup; children = ( - 1ED4FB5F11BDBAE6004E826A /* libOnDiskPt.a */, + 1EBA433714B97CA6003CC0EA /* libOnDiskPt.a */, + ); + name = Products; + sourceTree = ""; + }; + 1EBA45B514B97EF1003CC0EA /* Products */ = { + isa = PBXGroup; + children = ( + 1EBA45C014B97EF1003CC0EA /* liblm.a */, ); name = Products; sourceTree = ""; @@ -142,8 +141,6 @@ buildRules = ( ); dependencies = ( - 1ED4FB7311BDBC05004E826A /* PBXTargetDependency */, - 1ED4FB7511BDBC09004E826A /* PBXTargetDependency */, ); name = CreateOnDisk; productInstallPath = "$(HOME)/bin"; @@ -170,12 +167,16 @@ projectDirPath = ""; projectReferences = ( { - ProductGroup = 1ED4FB4F11BDBAD7004E826A /* Products */; - ProjectRef = 1ED4FB4E11BDBAD7004E826A /* moses.xcodeproj */; + ProductGroup = 1EBA45B514B97EF1003CC0EA /* Products */; + ProjectRef = 1EBA45B414B97EF1003CC0EA /* lm.xcodeproj */; }, { - ProductGroup = 1ED4FB5811BDBAE6004E826A /* Products */; - ProjectRef = 1ED4FB5711BDBAE6004E826A /* OnDiskPt.xcodeproj */; + ProductGroup = 1EBA432714B97CA1003CC0EA /* Products */; + ProjectRef = 1EBA432614B97CA1003CC0EA /* moses.xcodeproj */; + }, + { + ProductGroup = 1EBA433014B97CA6003CC0EA /* Products */; + ProjectRef = 1EBA432F14B97CA6003CC0EA /* OnDiskPt.xcodeproj */; }, ); projectRoot = ""; @@ -186,18 +187,25 @@ /* End PBXProject section */ /* Begin PBXReferenceProxy section */ - 1ED4FB5611BDBAD7004E826A /* libmoses.a */ = { + 1EBA432E14B97CA1003CC0EA /* libmoses.a */ = { isa = PBXReferenceProxy; fileType = archive.ar; path = libmoses.a; - remoteRef = 1ED4FB5511BDBAD7004E826A /* PBXContainerItemProxy */; + remoteRef = 1EBA432D14B97CA1003CC0EA /* PBXContainerItemProxy */; sourceTree = BUILT_PRODUCTS_DIR; }; - 1ED4FB5F11BDBAE6004E826A /* libOnDiskPt.a */ = { + 1EBA433714B97CA6003CC0EA /* libOnDiskPt.a */ = { isa = PBXReferenceProxy; fileType = archive.ar; path = libOnDiskPt.a; - remoteRef = 1ED4FB5E11BDBAE6004E826A /* PBXContainerItemProxy */; + remoteRef = 1EBA433614B97CA6003CC0EA /* PBXContainerItemProxy */; + sourceTree = BUILT_PRODUCTS_DIR; + }; + 1EBA45C014B97EF1003CC0EA /* liblm.a */ = { + isa = PBXReferenceProxy; + fileType = archive.ar; + path = liblm.a; + remoteRef = 1EBA45BF14B97EF1003CC0EA /* PBXContainerItemProxy */; sourceTree = BUILT_PRODUCTS_DIR; }; /* End PBXReferenceProxy section */ @@ -207,25 +215,12 @@ isa = PBXSourcesBuildPhase; buildActionMask = 2147483647; files = ( - 1ED4FB4B11BDBAA7004E826A /* Main.cpp in Sources */, + 1EBA432514B97B35003CC0EA /* Main.cpp in Sources */, ); runOnlyForDeploymentPostprocessing = 0; }; /* End PBXSourcesBuildPhase section */ -/* Begin PBXTargetDependency section */ - 1ED4FB7311BDBC05004E826A /* PBXTargetDependency */ = { - isa = PBXTargetDependency; - name = moses; - targetProxy = 1ED4FB7211BDBC05004E826A /* PBXContainerItemProxy */; - }; - 1ED4FB7511BDBC09004E826A /* PBXTargetDependency */ = { - isa = PBXTargetDependency; - name = OnDiskPt; - targetProxy = 1ED4FB7411BDBC09004E826A /* PBXContainerItemProxy */; - }; -/* End PBXTargetDependency section */ - /* Begin XCBuildConfiguration section */ 1DEB923208733DC60010E9CD /* Debug */ = { isa = XCBuildConfiguration; @@ -236,12 +231,15 @@ GCC_ENABLE_FIX_AND_CONTINUE = YES; GCC_MODEL_TUNING = G5; GCC_OPTIMIZATION_LEVEL = 0; + HEADER_SEARCH_PATHS = ( + ../../, + ../../irstlm/include, + ); INSTALL_PATH = /usr/local/bin; LIBRARY_SEARCH_PATHS = ( - ../irstlm/lib, - ../srilm/lib/macosx, - ../randlm/lib, - ../kenlm, + ../../irstlm/lib, + ../../srilm/lib/macosx, + ../../randlm/lib, ); OTHER_LDFLAGS = ( "-lz", @@ -264,12 +262,15 @@ ALWAYS_SEARCH_USER_PATHS = NO; DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; GCC_MODEL_TUNING = G5; + HEADER_SEARCH_PATHS = ( + ../../, + ../../irstlm/include, + ); INSTALL_PATH = /usr/local/bin; LIBRARY_SEARCH_PATHS = ( - ../irstlm/lib, - ../srilm/lib/macosx, - ../randlm/lib, - ../kenlm, + ../../irstlm/lib, + ../../srilm/lib/macosx, + ../../randlm/lib, ); OTHER_LDFLAGS = ( "-lz", diff --git a/lm/lm.xcodeproj/project.pbxproj b/lm/lm.xcodeproj/project.pbxproj deleted file mode 100644 index 14ea5097f..000000000 --- a/lm/lm.xcodeproj/project.pbxproj +++ /dev/null @@ -1,354 +0,0 @@ -// !$*UTF8*$! -{ - archiveVersion = 1; - classes = { - }; - objectVersion = 46; - objects = { - -/* Begin PBXBuildFile section */ - 1EE8C3981476A73C002496F2 /* bhiksha.cc in Sources */ = {isa = PBXBuildFile; fileRef = 1EE8C3651476A73C002496F2 /* bhiksha.cc */; }; - 1EE8C3991476A73C002496F2 /* bhiksha.hh in Headers */ = {isa = PBXBuildFile; fileRef = 1EE8C3661476A73C002496F2 /* bhiksha.hh */; }; - 1EE8C39A1476A73C002496F2 /* binary_format.cc in Sources */ = {isa = PBXBuildFile; fileRef = 1EE8C3671476A73C002496F2 /* binary_format.cc */; }; - 1EE8C39B1476A73C002496F2 /* binary_format.hh in Headers */ = {isa = PBXBuildFile; fileRef = 1EE8C3681476A73C002496F2 /* binary_format.hh */; }; - 1EE8C39C1476A73C002496F2 /* blank.hh in Headers */ = {isa = PBXBuildFile; fileRef = 1EE8C3691476A73C002496F2 /* blank.hh */; }; - 1EE8C39D1476A73C002496F2 /* build_binary.cc in Sources */ = {isa = PBXBuildFile; fileRef = 1EE8C36A1476A73C002496F2 /* build_binary.cc */; }; - 1EE8C39E1476A73C002496F2 /* config.cc in Sources */ = {isa = PBXBuildFile; fileRef = 1EE8C36D1476A73C002496F2 /* config.cc */; }; - 1EE8C39F1476A73C002496F2 /* config.hh in Headers */ = {isa = PBXBuildFile; fileRef = 1EE8C36E1476A73C002496F2 /* config.hh */; }; - 1EE8C3A01476A73C002496F2 /* enumerate_vocab.hh in Headers */ = {isa = PBXBuildFile; fileRef = 1EE8C3711476A73C002496F2 /* enumerate_vocab.hh */; }; - 1EE8C3A11476A73C002496F2 /* facade.hh in Headers */ = {isa = PBXBuildFile; fileRef = 1EE8C3721476A73C002496F2 /* facade.hh */; }; - 1EE8C3A21476A73C002496F2 /* left_test.cc in Sources */ = {isa = PBXBuildFile; fileRef = 1EE8C3731476A73C002496F2 /* left_test.cc */; }; - 1EE8C3A31476A73C002496F2 /* left.hh in Headers */ = {isa = PBXBuildFile; fileRef = 1EE8C3741476A73C002496F2 /* left.hh */; }; - 1EE8C3A41476A73C002496F2 /* lm_exception.cc in Sources */ = {isa = PBXBuildFile; fileRef = 1EE8C3761476A73C002496F2 /* lm_exception.cc */; }; - 1EE8C3A51476A73C002496F2 /* lm_exception.hh in Headers */ = {isa = PBXBuildFile; fileRef = 1EE8C3771476A73C002496F2 /* lm_exception.hh */; }; - 1EE8C3A71476A73C002496F2 /* max_order.hh in Headers */ = {isa = PBXBuildFile; fileRef = 1EE8C37B1476A73C002496F2 /* max_order.hh */; }; - 1EE8C3A81476A73C002496F2 /* model_test.cc in Sources */ = {isa = PBXBuildFile; fileRef = 1EE8C37C1476A73C002496F2 /* model_test.cc */; }; - 1EE8C3A91476A73C002496F2 /* model_type.hh in Headers */ = {isa = PBXBuildFile; fileRef = 1EE8C37D1476A73C002496F2 /* model_type.hh */; }; - 1EE8C3AA1476A73C002496F2 /* model.cc in Sources */ = {isa = PBXBuildFile; fileRef = 1EE8C37E1476A73C002496F2 /* model.cc */; }; - 1EE8C3AB1476A73C002496F2 /* model.hh in Headers */ = {isa = PBXBuildFile; fileRef = 1EE8C37F1476A73C002496F2 /* model.hh */; }; - 1EE8C3AC1476A73C002496F2 /* ngram_query.cc in Sources */ = {isa = PBXBuildFile; fileRef = 1EE8C3801476A73C002496F2 /* ngram_query.cc */; }; - 1EE8C3AD1476A73C002496F2 /* quantize.cc in Sources */ = {isa = PBXBuildFile; fileRef = 1EE8C3811476A73C002496F2 /* quantize.cc */; }; - 1EE8C3AE1476A73C002496F2 /* quantize.hh in Headers */ = {isa = PBXBuildFile; fileRef = 1EE8C3821476A73C002496F2 /* quantize.hh */; }; - 1EE8C3AF1476A73C002496F2 /* read_arpa.cc in Sources */ = {isa = PBXBuildFile; fileRef = 1EE8C3831476A73C002496F2 /* read_arpa.cc */; }; - 1EE8C3B01476A73C002496F2 /* read_arpa.hh in Headers */ = {isa = PBXBuildFile; fileRef = 1EE8C3841476A73C002496F2 /* read_arpa.hh */; }; - 1EE8C3B11476A73C002496F2 /* return.hh in Headers */ = {isa = PBXBuildFile; fileRef = 1EE8C3861476A73C002496F2 /* return.hh */; }; - 1EE8C3B21476A73C002496F2 /* search_hashed.cc in Sources */ = {isa = PBXBuildFile; fileRef = 1EE8C3871476A73C002496F2 /* search_hashed.cc */; }; - 1EE8C3B31476A73C002496F2 /* search_hashed.hh in Headers */ = {isa = PBXBuildFile; fileRef = 1EE8C3881476A73C002496F2 /* search_hashed.hh */; }; - 1EE8C3B41476A73C002496F2 /* search_trie.cc in Sources */ = {isa = PBXBuildFile; fileRef = 1EE8C3891476A73C002496F2 /* search_trie.cc */; }; - 1EE8C3B51476A73C002496F2 /* search_trie.hh in Headers */ = {isa = PBXBuildFile; fileRef = 1EE8C38A1476A73C002496F2 /* search_trie.hh */; }; - 1EE8C3B61476A73C002496F2 /* trie_sort.cc in Sources */ = {isa = PBXBuildFile; fileRef = 1EE8C38E1476A73C002496F2 /* trie_sort.cc */; }; - 1EE8C3B71476A73C002496F2 /* trie_sort.hh in Headers */ = {isa = PBXBuildFile; fileRef = 1EE8C38F1476A73C002496F2 /* trie_sort.hh */; }; - 1EE8C3B81476A73C002496F2 /* trie.cc in Sources */ = {isa = PBXBuildFile; fileRef = 1EE8C3901476A73C002496F2 /* trie.cc */; }; - 1EE8C3B91476A73C002496F2 /* trie.hh in Headers */ = {isa = PBXBuildFile; fileRef = 1EE8C3911476A73C002496F2 /* trie.hh */; }; - 1EE8C3BA1476A73C002496F2 /* virtual_interface.cc in Sources */ = {isa = PBXBuildFile; fileRef = 1EE8C3921476A73C002496F2 /* virtual_interface.cc */; }; - 1EE8C3BB1476A73C002496F2 /* virtual_interface.hh in Headers */ = {isa = PBXBuildFile; fileRef = 1EE8C3931476A73C002496F2 /* virtual_interface.hh */; }; - 1EE8C3BC1476A73C002496F2 /* vocab.cc in Sources */ = {isa = PBXBuildFile; fileRef = 1EE8C3941476A73C002496F2 /* vocab.cc */; }; - 1EE8C3BD1476A73C002496F2 /* vocab.hh in Headers */ = {isa = PBXBuildFile; fileRef = 1EE8C3951476A73C002496F2 /* vocab.hh */; }; - 1EE8C3BE1476A73C002496F2 /* weights.hh in Headers */ = {isa = PBXBuildFile; fileRef = 1EE8C3961476A73C002496F2 /* weights.hh */; }; - 1EE8C3BF1476A73C002496F2 /* word_index.hh in Headers */ = {isa = PBXBuildFile; fileRef = 1EE8C3971476A73C002496F2 /* word_index.hh */; }; -/* End PBXBuildFile section */ - -/* Begin PBXFileReference section */ - 1EE8C2E91476A48E002496F2 /* liblm.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = liblm.a; sourceTree = BUILT_PRODUCTS_DIR; }; - 1EE8C3651476A73C002496F2 /* bhiksha.cc */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = bhiksha.cc; sourceTree = ""; }; - 1EE8C3661476A73C002496F2 /* bhiksha.hh */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; path = bhiksha.hh; sourceTree = ""; }; - 1EE8C3671476A73C002496F2 /* binary_format.cc */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = binary_format.cc; sourceTree = ""; }; - 1EE8C3681476A73C002496F2 /* binary_format.hh */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; path = binary_format.hh; sourceTree = ""; }; - 1EE8C3691476A73C002496F2 /* blank.hh */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; path = blank.hh; sourceTree = ""; }; - 1EE8C36A1476A73C002496F2 /* build_binary.cc */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = build_binary.cc; sourceTree = ""; }; - 1EE8C36D1476A73C002496F2 /* config.cc */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = config.cc; sourceTree = ""; }; - 1EE8C36E1476A73C002496F2 /* config.hh */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; path = config.hh; sourceTree = ""; }; - 1EE8C3711476A73C002496F2 /* enumerate_vocab.hh */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; path = enumerate_vocab.hh; sourceTree = ""; }; - 1EE8C3721476A73C002496F2 /* facade.hh */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; path = facade.hh; sourceTree = ""; }; - 1EE8C3731476A73C002496F2 /* left_test.cc */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = left_test.cc; sourceTree = ""; }; - 1EE8C3741476A73C002496F2 /* left.hh */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; path = left.hh; sourceTree = ""; }; - 1EE8C3761476A73C002496F2 /* lm_exception.cc */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = lm_exception.cc; sourceTree = ""; }; - 1EE8C3771476A73C002496F2 /* lm_exception.hh */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; path = lm_exception.hh; sourceTree = ""; }; - 1EE8C37B1476A73C002496F2 /* max_order.hh */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; path = max_order.hh; sourceTree = ""; }; - 1EE8C37C1476A73C002496F2 /* model_test.cc */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = model_test.cc; sourceTree = ""; }; - 1EE8C37D1476A73C002496F2 /* model_type.hh */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; path = model_type.hh; sourceTree = ""; }; - 1EE8C37E1476A73C002496F2 /* model.cc */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = model.cc; sourceTree = ""; }; - 1EE8C37F1476A73C002496F2 /* model.hh */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; path = model.hh; sourceTree = ""; }; - 1EE8C3801476A73C002496F2 /* ngram_query.cc */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = ngram_query.cc; sourceTree = ""; }; - 1EE8C3811476A73C002496F2 /* quantize.cc */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = quantize.cc; sourceTree = ""; }; - 1EE8C3821476A73C002496F2 /* quantize.hh */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; path = quantize.hh; sourceTree = ""; }; - 1EE8C3831476A73C002496F2 /* read_arpa.cc */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = read_arpa.cc; sourceTree = ""; }; - 1EE8C3841476A73C002496F2 /* read_arpa.hh */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; path = read_arpa.hh; sourceTree = ""; }; - 1EE8C3861476A73C002496F2 /* return.hh */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; path = return.hh; sourceTree = ""; }; - 1EE8C3871476A73C002496F2 /* search_hashed.cc */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = search_hashed.cc; sourceTree = ""; }; - 1EE8C3881476A73C002496F2 /* search_hashed.hh */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; path = search_hashed.hh; sourceTree = ""; }; - 1EE8C3891476A73C002496F2 /* search_trie.cc */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = search_trie.cc; sourceTree = ""; }; - 1EE8C38A1476A73C002496F2 /* search_trie.hh */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; path = search_trie.hh; sourceTree = ""; }; - 1EE8C38E1476A73C002496F2 /* trie_sort.cc */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = trie_sort.cc; sourceTree = ""; }; - 1EE8C38F1476A73C002496F2 /* trie_sort.hh */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; path = trie_sort.hh; sourceTree = ""; }; - 1EE8C3901476A73C002496F2 /* trie.cc */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = trie.cc; sourceTree = ""; }; - 1EE8C3911476A73C002496F2 /* trie.hh */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; path = trie.hh; sourceTree = ""; }; - 1EE8C3921476A73C002496F2 /* virtual_interface.cc */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = virtual_interface.cc; sourceTree = ""; }; - 1EE8C3931476A73C002496F2 /* virtual_interface.hh */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; path = virtual_interface.hh; sourceTree = ""; }; - 1EE8C3941476A73C002496F2 /* vocab.cc */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = vocab.cc; sourceTree = ""; }; - 1EE8C3951476A73C002496F2 /* vocab.hh */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; path = vocab.hh; sourceTree = ""; }; - 1EE8C3961476A73C002496F2 /* weights.hh */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; path = weights.hh; sourceTree = ""; }; - 1EE8C3971476A73C002496F2 /* word_index.hh */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; path = word_index.hh; sourceTree = ""; }; -/* End PBXFileReference section */ - -/* Begin PBXFrameworksBuildPhase section */ - 1EE8C2E61476A48E002496F2 /* Frameworks */ = { - isa = PBXFrameworksBuildPhase; - buildActionMask = 2147483647; - files = ( - ); - runOnlyForDeploymentPostprocessing = 0; - }; -/* End PBXFrameworksBuildPhase section */ - -/* Begin PBXGroup section */ - 1EE8C2DE1476A48E002496F2 = { - isa = PBXGroup; - children = ( - 1EE8C3651476A73C002496F2 /* bhiksha.cc */, - 1EE8C3661476A73C002496F2 /* bhiksha.hh */, - 1EE8C3671476A73C002496F2 /* binary_format.cc */, - 1EE8C3681476A73C002496F2 /* binary_format.hh */, - 1EE8C3691476A73C002496F2 /* blank.hh */, - 1EE8C36A1476A73C002496F2 /* build_binary.cc */, - 1EE8C36D1476A73C002496F2 /* config.cc */, - 1EE8C36E1476A73C002496F2 /* config.hh */, - 1EE8C3711476A73C002496F2 /* enumerate_vocab.hh */, - 1EE8C3721476A73C002496F2 /* facade.hh */, - 1EE8C3731476A73C002496F2 /* left_test.cc */, - 1EE8C3741476A73C002496F2 /* left.hh */, - 1EE8C3761476A73C002496F2 /* lm_exception.cc */, - 1EE8C3771476A73C002496F2 /* lm_exception.hh */, - 1EE8C37B1476A73C002496F2 /* max_order.hh */, - 1EE8C37C1476A73C002496F2 /* model_test.cc */, - 1EE8C37D1476A73C002496F2 /* model_type.hh */, - 1EE8C37E1476A73C002496F2 /* model.cc */, - 1EE8C37F1476A73C002496F2 /* model.hh */, - 1EE8C3801476A73C002496F2 /* ngram_query.cc */, - 1EE8C3811476A73C002496F2 /* quantize.cc */, - 1EE8C3821476A73C002496F2 /* quantize.hh */, - 1EE8C3831476A73C002496F2 /* read_arpa.cc */, - 1EE8C3841476A73C002496F2 /* read_arpa.hh */, - 1EE8C3861476A73C002496F2 /* return.hh */, - 1EE8C3871476A73C002496F2 /* search_hashed.cc */, - 1EE8C3881476A73C002496F2 /* search_hashed.hh */, - 1EE8C3891476A73C002496F2 /* search_trie.cc */, - 1EE8C38A1476A73C002496F2 /* search_trie.hh */, - 1EE8C38E1476A73C002496F2 /* trie_sort.cc */, - 1EE8C38F1476A73C002496F2 /* trie_sort.hh */, - 1EE8C3901476A73C002496F2 /* trie.cc */, - 1EE8C3911476A73C002496F2 /* trie.hh */, - 1EE8C3921476A73C002496F2 /* virtual_interface.cc */, - 1EE8C3931476A73C002496F2 /* virtual_interface.hh */, - 1EE8C3941476A73C002496F2 /* vocab.cc */, - 1EE8C3951476A73C002496F2 /* vocab.hh */, - 1EE8C3961476A73C002496F2 /* weights.hh */, - 1EE8C3971476A73C002496F2 /* word_index.hh */, - 1EE8C2EA1476A48E002496F2 /* Products */, - ); - sourceTree = ""; - }; - 1EE8C2EA1476A48E002496F2 /* Products */ = { - isa = PBXGroup; - children = ( - 1EE8C2E91476A48E002496F2 /* liblm.a */, - ); - name = Products; - sourceTree = ""; - }; -/* End PBXGroup section */ - -/* Begin PBXHeadersBuildPhase section */ - 1EE8C2E71476A48E002496F2 /* Headers */ = { - isa = PBXHeadersBuildPhase; - buildActionMask = 2147483647; - files = ( - 1EE8C3991476A73C002496F2 /* bhiksha.hh in Headers */, - 1EE8C39B1476A73C002496F2 /* binary_format.hh in Headers */, - 1EE8C39C1476A73C002496F2 /* blank.hh in Headers */, - 1EE8C39F1476A73C002496F2 /* config.hh in Headers */, - 1EE8C3A01476A73C002496F2 /* enumerate_vocab.hh in Headers */, - 1EE8C3A11476A73C002496F2 /* facade.hh in Headers */, - 1EE8C3A31476A73C002496F2 /* left.hh in Headers */, - 1EE8C3A51476A73C002496F2 /* lm_exception.hh in Headers */, - 1EE8C3A71476A73C002496F2 /* max_order.hh in Headers */, - 1EE8C3A91476A73C002496F2 /* model_type.hh in Headers */, - 1EE8C3AB1476A73C002496F2 /* model.hh in Headers */, - 1EE8C3AE1476A73C002496F2 /* quantize.hh in Headers */, - 1EE8C3B01476A73C002496F2 /* read_arpa.hh in Headers */, - 1EE8C3B11476A73C002496F2 /* return.hh in Headers */, - 1EE8C3B31476A73C002496F2 /* search_hashed.hh in Headers */, - 1EE8C3B51476A73C002496F2 /* search_trie.hh in Headers */, - 1EE8C3B71476A73C002496F2 /* trie_sort.hh in Headers */, - 1EE8C3B91476A73C002496F2 /* trie.hh in Headers */, - 1EE8C3BB1476A73C002496F2 /* virtual_interface.hh in Headers */, - 1EE8C3BD1476A73C002496F2 /* vocab.hh in Headers */, - 1EE8C3BE1476A73C002496F2 /* weights.hh in Headers */, - 1EE8C3BF1476A73C002496F2 /* word_index.hh in Headers */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; -/* End PBXHeadersBuildPhase section */ - -/* Begin PBXNativeTarget section */ - 1EE8C2E81476A48E002496F2 /* lm */ = { - isa = PBXNativeTarget; - buildConfigurationList = 1EE8C2ED1476A48E002496F2 /* Build configuration list for PBXNativeTarget "lm" */; - buildPhases = ( - 1EE8C2E51476A48E002496F2 /* Sources */, - 1EE8C2E61476A48E002496F2 /* Frameworks */, - 1EE8C2E71476A48E002496F2 /* Headers */, - ); - buildRules = ( - ); - dependencies = ( - ); - name = lm; - productName = lm; - productReference = 1EE8C2E91476A48E002496F2 /* liblm.a */; - productType = "com.apple.product-type.library.static"; - }; -/* End PBXNativeTarget section */ - -/* Begin PBXProject section */ - 1EE8C2E01476A48E002496F2 /* Project object */ = { - isa = PBXProject; - buildConfigurationList = 1EE8C2E31476A48E002496F2 /* Build configuration list for PBXProject "lm" */; - compatibilityVersion = "Xcode 3.2"; - developmentRegion = English; - hasScannedForEncodings = 0; - knownRegions = ( - en, - ); - mainGroup = 1EE8C2DE1476A48E002496F2; - productRefGroup = 1EE8C2EA1476A48E002496F2 /* Products */; - projectDirPath = ""; - projectRoot = ""; - targets = ( - 1EE8C2E81476A48E002496F2 /* lm */, - ); - }; -/* End PBXProject section */ - -/* Begin PBXSourcesBuildPhase section */ - 1EE8C2E51476A48E002496F2 /* Sources */ = { - isa = PBXSourcesBuildPhase; - buildActionMask = 2147483647; - files = ( - 1EE8C3981476A73C002496F2 /* bhiksha.cc in Sources */, - 1EE8C39A1476A73C002496F2 /* binary_format.cc in Sources */, - 1EE8C39D1476A73C002496F2 /* build_binary.cc in Sources */, - 1EE8C39E1476A73C002496F2 /* config.cc in Sources */, - 1EE8C3A21476A73C002496F2 /* left_test.cc in Sources */, - 1EE8C3A41476A73C002496F2 /* lm_exception.cc in Sources */, - 1EE8C3A81476A73C002496F2 /* model_test.cc in Sources */, - 1EE8C3AA1476A73C002496F2 /* model.cc in Sources */, - 1EE8C3AC1476A73C002496F2 /* ngram_query.cc in Sources */, - 1EE8C3AD1476A73C002496F2 /* quantize.cc in Sources */, - 1EE8C3AF1476A73C002496F2 /* read_arpa.cc in Sources */, - 1EE8C3B21476A73C002496F2 /* search_hashed.cc in Sources */, - 1EE8C3B41476A73C002496F2 /* search_trie.cc in Sources */, - 1EE8C3B61476A73C002496F2 /* trie_sort.cc in Sources */, - 1EE8C3B81476A73C002496F2 /* trie.cc in Sources */, - 1EE8C3BA1476A73C002496F2 /* virtual_interface.cc in Sources */, - 1EE8C3BC1476A73C002496F2 /* vocab.cc in Sources */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; -/* End PBXSourcesBuildPhase section */ - -/* Begin XCBuildConfiguration section */ - 1EE8C2EB1476A48E002496F2 /* Debug */ = { - isa = XCBuildConfiguration; - buildSettings = { - ALWAYS_SEARCH_USER_PATHS = NO; - ARCHS = "$(ARCHS_STANDARD_64_BIT)"; - COPY_PHASE_STRIP = NO; - GCC_C_LANGUAGE_STANDARD = gnu99; - GCC_DYNAMIC_NO_PIC = NO; - GCC_ENABLE_OBJC_EXCEPTIONS = YES; - GCC_OPTIMIZATION_LEVEL = 0; - GCC_PREPROCESSOR_DEFINITIONS = ( - "DEBUG=1", - "$(inherited)", - ); - GCC_SYMBOLS_PRIVATE_EXTERN = NO; - GCC_VERSION = com.apple.compilers.llvm.clang.1_0; - GCC_WARN_64_TO_32_BIT_CONVERSION = YES; - GCC_WARN_ABOUT_MISSING_PROTOTYPES = YES; - GCC_WARN_ABOUT_RETURN_TYPE = YES; - GCC_WARN_UNUSED_VARIABLE = YES; - HEADER_SEARCH_PATHS = ( - ../, - /opt/local/include, - ); - MACOSX_DEPLOYMENT_TARGET = 10.7; - ONLY_ACTIVE_ARCH = YES; - SDKROOT = macosx; - }; - name = Debug; - }; - 1EE8C2EC1476A48E002496F2 /* Release */ = { - isa = XCBuildConfiguration; - buildSettings = { - ALWAYS_SEARCH_USER_PATHS = NO; - ARCHS = "$(ARCHS_STANDARD_64_BIT)"; - COPY_PHASE_STRIP = YES; - DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; - GCC_C_LANGUAGE_STANDARD = gnu99; - GCC_ENABLE_OBJC_EXCEPTIONS = YES; - GCC_VERSION = com.apple.compilers.llvm.clang.1_0; - GCC_WARN_64_TO_32_BIT_CONVERSION = YES; - GCC_WARN_ABOUT_MISSING_PROTOTYPES = YES; - GCC_WARN_ABOUT_RETURN_TYPE = YES; - GCC_WARN_UNUSED_VARIABLE = YES; - HEADER_SEARCH_PATHS = ( - ../, - /opt/local/include, - ); - MACOSX_DEPLOYMENT_TARGET = 10.7; - SDKROOT = macosx; - }; - name = Release; - }; - 1EE8C2EE1476A48E002496F2 /* Debug */ = { - isa = XCBuildConfiguration; - buildSettings = { - EXECUTABLE_PREFIX = lib; - PRODUCT_NAME = "$(TARGET_NAME)"; - }; - name = Debug; - }; - 1EE8C2EF1476A48E002496F2 /* Release */ = { - isa = XCBuildConfiguration; - buildSettings = { - EXECUTABLE_PREFIX = lib; - PRODUCT_NAME = "$(TARGET_NAME)"; - }; - name = Release; - }; -/* End XCBuildConfiguration section */ - -/* Begin XCConfigurationList section */ - 1EE8C2E31476A48E002496F2 /* Build configuration list for PBXProject "lm" */ = { - isa = XCConfigurationList; - buildConfigurations = ( - 1EE8C2EB1476A48E002496F2 /* Debug */, - 1EE8C2EC1476A48E002496F2 /* Release */, - ); - defaultConfigurationIsVisible = 0; - defaultConfigurationName = Release; - }; - 1EE8C2ED1476A48E002496F2 /* Build configuration list for PBXNativeTarget "lm" */ = { - isa = XCConfigurationList; - buildConfigurations = ( - 1EE8C2EE1476A48E002496F2 /* Debug */, - 1EE8C2EF1476A48E002496F2 /* Release */, - ); - defaultConfigurationIsVisible = 0; - defaultConfigurationName = Release; - }; -/* End XCConfigurationList section */ - }; - rootObject = 1EE8C2E01476A48E002496F2 /* Project object */; -} diff --git a/moses/src/Util.h b/moses/src/Util.h index f7a8f3554..77738fc13 100644 --- a/moses/src/Util.h +++ b/moses/src/Util.h @@ -23,7 +23,6 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA #define moses_Util_h #include -#include "util/check.hh" #include #include #include @@ -31,9 +30,10 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA #include #include #include -#include "TypeDef.h" #include #include +#include "util/check.hh" +#include "TypeDef.h" namespace Moses { From 7620258c5171e860dd17b80530f1a59d471c2384 Mon Sep 17 00:00:00 2001 From: Hieu Hoang Date: Sun, 8 Jan 2012 23:17:17 +0700 Subject: [PATCH 22/32] xcode --- .../CreateOnDisk.xcodeproj/project.pbxproj | 56 +++- .../moses-chart-cmd.xcodeproj/project.pbxproj | 245 ++++++++-------- .../moses-cmd.xcodeproj/project.pbxproj | 262 ++++++++---------- .../moses.xcodeproj/project.pbxproj | 8 + 4 files changed, 291 insertions(+), 280 deletions(-) diff --git a/contrib/other-builds/CreateOnDisk.xcodeproj/project.pbxproj b/contrib/other-builds/CreateOnDisk.xcodeproj/project.pbxproj index b51e00ebe..90bf911d3 100644 --- a/contrib/other-builds/CreateOnDisk.xcodeproj/project.pbxproj +++ b/contrib/other-builds/CreateOnDisk.xcodeproj/project.pbxproj @@ -8,6 +8,9 @@ /* Begin PBXBuildFile section */ 1EBA432514B97B35003CC0EA /* Main.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 1EBA432314B97B35003CC0EA /* Main.cpp */; }; + 1EF0707114B9EE800052152A /* liblm.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 1EBA45C014B97EF1003CC0EA /* liblm.a */; }; + 1EF0707214B9EE800052152A /* libmoses.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 1EBA432E14B97CA1003CC0EA /* libmoses.a */; }; + 1EF0707314B9EE800052152A /* libOnDiskPt.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 1EBA433714B97CA6003CC0EA /* libOnDiskPt.a */; }; /* End PBXBuildFile section */ /* Begin PBXContainerItemProxy section */ @@ -32,6 +35,27 @@ remoteGlobalIDString = 1EE8C2E91476A48E002496F2; remoteInfo = lm; }; + 1EF0707614B9EE930052152A /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = 1EBA432F14B97CA6003CC0EA /* OnDiskPt.xcodeproj */; + proxyType = 1; + remoteGlobalIDString = D2AAC045055464E500DB518D; + remoteInfo = OnDiskPt; + }; + 1EF0707814B9EE980052152A /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = 1EBA432614B97CA1003CC0EA /* moses.xcodeproj */; + proxyType = 1; + remoteGlobalIDString = D2AAC045055464E500DB518D; + remoteInfo = moses; + }; + 1EF0707A14B9EE9C0052152A /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = 1EBA45B414B97EF1003CC0EA /* lm.xcodeproj */; + proxyType = 1; + remoteGlobalIDString = 1EE8C2E81476A48E002496F2; + remoteInfo = lm; + }; /* End PBXContainerItemProxy section */ /* Begin PBXCopyFilesBuildPhase section */ @@ -60,6 +84,9 @@ isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( + 1EF0707114B9EE800052152A /* liblm.a in Frameworks */, + 1EF0707214B9EE800052152A /* libmoses.a in Frameworks */, + 1EF0707314B9EE800052152A /* libOnDiskPt.a in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -69,12 +96,12 @@ 08FB7794FE84155DC02AAC07 /* CreateOnDisk */ = { isa = PBXGroup; children = ( - 1EBA45B414B97EF1003CC0EA /* lm.xcodeproj */, - 1EBA432F14B97CA6003CC0EA /* OnDiskPt.xcodeproj */, - 1EBA432614B97CA1003CC0EA /* moses.xcodeproj */, 08FB7795FE84155DC02AAC07 /* Source */, C6859E8C029090F304C91782 /* Documentation */, 1AB674ADFE9D54B511CA2CBB /* Products */, + 1EBA432614B97CA1003CC0EA /* moses.xcodeproj */, + 1EBA432F14B97CA6003CC0EA /* OnDiskPt.xcodeproj */, + 1EBA45B414B97EF1003CC0EA /* lm.xcodeproj */, ); name = CreateOnDisk; sourceTree = ""; @@ -141,6 +168,9 @@ buildRules = ( ); dependencies = ( + 1EF0707B14B9EE9C0052152A /* PBXTargetDependency */, + 1EF0707914B9EE980052152A /* PBXTargetDependency */, + 1EF0707714B9EE930052152A /* PBXTargetDependency */, ); name = CreateOnDisk; productInstallPath = "$(HOME)/bin"; @@ -221,6 +251,24 @@ }; /* End PBXSourcesBuildPhase section */ +/* Begin PBXTargetDependency section */ + 1EF0707714B9EE930052152A /* PBXTargetDependency */ = { + isa = PBXTargetDependency; + name = OnDiskPt; + targetProxy = 1EF0707614B9EE930052152A /* PBXContainerItemProxy */; + }; + 1EF0707914B9EE980052152A /* PBXTargetDependency */ = { + isa = PBXTargetDependency; + name = moses; + targetProxy = 1EF0707814B9EE980052152A /* PBXContainerItemProxy */; + }; + 1EF0707B14B9EE9C0052152A /* PBXTargetDependency */ = { + isa = PBXTargetDependency; + name = lm; + targetProxy = 1EF0707A14B9EE9C0052152A /* PBXContainerItemProxy */; + }; +/* End PBXTargetDependency section */ + /* Begin XCBuildConfiguration section */ 1DEB923208733DC60010E9CD /* Debug */ = { isa = XCBuildConfiguration; @@ -249,7 +297,6 @@ "-loolm", "-lflm", "-llattice", - "-lkenlm", "-lrandlm", ); PRODUCT_NAME = CreateOnDisk; @@ -280,7 +327,6 @@ "-loolm", "-lflm", "-llattice", - "-lkenlm", "-lrandlm", ); PRODUCT_NAME = CreateOnDisk; diff --git a/contrib/other-builds/moses-chart-cmd.xcodeproj/project.pbxproj b/contrib/other-builds/moses-chart-cmd.xcodeproj/project.pbxproj index 68b98f760..25987a430 100644 --- a/contrib/other-builds/moses-chart-cmd.xcodeproj/project.pbxproj +++ b/contrib/other-builds/moses-chart-cmd.xcodeproj/project.pbxproj @@ -7,58 +7,58 @@ objects = { /* Begin PBXBuildFile section */ - 1E87F09311BDCD2E0033951C /* libmoses.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 1E87F08D11BDCD1B0033951C /* libmoses.a */; }; - 1E9DA31511BDC84A00F4DBD1 /* IOWrapper.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 1E9DA30A11BDC84A00F4DBD1 /* IOWrapper.cpp */; }; - 1E9DA31611BDC84A00F4DBD1 /* Main.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 1E9DA30C11BDC84A00F4DBD1 /* Main.cpp */; }; - 1E9DA31811BDC84A00F4DBD1 /* mbr.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 1E9DA31111BDC84A00F4DBD1 /* mbr.cpp */; }; - 1E9DA31911BDC84A00F4DBD1 /* TranslationAnalysis.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 1E9DA31311BDC84A00F4DBD1 /* TranslationAnalysis.cpp */; }; - 1E9DA35011BDC97100F4DBD1 /* libOnDiskPt.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 1E9DA34F11BDC96A00F4DBD1 /* libOnDiskPt.a */; }; - 1EE8C40B1476ABEC002496F2 /* liblm.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 1EE8C3EC1476AB9B002496F2 /* liblm.a */; }; - 1EE8C40C1476ABEC002496F2 /* libutil.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 1EE8C3F31476ABAF002496F2 /* libutil.a */; }; + 1EAF9DC614B9F8CD005E8EBD /* liblm.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 1EAF9DC314B9F8BA005E8EBD /* liblm.a */; }; + 1EAF9DC714B9F8CD005E8EBD /* libmoses.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 1EAF9DAD14B9F8AD005E8EBD /* libmoses.a */; }; + 1EAF9DC814B9F8CD005E8EBD /* libOnDiskPt.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 1EAF9DB614B9F8B1005E8EBD /* libOnDiskPt.a */; }; + 1EAF9DCA14B9F8CD005E8EBD /* libutil.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 1EAF9DC914B9F8CD005E8EBD /* libutil.a */; }; + 1EF0719F14B9F1D40052152A /* IOWrapper.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 1EF0718A14B9F1D40052152A /* IOWrapper.cpp */; }; + 1EF071A214B9F1D40052152A /* Main.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 1EF0718E14B9F1D40052152A /* Main.cpp */; }; + 1EF071A414B9F1D40052152A /* mbr.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 1EF0719114B9F1D40052152A /* mbr.cpp */; }; + 1EF071A614B9F1D40052152A /* TranslationAnalysis.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 1EF0719414B9F1D40052152A /* TranslationAnalysis.cpp */; }; /* End PBXBuildFile section */ /* Begin PBXContainerItemProxy section */ - 1E87F08C11BDCD1B0033951C /* PBXContainerItemProxy */ = { + 1EAF9DAC14B9F8AD005E8EBD /* PBXContainerItemProxy */ = { isa = PBXContainerItemProxy; - containerPortal = 1E9DA33311BDC8BB00F4DBD1 /* moses.xcodeproj */; + containerPortal = 1EAF9DA514B9F8AD005E8EBD /* moses.xcodeproj */; proxyType = 2; remoteGlobalIDString = D2AAC046055464E500DB518D; remoteInfo = moses; }; - 1E87F09411BDCD390033951C /* PBXContainerItemProxy */ = { + 1EAF9DB514B9F8B1005E8EBD /* PBXContainerItemProxy */ = { isa = PBXContainerItemProxy; - containerPortal = 1E9DA33311BDC8BB00F4DBD1 /* moses.xcodeproj */; - proxyType = 1; - remoteGlobalIDString = D2AAC045055464E500DB518D; - remoteInfo = moses; - }; - 1E9DA34E11BDC96A00F4DBD1 /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = 1E9DA34A11BDC96A00F4DBD1 /* OnDiskPt.xcodeproj */; + containerPortal = 1EAF9DAE14B9F8B1005E8EBD /* OnDiskPt.xcodeproj */; proxyType = 2; remoteGlobalIDString = D2AAC046055464E500DB518D; remoteInfo = OnDiskPt; }; - 1E9DA36311BDC9B200F4DBD1 /* PBXContainerItemProxy */ = { + 1EAF9DC214B9F8BA005E8EBD /* PBXContainerItemProxy */ = { isa = PBXContainerItemProxy; - containerPortal = 1E9DA34A11BDC96A00F4DBD1 /* OnDiskPt.xcodeproj */; - proxyType = 1; - remoteGlobalIDString = D2AAC045055464E500DB518D; - remoteInfo = OnDiskPt; - }; - 1EE8C3EB1476AB9B002496F2 /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = 1EE8C3E71476AB9B002496F2 /* lm.xcodeproj */; + containerPortal = 1EAF9DB714B9F8B9005E8EBD /* lm.xcodeproj */; proxyType = 2; remoteGlobalIDString = 1EE8C2E91476A48E002496F2; remoteInfo = lm; }; - 1EE8C3F21476ABAF002496F2 /* PBXContainerItemProxy */ = { + 1EAF9DCB14B9F8D6005E8EBD /* PBXContainerItemProxy */ = { isa = PBXContainerItemProxy; - containerPortal = 1EE8C3EE1476ABAE002496F2 /* util.xcodeproj */; - proxyType = 2; - remoteGlobalIDString = 1EE8C2711476A262002496F2; - remoteInfo = util; + containerPortal = 1EAF9DAE14B9F8B1005E8EBD /* OnDiskPt.xcodeproj */; + proxyType = 1; + remoteGlobalIDString = D2AAC045055464E500DB518D; + remoteInfo = OnDiskPt; + }; + 1EAF9DCD14B9F8D6005E8EBD /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = 1EAF9DA514B9F8AD005E8EBD /* moses.xcodeproj */; + proxyType = 1; + remoteGlobalIDString = D2AAC045055464E500DB518D; + remoteInfo = moses; + }; + 1EAF9DCF14B9F8D6005E8EBD /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = 1EAF9DB714B9F8B9005E8EBD /* lm.xcodeproj */; + proxyType = 1; + remoteGlobalIDString = 1EE8C2E81476A48E002496F2; + remoteInfo = lm; }; /* End PBXContainerItemProxy section */ @@ -75,18 +75,18 @@ /* End PBXCopyFilesBuildPhase section */ /* Begin PBXFileReference section */ - 1E9DA30A11BDC84A00F4DBD1 /* IOWrapper.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = IOWrapper.cpp; path = src/IOWrapper.cpp; sourceTree = ""; }; - 1E9DA30B11BDC84A00F4DBD1 /* IOWrapper.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = IOWrapper.h; path = src/IOWrapper.h; sourceTree = ""; }; - 1E9DA30C11BDC84A00F4DBD1 /* Main.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = Main.cpp; path = src/Main.cpp; sourceTree = ""; }; - 1E9DA30D11BDC84A00F4DBD1 /* Main.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = Main.h; path = src/Main.h; sourceTree = ""; }; - 1E9DA31111BDC84A00F4DBD1 /* mbr.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = mbr.cpp; path = src/mbr.cpp; sourceTree = ""; }; - 1E9DA31211BDC84A00F4DBD1 /* mbr.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = mbr.h; path = src/mbr.h; sourceTree = ""; }; - 1E9DA31311BDC84A00F4DBD1 /* TranslationAnalysis.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = TranslationAnalysis.cpp; path = src/TranslationAnalysis.cpp; sourceTree = ""; }; - 1E9DA31411BDC84A00F4DBD1 /* TranslationAnalysis.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = TranslationAnalysis.h; path = src/TranslationAnalysis.h; sourceTree = ""; }; - 1E9DA33311BDC8BB00F4DBD1 /* moses.xcodeproj */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.pb-project"; name = moses.xcodeproj; path = ../moses/moses.xcodeproj; sourceTree = SOURCE_ROOT; }; - 1E9DA34A11BDC96A00F4DBD1 /* OnDiskPt.xcodeproj */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.pb-project"; name = OnDiskPt.xcodeproj; path = ../OnDiskPt/OnDiskPt.xcodeproj; sourceTree = SOURCE_ROOT; }; - 1EE8C3E71476AB9B002496F2 /* lm.xcodeproj */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.pb-project"; name = lm.xcodeproj; path = ../lm/lm.xcodeproj; sourceTree = ""; }; - 1EE8C3EE1476ABAE002496F2 /* util.xcodeproj */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.pb-project"; name = util.xcodeproj; path = ../util/util.xcodeproj; sourceTree = ""; }; + 1EAF9DA514B9F8AD005E8EBD /* moses.xcodeproj */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.pb-project"; path = moses.xcodeproj; sourceTree = ""; }; + 1EAF9DAE14B9F8B1005E8EBD /* OnDiskPt.xcodeproj */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.pb-project"; path = OnDiskPt.xcodeproj; sourceTree = ""; }; + 1EAF9DB714B9F8B9005E8EBD /* lm.xcodeproj */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.pb-project"; path = lm.xcodeproj; sourceTree = ""; }; + 1EAF9DC914B9F8CD005E8EBD /* libutil.a */ = {isa = PBXFileReference; lastKnownFileType = file; name = libutil.a; path = ../../util/build/Release/libutil.a; sourceTree = ""; }; + 1EF0718A14B9F1D40052152A /* IOWrapper.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = IOWrapper.cpp; path = "../../moses-chart-cmd/src/IOWrapper.cpp"; sourceTree = ""; }; + 1EF0718B14B9F1D40052152A /* IOWrapper.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = IOWrapper.h; path = "../../moses-chart-cmd/src/IOWrapper.h"; sourceTree = ""; }; + 1EF0718E14B9F1D40052152A /* Main.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = Main.cpp; path = "../../moses-chart-cmd/src/Main.cpp"; sourceTree = ""; }; + 1EF0718F14B9F1D40052152A /* Main.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = Main.h; path = "../../moses-chart-cmd/src/Main.h"; sourceTree = ""; }; + 1EF0719114B9F1D40052152A /* mbr.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = mbr.cpp; path = "../../moses-chart-cmd/src/mbr.cpp"; sourceTree = ""; }; + 1EF0719214B9F1D40052152A /* mbr.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = mbr.h; path = "../../moses-chart-cmd/src/mbr.h"; sourceTree = ""; }; + 1EF0719414B9F1D40052152A /* TranslationAnalysis.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = TranslationAnalysis.cpp; path = "../../moses-chart-cmd/src/TranslationAnalysis.cpp"; sourceTree = ""; }; + 1EF0719514B9F1D40052152A /* TranslationAnalysis.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = TranslationAnalysis.h; path = "../../moses-chart-cmd/src/TranslationAnalysis.h"; sourceTree = ""; }; 8DD76F6C0486A84900D96B5E /* moses-chart-cmd */ = {isa = PBXFileReference; explicitFileType = "compiled.mach-o.executable"; includeInIndex = 0; path = "moses-chart-cmd"; sourceTree = BUILT_PRODUCTS_DIR; }; /* End PBXFileReference section */ @@ -95,10 +95,10 @@ isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( - 1EE8C40B1476ABEC002496F2 /* liblm.a in Frameworks */, - 1EE8C40C1476ABEC002496F2 /* libutil.a in Frameworks */, - 1E87F09311BDCD2E0033951C /* libmoses.a in Frameworks */, - 1E9DA35011BDC97100F4DBD1 /* libOnDiskPt.a in Frameworks */, + 1EAF9DCA14B9F8CD005E8EBD /* libutil.a in Frameworks */, + 1EAF9DC614B9F8CD005E8EBD /* liblm.a in Frameworks */, + 1EAF9DC714B9F8CD005E8EBD /* libmoses.a in Frameworks */, + 1EAF9DC814B9F8CD005E8EBD /* libOnDiskPt.a in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -108,13 +108,13 @@ 08FB7794FE84155DC02AAC07 /* moses-chart-cmd */ = { isa = PBXGroup; children = ( - 1EE8C3EE1476ABAE002496F2 /* util.xcodeproj */, - 1EE8C3E71476AB9B002496F2 /* lm.xcodeproj */, - 1E9DA34A11BDC96A00F4DBD1 /* OnDiskPt.xcodeproj */, - 1E9DA33311BDC8BB00F4DBD1 /* moses.xcodeproj */, + 1EAF9DC914B9F8CD005E8EBD /* libutil.a */, 08FB7795FE84155DC02AAC07 /* Source */, C6859E8C029090F304C91782 /* Documentation */, 1AB674ADFE9D54B511CA2CBB /* Products */, + 1EAF9DB714B9F8B9005E8EBD /* lm.xcodeproj */, + 1EAF9DA514B9F8AD005E8EBD /* moses.xcodeproj */, + 1EAF9DAE14B9F8B1005E8EBD /* OnDiskPt.xcodeproj */, ); name = "moses-chart-cmd"; sourceTree = ""; @@ -122,14 +122,14 @@ 08FB7795FE84155DC02AAC07 /* Source */ = { isa = PBXGroup; children = ( - 1E9DA30A11BDC84A00F4DBD1 /* IOWrapper.cpp */, - 1E9DA30B11BDC84A00F4DBD1 /* IOWrapper.h */, - 1E9DA30C11BDC84A00F4DBD1 /* Main.cpp */, - 1E9DA30D11BDC84A00F4DBD1 /* Main.h */, - 1E9DA31111BDC84A00F4DBD1 /* mbr.cpp */, - 1E9DA31211BDC84A00F4DBD1 /* mbr.h */, - 1E9DA31311BDC84A00F4DBD1 /* TranslationAnalysis.cpp */, - 1E9DA31411BDC84A00F4DBD1 /* TranslationAnalysis.h */, + 1EF0718A14B9F1D40052152A /* IOWrapper.cpp */, + 1EF0718B14B9F1D40052152A /* IOWrapper.h */, + 1EF0718E14B9F1D40052152A /* Main.cpp */, + 1EF0718F14B9F1D40052152A /* Main.h */, + 1EF0719114B9F1D40052152A /* mbr.cpp */, + 1EF0719214B9F1D40052152A /* mbr.h */, + 1EF0719414B9F1D40052152A /* TranslationAnalysis.cpp */, + 1EF0719514B9F1D40052152A /* TranslationAnalysis.h */, ); name = Source; sourceTree = ""; @@ -142,34 +142,26 @@ name = Products; sourceTree = ""; }; - 1E9DA33411BDC8BB00F4DBD1 /* Products */ = { + 1EAF9DA614B9F8AD005E8EBD /* Products */ = { isa = PBXGroup; children = ( - 1E87F08D11BDCD1B0033951C /* libmoses.a */, + 1EAF9DAD14B9F8AD005E8EBD /* libmoses.a */, ); name = Products; sourceTree = ""; }; - 1E9DA34B11BDC96A00F4DBD1 /* Products */ = { + 1EAF9DAF14B9F8B1005E8EBD /* Products */ = { isa = PBXGroup; children = ( - 1E9DA34F11BDC96A00F4DBD1 /* libOnDiskPt.a */, + 1EAF9DB614B9F8B1005E8EBD /* libOnDiskPt.a */, ); name = Products; sourceTree = ""; }; - 1EE8C3E81476AB9B002496F2 /* Products */ = { + 1EAF9DB814B9F8B9005E8EBD /* Products */ = { isa = PBXGroup; children = ( - 1EE8C3EC1476AB9B002496F2 /* liblm.a */, - ); - name = Products; - sourceTree = ""; - }; - 1EE8C3EF1476ABAE002496F2 /* Products */ = { - isa = PBXGroup; - children = ( - 1EE8C3F31476ABAF002496F2 /* libutil.a */, + 1EAF9DC314B9F8BA005E8EBD /* liblm.a */, ); name = Products; sourceTree = ""; @@ -195,8 +187,9 @@ buildRules = ( ); dependencies = ( - 1E9DA36411BDC9B200F4DBD1 /* PBXTargetDependency */, - 1E87F09511BDCD390033951C /* PBXTargetDependency */, + 1EAF9DCC14B9F8D6005E8EBD /* PBXTargetDependency */, + 1EAF9DCE14B9F8D6005E8EBD /* PBXTargetDependency */, + 1EAF9DD014B9F8D6005E8EBD /* PBXTargetDependency */, ); name = "moses-chart-cmd"; productInstallPath = "$(HOME)/bin"; @@ -223,20 +216,16 @@ projectDirPath = ""; projectReferences = ( { - ProductGroup = 1EE8C3E81476AB9B002496F2 /* Products */; - ProjectRef = 1EE8C3E71476AB9B002496F2 /* lm.xcodeproj */; + ProductGroup = 1EAF9DB814B9F8B9005E8EBD /* Products */; + ProjectRef = 1EAF9DB714B9F8B9005E8EBD /* lm.xcodeproj */; }, { - ProductGroup = 1E9DA33411BDC8BB00F4DBD1 /* Products */; - ProjectRef = 1E9DA33311BDC8BB00F4DBD1 /* moses.xcodeproj */; + ProductGroup = 1EAF9DA614B9F8AD005E8EBD /* Products */; + ProjectRef = 1EAF9DA514B9F8AD005E8EBD /* moses.xcodeproj */; }, { - ProductGroup = 1E9DA34B11BDC96A00F4DBD1 /* Products */; - ProjectRef = 1E9DA34A11BDC96A00F4DBD1 /* OnDiskPt.xcodeproj */; - }, - { - ProductGroup = 1EE8C3EF1476ABAE002496F2 /* Products */; - ProjectRef = 1EE8C3EE1476ABAE002496F2 /* util.xcodeproj */; + ProductGroup = 1EAF9DAF14B9F8B1005E8EBD /* Products */; + ProjectRef = 1EAF9DAE14B9F8B1005E8EBD /* OnDiskPt.xcodeproj */; }, ); projectRoot = ""; @@ -247,32 +236,25 @@ /* End PBXProject section */ /* Begin PBXReferenceProxy section */ - 1E87F08D11BDCD1B0033951C /* libmoses.a */ = { + 1EAF9DAD14B9F8AD005E8EBD /* libmoses.a */ = { isa = PBXReferenceProxy; fileType = archive.ar; path = libmoses.a; - remoteRef = 1E87F08C11BDCD1B0033951C /* PBXContainerItemProxy */; + remoteRef = 1EAF9DAC14B9F8AD005E8EBD /* PBXContainerItemProxy */; sourceTree = BUILT_PRODUCTS_DIR; }; - 1E9DA34F11BDC96A00F4DBD1 /* libOnDiskPt.a */ = { + 1EAF9DB614B9F8B1005E8EBD /* libOnDiskPt.a */ = { isa = PBXReferenceProxy; fileType = archive.ar; path = libOnDiskPt.a; - remoteRef = 1E9DA34E11BDC96A00F4DBD1 /* PBXContainerItemProxy */; + remoteRef = 1EAF9DB514B9F8B1005E8EBD /* PBXContainerItemProxy */; sourceTree = BUILT_PRODUCTS_DIR; }; - 1EE8C3EC1476AB9B002496F2 /* liblm.a */ = { + 1EAF9DC314B9F8BA005E8EBD /* liblm.a */ = { isa = PBXReferenceProxy; fileType = archive.ar; path = liblm.a; - remoteRef = 1EE8C3EB1476AB9B002496F2 /* PBXContainerItemProxy */; - sourceTree = BUILT_PRODUCTS_DIR; - }; - 1EE8C3F31476ABAF002496F2 /* libutil.a */ = { - isa = PBXReferenceProxy; - fileType = archive.ar; - path = libutil.a; - remoteRef = 1EE8C3F21476ABAF002496F2 /* PBXContainerItemProxy */; + remoteRef = 1EAF9DC214B9F8BA005E8EBD /* PBXContainerItemProxy */; sourceTree = BUILT_PRODUCTS_DIR; }; /* End PBXReferenceProxy section */ @@ -282,25 +264,30 @@ isa = PBXSourcesBuildPhase; buildActionMask = 2147483647; files = ( - 1E9DA31511BDC84A00F4DBD1 /* IOWrapper.cpp in Sources */, - 1E9DA31611BDC84A00F4DBD1 /* Main.cpp in Sources */, - 1E9DA31811BDC84A00F4DBD1 /* mbr.cpp in Sources */, - 1E9DA31911BDC84A00F4DBD1 /* TranslationAnalysis.cpp in Sources */, + 1EF0719F14B9F1D40052152A /* IOWrapper.cpp in Sources */, + 1EF071A214B9F1D40052152A /* Main.cpp in Sources */, + 1EF071A414B9F1D40052152A /* mbr.cpp in Sources */, + 1EF071A614B9F1D40052152A /* TranslationAnalysis.cpp in Sources */, ); runOnlyForDeploymentPostprocessing = 0; }; /* End PBXSourcesBuildPhase section */ /* Begin PBXTargetDependency section */ - 1E87F09511BDCD390033951C /* PBXTargetDependency */ = { - isa = PBXTargetDependency; - name = moses; - targetProxy = 1E87F09411BDCD390033951C /* PBXContainerItemProxy */; - }; - 1E9DA36411BDC9B200F4DBD1 /* PBXTargetDependency */ = { + 1EAF9DCC14B9F8D6005E8EBD /* PBXTargetDependency */ = { isa = PBXTargetDependency; name = OnDiskPt; - targetProxy = 1E9DA36311BDC9B200F4DBD1 /* PBXContainerItemProxy */; + targetProxy = 1EAF9DCB14B9F8D6005E8EBD /* PBXContainerItemProxy */; + }; + 1EAF9DCE14B9F8D6005E8EBD /* PBXTargetDependency */ = { + isa = PBXTargetDependency; + name = moses; + targetProxy = 1EAF9DCD14B9F8D6005E8EBD /* PBXContainerItemProxy */; + }; + 1EAF9DD014B9F8D6005E8EBD /* PBXTargetDependency */ = { + isa = PBXTargetDependency; + name = lm; + targetProxy = 1EAF9DCF14B9F8D6005E8EBD /* PBXContainerItemProxy */; }; /* End PBXTargetDependency section */ @@ -319,17 +306,11 @@ _LARGE_FILES, "_FILE_OFFSET_BITS=64", ); - HEADER_SEARCH_PATHS = ( - .., - ../moses/src, - ../kenlm, - /opt/local/include, - ); + HEADER_SEARCH_PATHS = /opt/local/include; INSTALL_PATH = /usr/local/bin; LIBRARY_SEARCH_PATHS = ( - ../irstlm/lib, - ../srilm/lib/macosx, - ../kenlm, + ../../irstlm/lib, + ../../srilm/lib/macosx, ); OTHER_LDFLAGS = ( "-lz", @@ -341,6 +322,7 @@ "-llattice", ); PRODUCT_NAME = "moses-chart-cmd"; + USER_HEADER_SEARCH_PATHS = "../../ ../../moses/src"; }; name = Debug; }; @@ -355,17 +337,11 @@ _LARGE_FILES, "_FILE_OFFSET_BITS=64", ); - HEADER_SEARCH_PATHS = ( - .., - ../moses/src, - ../kenlm, - /opt/local/include, - ); + HEADER_SEARCH_PATHS = /opt/local/include; INSTALL_PATH = /usr/local/bin; LIBRARY_SEARCH_PATHS = ( - ../irstlm/lib, - ../srilm/lib/macosx, - ../kenlm, + ../../irstlm/lib, + ../../srilm/lib/macosx, ); OTHER_LDFLAGS = ( "-lz", @@ -377,6 +353,7 @@ "-llattice", ); PRODUCT_NAME = "moses-chart-cmd"; + USER_HEADER_SEARCH_PATHS = "../../ ../../moses/src"; }; name = Release; }; @@ -390,8 +367,9 @@ GCC_WARN_ABOUT_RETURN_TYPE = YES; GCC_WARN_UNUSED_VARIABLE = YES; HEADER_SEARCH_PATHS = ( - ../moses/src, - ../, + ../../moses/src, + ../.., + "/Users/hieuhoang/workspace/github/moses-smt/moses/src/**", ); ONLY_ACTIVE_ARCH = YES; PREBINDING = NO; @@ -408,8 +386,9 @@ GCC_WARN_ABOUT_RETURN_TYPE = YES; GCC_WARN_UNUSED_VARIABLE = YES; HEADER_SEARCH_PATHS = ( - ../moses/src, - ../, + ../../moses/src, + ../.., + "/Users/hieuhoang/workspace/github/moses-smt/moses/src/**", ); ONLY_ACTIVE_ARCH = YES; PREBINDING = NO; diff --git a/contrib/other-builds/moses-cmd.xcodeproj/project.pbxproj b/contrib/other-builds/moses-cmd.xcodeproj/project.pbxproj index e3e80b479..927961b2f 100644 --- a/contrib/other-builds/moses-cmd.xcodeproj/project.pbxproj +++ b/contrib/other-builds/moses-cmd.xcodeproj/project.pbxproj @@ -7,63 +7,60 @@ objects = { /* Begin PBXBuildFile section */ - 03306D820C0B249A00CA1311 /* mbr.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 03306D800C0B249A00CA1311 /* mbr.cpp */; }; - 03306D830C0B249A00CA1311 /* mbr.h in CopyFiles */ = {isa = PBXBuildFile; fileRef = 03306D810C0B249A00CA1311 /* mbr.h */; }; - 1C8CFF4D0AD68D3600FA22E2 /* Main.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 1C8CFF450AD68D3600FA22E2 /* Main.cpp */; }; - 1C8CFF4E0AD68D3600FA22E2 /* Main.h in CopyFiles */ = {isa = PBXBuildFile; fileRef = 1C8CFF460AD68D3600FA22E2 /* Main.h */; }; - 1C8CFF4F0AD68D3600FA22E2 /* TranslationAnalysis.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 1C8CFF470AD68D3600FA22E2 /* TranslationAnalysis.cpp */; }; - 1C8CFF500AD68D3600FA22E2 /* TranslationAnalysis.h in CopyFiles */ = {isa = PBXBuildFile; fileRef = 1C8CFF480AD68D3600FA22E2 /* TranslationAnalysis.h */; }; - 1CE646E411679F6900EC77CC /* libOnDiskPt.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 1CE646E311679F5F00EC77CC /* libOnDiskPt.a */; }; - 1EE8C2DD1476A3F2002496F2 /* libutil.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 1EE8C2DC1476A34A002496F2 /* libutil.a */; }; - 1EE8C3C91476AB64002496F2 /* liblm.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 1EE8C3C81476AB3C002496F2 /* liblm.a */; }; - B219B8540E93812700EAB407 /* libmoses.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 03306D670C0B240B00CA1311 /* libmoses.a */; }; - B219B8580E9381AC00EAB407 /* IOWrapper.cpp in Sources */ = {isa = PBXBuildFile; fileRef = B219B8560E9381AC00EAB407 /* IOWrapper.cpp */; }; - B28B1ED3110F52BB00AAD188 /* LatticeMBR.cpp in Sources */ = {isa = PBXBuildFile; fileRef = B28B1ED2110F52BB00AAD188 /* LatticeMBR.cpp */; }; + 1EAF9D7A14B9F566005E8EBD /* IOWrapper.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 1EAF9D5B14B9F566005E8EBD /* IOWrapper.cpp */; }; + 1EAF9D7C14B9F566005E8EBD /* Jamfile in Sources */ = {isa = PBXBuildFile; fileRef = 1EAF9D5E14B9F566005E8EBD /* Jamfile */; }; + 1EAF9D7D14B9F566005E8EBD /* LatticeMBR.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 1EAF9D5F14B9F566005E8EBD /* LatticeMBR.cpp */; }; + 1EAF9D8114B9F566005E8EBD /* Main.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 1EAF9D6414B9F566005E8EBD /* Main.cpp */; }; + 1EAF9D8314B9F566005E8EBD /* mbr.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 1EAF9D6714B9F566005E8EBD /* mbr.cpp */; }; + 1EAF9D8514B9F566005E8EBD /* TranslationAnalysis.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 1EAF9D6A14B9F566005E8EBD /* TranslationAnalysis.cpp */; }; + 1EAF9D9D14B9F7B6005E8EBD /* libOnDiskPt.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 1EAF9D9C14B9F7A6005E8EBD /* libOnDiskPt.a */; }; + 1EF070A914B9F0380052152A /* liblm.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 1EF0708A14B9EF070052152A /* liblm.a */; }; + 1EF070AA14B9F0380052152A /* libmoses.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 1EF0709014B9EF0E0052152A /* libmoses.a */; }; /* End PBXBuildFile section */ /* Begin PBXContainerItemProxy section */ - 03306D660C0B240B00CA1311 /* PBXContainerItemProxy */ = { + 1EAF9D9B14B9F7A6005E8EBD /* PBXContainerItemProxy */ = { isa = PBXContainerItemProxy; - containerPortal = 03306D5F0C0B240B00CA1311 /* moses.xcodeproj */; - proxyType = 2; - remoteGlobalIDString = D2AAC046055464E500DB518D; - remoteInfo = moses; - }; - 03306D770C0B244800CA1311 /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = 03306D5F0C0B240B00CA1311 /* moses.xcodeproj */; - proxyType = 1; - remoteGlobalIDString = D2AAC045055464E500DB518D; - remoteInfo = moses; - }; - 1CE646E211679F5F00EC77CC /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = 1CE646DB11679F5F00EC77CC /* OnDiskPt.xcodeproj */; + containerPortal = 1EAF9D9414B9F7A6005E8EBD /* OnDiskPt.xcodeproj */; proxyType = 2; remoteGlobalIDString = D2AAC046055464E500DB518D; remoteInfo = OnDiskPt; }; - 1CE6472D1167A11600EC77CC /* PBXContainerItemProxy */ = { + 1EAF9D9E14B9F7BD005E8EBD /* PBXContainerItemProxy */ = { isa = PBXContainerItemProxy; - containerPortal = 1CE646DB11679F5F00EC77CC /* OnDiskPt.xcodeproj */; + containerPortal = 1EAF9D9414B9F7A6005E8EBD /* OnDiskPt.xcodeproj */; proxyType = 1; remoteGlobalIDString = D2AAC045055464E500DB518D; remoteInfo = OnDiskPt; }; - 1EE8C2DB1476A34A002496F2 /* PBXContainerItemProxy */ = { + 1EF0708914B9EF070052152A /* PBXContainerItemProxy */ = { isa = PBXContainerItemProxy; - containerPortal = 1EE8C2D41476A34A002496F2 /* util.xcodeproj */; - proxyType = 2; - remoteGlobalIDString = 1EE8C2711476A262002496F2; - remoteInfo = util; - }; - 1EE8C3C71476AB3C002496F2 /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = 1EE8C3C01476AB3C002496F2 /* lm.xcodeproj */; + containerPortal = 1EF0708514B9EF070052152A /* lm.xcodeproj */; proxyType = 2; remoteGlobalIDString = 1EE8C2E91476A48E002496F2; remoteInfo = lm; }; + 1EF0708F14B9EF0E0052152A /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = 1EF0708B14B9EF0D0052152A /* moses.xcodeproj */; + proxyType = 2; + remoteGlobalIDString = D2AAC046055464E500DB518D; + remoteInfo = moses; + }; + 1EF070AD14B9F03F0052152A /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = 1EF0708B14B9EF0D0052152A /* moses.xcodeproj */; + proxyType = 1; + remoteGlobalIDString = D2AAC045055464E500DB518D; + remoteInfo = moses; + }; + 1EF070AF14B9F0430052152A /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = 1EF0708514B9EF070052152A /* lm.xcodeproj */; + proxyType = 1; + remoteGlobalIDString = 1EE8C2E81476A48E002496F2; + remoteInfo = lm; + }; /* End PBXContainerItemProxy section */ /* Begin PBXCopyFilesBuildPhase section */ @@ -73,30 +70,27 @@ dstPath = /usr/share/man/man1/; dstSubfolderSpec = 0; files = ( - 1C8CFF4E0AD68D3600FA22E2 /* Main.h in CopyFiles */, - 1C8CFF500AD68D3600FA22E2 /* TranslationAnalysis.h in CopyFiles */, - 03306D830C0B249A00CA1311 /* mbr.h in CopyFiles */, ); runOnlyForDeploymentPostprocessing = 1; }; /* End PBXCopyFilesBuildPhase section */ /* Begin PBXFileReference section */ - 03306D5F0C0B240B00CA1311 /* moses.xcodeproj */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.pb-project"; name = moses.xcodeproj; path = ../moses/moses.xcodeproj; sourceTree = SOURCE_ROOT; }; - 03306D800C0B249A00CA1311 /* mbr.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; name = mbr.cpp; path = src/mbr.cpp; sourceTree = ""; }; - 03306D810C0B249A00CA1311 /* mbr.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; name = mbr.h; path = src/mbr.h; sourceTree = ""; }; - 1C8CFF450AD68D3600FA22E2 /* Main.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; name = Main.cpp; path = src/Main.cpp; sourceTree = ""; }; - 1C8CFF460AD68D3600FA22E2 /* Main.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; name = Main.h; path = src/Main.h; sourceTree = ""; }; - 1C8CFF470AD68D3600FA22E2 /* TranslationAnalysis.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; name = TranslationAnalysis.cpp; path = src/TranslationAnalysis.cpp; sourceTree = ""; }; - 1C8CFF480AD68D3600FA22E2 /* TranslationAnalysis.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; name = TranslationAnalysis.h; path = src/TranslationAnalysis.h; sourceTree = ""; }; - 1CE646DB11679F5F00EC77CC /* OnDiskPt.xcodeproj */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.pb-project"; name = OnDiskPt.xcodeproj; path = ../OnDiskPt/OnDiskPt.xcodeproj; sourceTree = SOURCE_ROOT; }; - 1EE8C2D41476A34A002496F2 /* util.xcodeproj */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.pb-project"; name = util.xcodeproj; path = ../util/util.xcodeproj; sourceTree = ""; }; - 1EE8C3C01476AB3C002496F2 /* lm.xcodeproj */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.pb-project"; name = lm.xcodeproj; path = ../lm/lm.xcodeproj; sourceTree = ""; }; + 1EAF9D5B14B9F566005E8EBD /* IOWrapper.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = IOWrapper.cpp; path = "../../moses-cmd/src/IOWrapper.cpp"; sourceTree = ""; }; + 1EAF9D5C14B9F566005E8EBD /* IOWrapper.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = IOWrapper.h; path = "../../moses-cmd/src/IOWrapper.h"; sourceTree = ""; }; + 1EAF9D5E14B9F566005E8EBD /* Jamfile */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.jam; name = Jamfile; path = "../../moses-cmd/src/Jamfile"; sourceTree = ""; }; + 1EAF9D5F14B9F566005E8EBD /* LatticeMBR.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = LatticeMBR.cpp; path = "../../moses-cmd/src/LatticeMBR.cpp"; sourceTree = ""; }; + 1EAF9D6014B9F566005E8EBD /* LatticeMBR.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = LatticeMBR.h; path = "../../moses-cmd/src/LatticeMBR.h"; sourceTree = ""; }; + 1EAF9D6414B9F566005E8EBD /* Main.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = Main.cpp; path = "../../moses-cmd/src/Main.cpp"; sourceTree = ""; }; + 1EAF9D6514B9F566005E8EBD /* Main.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = Main.h; path = "../../moses-cmd/src/Main.h"; sourceTree = ""; }; + 1EAF9D6714B9F566005E8EBD /* mbr.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = mbr.cpp; path = "../../moses-cmd/src/mbr.cpp"; sourceTree = ""; }; + 1EAF9D6814B9F566005E8EBD /* mbr.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = mbr.h; path = "../../moses-cmd/src/mbr.h"; sourceTree = ""; }; + 1EAF9D6A14B9F566005E8EBD /* TranslationAnalysis.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = TranslationAnalysis.cpp; path = "../../moses-cmd/src/TranslationAnalysis.cpp"; sourceTree = ""; }; + 1EAF9D6B14B9F566005E8EBD /* TranslationAnalysis.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = TranslationAnalysis.h; path = "../../moses-cmd/src/TranslationAnalysis.h"; sourceTree = ""; }; + 1EAF9D9414B9F7A6005E8EBD /* OnDiskPt.xcodeproj */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.pb-project"; path = OnDiskPt.xcodeproj; sourceTree = ""; }; + 1EF0708514B9EF070052152A /* lm.xcodeproj */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.pb-project"; path = lm.xcodeproj; sourceTree = ""; }; + 1EF0708B14B9EF0D0052152A /* moses.xcodeproj */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.pb-project"; path = moses.xcodeproj; sourceTree = ""; }; 8DD76F6C0486A84900D96B5E /* moses-cmd */ = {isa = PBXFileReference; explicitFileType = "compiled.mach-o.executable"; includeInIndex = 0; path = "moses-cmd"; sourceTree = BUILT_PRODUCTS_DIR; }; - B219B8560E9381AC00EAB407 /* IOWrapper.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = IOWrapper.cpp; path = src/IOWrapper.cpp; sourceTree = ""; }; - B219B8570E9381AC00EAB407 /* IOWrapper.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = IOWrapper.h; path = src/IOWrapper.h; sourceTree = ""; }; - B28B1ED2110F52BB00AAD188 /* LatticeMBR.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = LatticeMBR.cpp; path = src/LatticeMBR.cpp; sourceTree = ""; }; - B28B1ED4110F52C600AAD188 /* LatticeMBR.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = LatticeMBR.h; path = src/LatticeMBR.h; sourceTree = ""; }; /* End PBXFileReference section */ /* Begin PBXFrameworksBuildPhase section */ @@ -104,34 +98,24 @@ isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( - 1EE8C3C91476AB64002496F2 /* liblm.a in Frameworks */, - 1EE8C2DD1476A3F2002496F2 /* libutil.a in Frameworks */, - 1CE646E411679F6900EC77CC /* libOnDiskPt.a in Frameworks */, - B219B8540E93812700EAB407 /* libmoses.a in Frameworks */, + 1EAF9D9D14B9F7B6005E8EBD /* libOnDiskPt.a in Frameworks */, + 1EF070A914B9F0380052152A /* liblm.a in Frameworks */, + 1EF070AA14B9F0380052152A /* libmoses.a in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; /* End PBXFrameworksBuildPhase section */ /* Begin PBXGroup section */ - 03306D600C0B240B00CA1311 /* Products */ = { - isa = PBXGroup; - children = ( - 03306D670C0B240B00CA1311 /* libmoses.a */, - ); - name = Products; - sourceTree = ""; - }; 08FB7794FE84155DC02AAC07 /* moses-cmd */ = { isa = PBXGroup; children = ( - 1EE8C3C01476AB3C002496F2 /* lm.xcodeproj */, - 1EE8C2D41476A34A002496F2 /* util.xcodeproj */, - 1CE646DB11679F5F00EC77CC /* OnDiskPt.xcodeproj */, - 03306D5F0C0B240B00CA1311 /* moses.xcodeproj */, 08FB7795FE84155DC02AAC07 /* Source */, C6859E8C029090F304C91782 /* Documentation */, 1AB674ADFE9D54B511CA2CBB /* Products */, + 1EAF9D9414B9F7A6005E8EBD /* OnDiskPt.xcodeproj */, + 1EF0708514B9EF070052152A /* lm.xcodeproj */, + 1EF0708B14B9EF0D0052152A /* moses.xcodeproj */, ); name = "moses-cmd"; sourceTree = ""; @@ -139,16 +123,17 @@ 08FB7795FE84155DC02AAC07 /* Source */ = { isa = PBXGroup; children = ( - B28B1ED4110F52C600AAD188 /* LatticeMBR.h */, - B28B1ED2110F52BB00AAD188 /* LatticeMBR.cpp */, - B219B8560E9381AC00EAB407 /* IOWrapper.cpp */, - B219B8570E9381AC00EAB407 /* IOWrapper.h */, - 03306D800C0B249A00CA1311 /* mbr.cpp */, - 03306D810C0B249A00CA1311 /* mbr.h */, - 1C8CFF450AD68D3600FA22E2 /* Main.cpp */, - 1C8CFF460AD68D3600FA22E2 /* Main.h */, - 1C8CFF470AD68D3600FA22E2 /* TranslationAnalysis.cpp */, - 1C8CFF480AD68D3600FA22E2 /* TranslationAnalysis.h */, + 1EAF9D5B14B9F566005E8EBD /* IOWrapper.cpp */, + 1EAF9D5C14B9F566005E8EBD /* IOWrapper.h */, + 1EAF9D5E14B9F566005E8EBD /* Jamfile */, + 1EAF9D5F14B9F566005E8EBD /* LatticeMBR.cpp */, + 1EAF9D6014B9F566005E8EBD /* LatticeMBR.h */, + 1EAF9D6414B9F566005E8EBD /* Main.cpp */, + 1EAF9D6514B9F566005E8EBD /* Main.h */, + 1EAF9D6714B9F566005E8EBD /* mbr.cpp */, + 1EAF9D6814B9F566005E8EBD /* mbr.h */, + 1EAF9D6A14B9F566005E8EBD /* TranslationAnalysis.cpp */, + 1EAF9D6B14B9F566005E8EBD /* TranslationAnalysis.h */, ); name = Source; sourceTree = ""; @@ -161,26 +146,26 @@ name = Products; sourceTree = ""; }; - 1CE646DC11679F5F00EC77CC /* Products */ = { + 1EAF9D9514B9F7A6005E8EBD /* Products */ = { isa = PBXGroup; children = ( - 1CE646E311679F5F00EC77CC /* libOnDiskPt.a */, + 1EAF9D9C14B9F7A6005E8EBD /* libOnDiskPt.a */, ); name = Products; sourceTree = ""; }; - 1EE8C2D51476A34A002496F2 /* Products */ = { + 1EF0708614B9EF070052152A /* Products */ = { isa = PBXGroup; children = ( - 1EE8C2DC1476A34A002496F2 /* libutil.a */, + 1EF0708A14B9EF070052152A /* liblm.a */, ); name = Products; sourceTree = ""; }; - 1EE8C3C11476AB3C002496F2 /* Products */ = { + 1EF0708C14B9EF0D0052152A /* Products */ = { isa = PBXGroup; children = ( - 1EE8C3C81476AB3C002496F2 /* liblm.a */, + 1EF0709014B9EF0E0052152A /* libmoses.a */, ); name = Products; sourceTree = ""; @@ -206,8 +191,9 @@ buildRules = ( ); dependencies = ( - 03306D780C0B244800CA1311 /* PBXTargetDependency */, - 1CE6472E1167A11600EC77CC /* PBXTargetDependency */, + 1EAF9D9F14B9F7BD005E8EBD /* PBXTargetDependency */, + 1EF070B014B9F0430052152A /* PBXTargetDependency */, + 1EF070AE14B9F03F0052152A /* PBXTargetDependency */, ); name = "moses-cmd"; productInstallPath = "$(HOME)/bin"; @@ -234,20 +220,16 @@ projectDirPath = ""; projectReferences = ( { - ProductGroup = 1EE8C3C11476AB3C002496F2 /* Products */; - ProjectRef = 1EE8C3C01476AB3C002496F2 /* lm.xcodeproj */; + ProductGroup = 1EF0708614B9EF070052152A /* Products */; + ProjectRef = 1EF0708514B9EF070052152A /* lm.xcodeproj */; }, { - ProductGroup = 03306D600C0B240B00CA1311 /* Products */; - ProjectRef = 03306D5F0C0B240B00CA1311 /* moses.xcodeproj */; + ProductGroup = 1EF0708C14B9EF0D0052152A /* Products */; + ProjectRef = 1EF0708B14B9EF0D0052152A /* moses.xcodeproj */; }, { - ProductGroup = 1CE646DC11679F5F00EC77CC /* Products */; - ProjectRef = 1CE646DB11679F5F00EC77CC /* OnDiskPt.xcodeproj */; - }, - { - ProductGroup = 1EE8C2D51476A34A002496F2 /* Products */; - ProjectRef = 1EE8C2D41476A34A002496F2 /* util.xcodeproj */; + ProductGroup = 1EAF9D9514B9F7A6005E8EBD /* Products */; + ProjectRef = 1EAF9D9414B9F7A6005E8EBD /* OnDiskPt.xcodeproj */; }, ); projectRoot = ""; @@ -258,32 +240,25 @@ /* End PBXProject section */ /* Begin PBXReferenceProxy section */ - 03306D670C0B240B00CA1311 /* libmoses.a */ = { - isa = PBXReferenceProxy; - fileType = archive.ar; - path = libmoses.a; - remoteRef = 03306D660C0B240B00CA1311 /* PBXContainerItemProxy */; - sourceTree = BUILT_PRODUCTS_DIR; - }; - 1CE646E311679F5F00EC77CC /* libOnDiskPt.a */ = { + 1EAF9D9C14B9F7A6005E8EBD /* libOnDiskPt.a */ = { isa = PBXReferenceProxy; fileType = archive.ar; path = libOnDiskPt.a; - remoteRef = 1CE646E211679F5F00EC77CC /* PBXContainerItemProxy */; + remoteRef = 1EAF9D9B14B9F7A6005E8EBD /* PBXContainerItemProxy */; sourceTree = BUILT_PRODUCTS_DIR; }; - 1EE8C2DC1476A34A002496F2 /* libutil.a */ = { - isa = PBXReferenceProxy; - fileType = archive.ar; - path = libutil.a; - remoteRef = 1EE8C2DB1476A34A002496F2 /* PBXContainerItemProxy */; - sourceTree = BUILT_PRODUCTS_DIR; - }; - 1EE8C3C81476AB3C002496F2 /* liblm.a */ = { + 1EF0708A14B9EF070052152A /* liblm.a */ = { isa = PBXReferenceProxy; fileType = archive.ar; path = liblm.a; - remoteRef = 1EE8C3C71476AB3C002496F2 /* PBXContainerItemProxy */; + remoteRef = 1EF0708914B9EF070052152A /* PBXContainerItemProxy */; + sourceTree = BUILT_PRODUCTS_DIR; + }; + 1EF0709014B9EF0E0052152A /* libmoses.a */ = { + isa = PBXReferenceProxy; + fileType = archive.ar; + path = libmoses.a; + remoteRef = 1EF0708F14B9EF0E0052152A /* PBXContainerItemProxy */; sourceTree = BUILT_PRODUCTS_DIR; }; /* End PBXReferenceProxy section */ @@ -293,26 +268,32 @@ isa = PBXSourcesBuildPhase; buildActionMask = 2147483647; files = ( - 1C8CFF4D0AD68D3600FA22E2 /* Main.cpp in Sources */, - 1C8CFF4F0AD68D3600FA22E2 /* TranslationAnalysis.cpp in Sources */, - 03306D820C0B249A00CA1311 /* mbr.cpp in Sources */, - B219B8580E9381AC00EAB407 /* IOWrapper.cpp in Sources */, - B28B1ED3110F52BB00AAD188 /* LatticeMBR.cpp in Sources */, + 1EAF9D7A14B9F566005E8EBD /* IOWrapper.cpp in Sources */, + 1EAF9D7C14B9F566005E8EBD /* Jamfile in Sources */, + 1EAF9D7D14B9F566005E8EBD /* LatticeMBR.cpp in Sources */, + 1EAF9D8114B9F566005E8EBD /* Main.cpp in Sources */, + 1EAF9D8314B9F566005E8EBD /* mbr.cpp in Sources */, + 1EAF9D8514B9F566005E8EBD /* TranslationAnalysis.cpp in Sources */, ); runOnlyForDeploymentPostprocessing = 0; }; /* End PBXSourcesBuildPhase section */ /* Begin PBXTargetDependency section */ - 03306D780C0B244800CA1311 /* PBXTargetDependency */ = { - isa = PBXTargetDependency; - name = moses; - targetProxy = 03306D770C0B244800CA1311 /* PBXContainerItemProxy */; - }; - 1CE6472E1167A11600EC77CC /* PBXTargetDependency */ = { + 1EAF9D9F14B9F7BD005E8EBD /* PBXTargetDependency */ = { isa = PBXTargetDependency; name = OnDiskPt; - targetProxy = 1CE6472D1167A11600EC77CC /* PBXContainerItemProxy */; + targetProxy = 1EAF9D9E14B9F7BD005E8EBD /* PBXContainerItemProxy */; + }; + 1EF070AE14B9F03F0052152A /* PBXTargetDependency */ = { + isa = PBXTargetDependency; + name = moses; + targetProxy = 1EF070AD14B9F03F0052152A /* PBXContainerItemProxy */; + }; + 1EF070B014B9F0430052152A /* PBXTargetDependency */ = { + isa = PBXTargetDependency; + name = lm; + targetProxy = 1EF070AF14B9F0430052152A /* PBXContainerItemProxy */; }; /* End PBXTargetDependency section */ @@ -341,9 +322,8 @@ ); INSTALL_PATH = "$(HOME)/bin"; LIBRARY_SEARCH_PATHS = ( - ../irstlm/lib, - ../srilm/lib/macosx, - ../kenlm, + ../../irstlm/lib, + ../../srilm/lib/macosx, ); OTHER_LDFLAGS = ( "-lflm", @@ -382,9 +362,8 @@ ); INSTALL_PATH = "$(HOME)/bin"; LIBRARY_SEARCH_PATHS = ( - ../irstlm/lib, - ../srilm/lib/macosx, - ../kenlm, + ../../irstlm/lib, + ../../srilm/lib/macosx, ); OTHER_LDFLAGS = ( "-lflm", @@ -415,9 +394,8 @@ ); INSTALL_PATH = "$(HOME)/bin"; LIBRARY_SEARCH_PATHS = ( - ../irstlm/lib, - ../srilm/lib/macosx, - ../kenlm, + ../../irstlm/lib, + ../../srilm/lib/macosx, ); OTHER_LDFLAGS = ( "-lflm", @@ -436,9 +414,9 @@ isa = XCBuildConfiguration; buildSettings = { ARCHS = "$(ONLY_ACTIVE_ARCH_PRE_XCODE_3_1)"; - HEADER_SEARCH_PATHS = ../kenlm; ONLY_ACTIVE_ARCH_PRE_XCODE_3_1 = "$(NATIVE_ARCH_ACTUAL)"; SDKROOT = "$(DEVELOPER_SDK_DIR)/MacOSX10.6.sdk"; + USER_HEADER_SEARCH_PATHS = "../../moses/src ../../"; VALID_ARCHS = "i386 ppc ppc64 ppc7400 ppc970 x86_64"; }; name = Debug; @@ -447,9 +425,9 @@ isa = XCBuildConfiguration; buildSettings = { ARCHS = "$(ONLY_ACTIVE_ARCH_PRE_XCODE_3_1)"; - HEADER_SEARCH_PATHS = ../kenlm; ONLY_ACTIVE_ARCH_PRE_XCODE_3_1 = "$(NATIVE_ARCH_ACTUAL)"; SDKROOT = "$(DEVELOPER_SDK_DIR)/MacOSX10.6.sdk"; + USER_HEADER_SEARCH_PATHS = "../../moses/src ../../"; VALID_ARCHS = "i386 ppc ppc64 ppc7400 ppc970 x86_64"; }; name = Release; @@ -458,9 +436,9 @@ isa = XCBuildConfiguration; buildSettings = { ARCHS = "$(ONLY_ACTIVE_ARCH_PRE_XCODE_3_1)"; - HEADER_SEARCH_PATHS = ../kenlm; ONLY_ACTIVE_ARCH_PRE_XCODE_3_1 = "$(NATIVE_ARCH_ACTUAL)"; SDKROOT = "$(DEVELOPER_SDK_DIR)/MacOSX10.6.sdk"; + USER_HEADER_SEARCH_PATHS = "../../moses/src ../../"; VALID_ARCHS = "i386 ppc ppc64 ppc7400 ppc970 x86_64"; }; name = Default; diff --git a/contrib/other-builds/moses.xcodeproj/project.pbxproj b/contrib/other-builds/moses.xcodeproj/project.pbxproj index d2b6ee9cb..333a1c2a7 100644 --- a/contrib/other-builds/moses.xcodeproj/project.pbxproj +++ b/contrib/other-builds/moses.xcodeproj/project.pbxproj @@ -280,6 +280,8 @@ 1EC7387F14B977AB00238410 /* XmlOption.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 1EC7374214B977AB00238410 /* XmlOption.cpp */; }; 1EC7388014B977AB00238410 /* XmlOption.h in Headers */ = {isa = PBXBuildFile; fileRef = 1EC7374314B977AB00238410 /* XmlOption.h */; }; 1EC7388114B977AB00238410 /* XmlOption.o in Frameworks */ = {isa = PBXBuildFile; fileRef = 1EC7374514B977AB00238410 /* XmlOption.o */; }; + 1EF0709314B9EFCC0052152A /* ParallelBackoff.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 1EF0709114B9EFCC0052152A /* ParallelBackoff.cpp */; }; + 1EF0709414B9EFCC0052152A /* ParallelBackoff.h in Headers */ = {isa = PBXBuildFile; fileRef = 1EF0709214B9EFCC0052152A /* ParallelBackoff.h */; }; /* End PBXBuildFile section */ /* Begin PBXFileReference section */ @@ -571,6 +573,8 @@ 1EC7374314B977AB00238410 /* XmlOption.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = XmlOption.h; path = ../../moses/src/XmlOption.h; sourceTree = ""; }; 1EC7374414B977AB00238410 /* XmlOption.lo */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; name = XmlOption.lo; path = ../../moses/src/XmlOption.lo; sourceTree = ""; }; 1EC7374514B977AB00238410 /* XmlOption.o */ = {isa = PBXFileReference; lastKnownFileType = "compiled.mach-o.objfile"; name = XmlOption.o; path = ../../moses/src/XmlOption.o; sourceTree = ""; }; + 1EF0709114B9EFCC0052152A /* ParallelBackoff.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = ParallelBackoff.cpp; sourceTree = ""; }; + 1EF0709214B9EFCC0052152A /* ParallelBackoff.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ParallelBackoff.h; sourceTree = ""; }; D2AAC046055464E500DB518D /* libmoses.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = libmoses.a; sourceTree = BUILT_PRODUCTS_DIR; }; /* End PBXFileReference section */ @@ -901,6 +905,8 @@ 1EC7365B14B977AA00238410 /* LM */ = { isa = PBXGroup; children = ( + 1EF0709114B9EFCC0052152A /* ParallelBackoff.cpp */, + 1EF0709214B9EFCC0052152A /* ParallelBackoff.h */, 1EC7365C14B977AA00238410 /* Base.cpp */, 1EC7365E14B977AA00238410 /* Base.h */, 1EC7368714B977AA00238410 /* Factory.cpp */, @@ -1088,6 +1094,7 @@ 1EC7387A14B977AB00238410 /* WordsBitmap.h in Headers */, 1EC7387D14B977AB00238410 /* WordsRange.h in Headers */, 1EC7388014B977AB00238410 /* XmlOption.h in Headers */, + 1EF0709414B9EFCC0052152A /* ParallelBackoff.h in Headers */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -1266,6 +1273,7 @@ 1EC7387914B977AB00238410 /* WordsBitmap.cpp in Sources */, 1EC7387C14B977AB00238410 /* WordsRange.cpp in Sources */, 1EC7387F14B977AB00238410 /* XmlOption.cpp in Sources */, + 1EF0709314B9EFCC0052152A /* ParallelBackoff.cpp in Sources */, ); runOnlyForDeploymentPostprocessing = 0; }; From 8e8e42b4c3e81c4aaaee561e5f106e81595ac2e9 Mon Sep 17 00:00:00 2001 From: Hieu Hoang Date: Sun, 8 Jan 2012 23:17:55 +0700 Subject: [PATCH 23/32] xcode --- .../other-builds/lm.xcodeproj/project.pbxproj | 592 ++++++++++++++++++ 1 file changed, 592 insertions(+) create mode 100644 contrib/other-builds/lm.xcodeproj/project.pbxproj diff --git a/contrib/other-builds/lm.xcodeproj/project.pbxproj b/contrib/other-builds/lm.xcodeproj/project.pbxproj new file mode 100644 index 000000000..eadc4a28d --- /dev/null +++ b/contrib/other-builds/lm.xcodeproj/project.pbxproj @@ -0,0 +1,592 @@ +// !$*UTF8*$! +{ + archiveVersion = 1; + classes = { + }; + objectVersion = 46; + objects = { + +/* Begin PBXBuildFile section */ + 1EBA44AD14B97E22003CC0EA /* bhiksha.cc in Sources */ = {isa = PBXBuildFile; fileRef = 1EBA442B14B97E22003CC0EA /* bhiksha.cc */; }; + 1EBA44AE14B97E22003CC0EA /* bhiksha.hh in Headers */ = {isa = PBXBuildFile; fileRef = 1EBA442C14B97E22003CC0EA /* bhiksha.hh */; }; + 1EBA44D414B97E22003CC0EA /* binary_format.cc in Sources */ = {isa = PBXBuildFile; fileRef = 1EBA447D14B97E22003CC0EA /* binary_format.cc */; }; + 1EBA44D514B97E22003CC0EA /* binary_format.hh in Headers */ = {isa = PBXBuildFile; fileRef = 1EBA447E14B97E22003CC0EA /* binary_format.hh */; }; + 1EBA44D614B97E22003CC0EA /* blank.hh in Headers */ = {isa = PBXBuildFile; fileRef = 1EBA447F14B97E22003CC0EA /* blank.hh */; }; + 1EBA44D814B97E22003CC0EA /* config.cc in Sources */ = {isa = PBXBuildFile; fileRef = 1EBA448314B97E22003CC0EA /* config.cc */; }; + 1EBA44D914B97E22003CC0EA /* config.hh in Headers */ = {isa = PBXBuildFile; fileRef = 1EBA448414B97E22003CC0EA /* config.hh */; }; + 1EBA44DA14B97E22003CC0EA /* enumerate_vocab.hh in Headers */ = {isa = PBXBuildFile; fileRef = 1EBA448714B97E22003CC0EA /* enumerate_vocab.hh */; }; + 1EBA44DB14B97E22003CC0EA /* facade.hh in Headers */ = {isa = PBXBuildFile; fileRef = 1EBA448814B97E22003CC0EA /* facade.hh */; }; + 1EBA44DC14B97E22003CC0EA /* Jamfile in Sources */ = {isa = PBXBuildFile; fileRef = 1EBA448914B97E22003CC0EA /* Jamfile */; }; + 1EBA44DD14B97E22003CC0EA /* left_test.cc in Sources */ = {isa = PBXBuildFile; fileRef = 1EBA448A14B97E22003CC0EA /* left_test.cc */; }; + 1EBA44DE14B97E22003CC0EA /* left.hh in Headers */ = {isa = PBXBuildFile; fileRef = 1EBA448B14B97E22003CC0EA /* left.hh */; }; + 1EBA44DF14B97E22003CC0EA /* lm_exception.cc in Sources */ = {isa = PBXBuildFile; fileRef = 1EBA448D14B97E22003CC0EA /* lm_exception.cc */; }; + 1EBA44E014B97E22003CC0EA /* lm_exception.hh in Headers */ = {isa = PBXBuildFile; fileRef = 1EBA448E14B97E22003CC0EA /* lm_exception.hh */; }; + 1EBA44E114B97E22003CC0EA /* max_order.hh in Headers */ = {isa = PBXBuildFile; fileRef = 1EBA448F14B97E22003CC0EA /* max_order.hh */; }; + 1EBA44E214B97E22003CC0EA /* model_test.cc in Sources */ = {isa = PBXBuildFile; fileRef = 1EBA449014B97E22003CC0EA /* model_test.cc */; }; + 1EBA44E314B97E22003CC0EA /* model_type.hh in Headers */ = {isa = PBXBuildFile; fileRef = 1EBA449114B97E22003CC0EA /* model_type.hh */; }; + 1EBA44E414B97E22003CC0EA /* model.cc in Sources */ = {isa = PBXBuildFile; fileRef = 1EBA449214B97E22003CC0EA /* model.cc */; }; + 1EBA44E514B97E22003CC0EA /* model.hh in Headers */ = {isa = PBXBuildFile; fileRef = 1EBA449314B97E22003CC0EA /* model.hh */; }; + 1EBA44E614B97E22003CC0EA /* ngram_query.cc in Sources */ = {isa = PBXBuildFile; fileRef = 1EBA449414B97E22003CC0EA /* ngram_query.cc */; }; + 1EBA44E714B97E22003CC0EA /* ngram_query.hh in Headers */ = {isa = PBXBuildFile; fileRef = 1EBA449514B97E22003CC0EA /* ngram_query.hh */; }; + 1EBA44E814B97E22003CC0EA /* quantize.cc in Sources */ = {isa = PBXBuildFile; fileRef = 1EBA449614B97E22003CC0EA /* quantize.cc */; }; + 1EBA44E914B97E22003CC0EA /* quantize.hh in Headers */ = {isa = PBXBuildFile; fileRef = 1EBA449714B97E22003CC0EA /* quantize.hh */; }; + 1EBA44EA14B97E22003CC0EA /* read_arpa.cc in Sources */ = {isa = PBXBuildFile; fileRef = 1EBA449814B97E22003CC0EA /* read_arpa.cc */; }; + 1EBA44EB14B97E22003CC0EA /* read_arpa.hh in Headers */ = {isa = PBXBuildFile; fileRef = 1EBA449914B97E22003CC0EA /* read_arpa.hh */; }; + 1EBA44EC14B97E22003CC0EA /* return.hh in Headers */ = {isa = PBXBuildFile; fileRef = 1EBA449B14B97E22003CC0EA /* return.hh */; }; + 1EBA44ED14B97E22003CC0EA /* search_hashed.cc in Sources */ = {isa = PBXBuildFile; fileRef = 1EBA449C14B97E22003CC0EA /* search_hashed.cc */; }; + 1EBA44EE14B97E22003CC0EA /* search_hashed.hh in Headers */ = {isa = PBXBuildFile; fileRef = 1EBA449D14B97E22003CC0EA /* search_hashed.hh */; }; + 1EBA44EF14B97E22003CC0EA /* search_trie.cc in Sources */ = {isa = PBXBuildFile; fileRef = 1EBA449E14B97E22003CC0EA /* search_trie.cc */; }; + 1EBA44F014B97E22003CC0EA /* search_trie.hh in Headers */ = {isa = PBXBuildFile; fileRef = 1EBA449F14B97E22003CC0EA /* search_trie.hh */; }; + 1EBA44F114B97E22003CC0EA /* trie_sort.cc in Sources */ = {isa = PBXBuildFile; fileRef = 1EBA44A314B97E22003CC0EA /* trie_sort.cc */; }; + 1EBA44F214B97E22003CC0EA /* trie_sort.hh in Headers */ = {isa = PBXBuildFile; fileRef = 1EBA44A414B97E22003CC0EA /* trie_sort.hh */; }; + 1EBA44F314B97E22003CC0EA /* trie.cc in Sources */ = {isa = PBXBuildFile; fileRef = 1EBA44A514B97E22003CC0EA /* trie.cc */; }; + 1EBA44F414B97E22003CC0EA /* trie.hh in Headers */ = {isa = PBXBuildFile; fileRef = 1EBA44A614B97E22003CC0EA /* trie.hh */; }; + 1EBA44F514B97E22003CC0EA /* virtual_interface.cc in Sources */ = {isa = PBXBuildFile; fileRef = 1EBA44A714B97E22003CC0EA /* virtual_interface.cc */; }; + 1EBA44F614B97E22003CC0EA /* virtual_interface.hh in Headers */ = {isa = PBXBuildFile; fileRef = 1EBA44A814B97E22003CC0EA /* virtual_interface.hh */; }; + 1EBA44F714B97E22003CC0EA /* vocab.cc in Sources */ = {isa = PBXBuildFile; fileRef = 1EBA44A914B97E22003CC0EA /* vocab.cc */; }; + 1EBA44F814B97E22003CC0EA /* vocab.hh in Headers */ = {isa = PBXBuildFile; fileRef = 1EBA44AA14B97E22003CC0EA /* vocab.hh */; }; + 1EBA44F914B97E22003CC0EA /* weights.hh in Headers */ = {isa = PBXBuildFile; fileRef = 1EBA44AB14B97E22003CC0EA /* weights.hh */; }; + 1EBA44FA14B97E22003CC0EA /* word_index.hh in Headers */ = {isa = PBXBuildFile; fileRef = 1EBA44AC14B97E22003CC0EA /* word_index.hh */; }; + 1EBA457F14B97E92003CC0EA /* bit_packing_test.cc in Sources */ = {isa = PBXBuildFile; fileRef = 1EBA453614B97E92003CC0EA /* bit_packing_test.cc */; }; + 1EBA458014B97E92003CC0EA /* bit_packing.cc in Sources */ = {isa = PBXBuildFile; fileRef = 1EBA453714B97E92003CC0EA /* bit_packing.cc */; }; + 1EBA458114B97E92003CC0EA /* bit_packing.hh in Headers */ = {isa = PBXBuildFile; fileRef = 1EBA453814B97E92003CC0EA /* bit_packing.hh */; }; + 1EBA458214B97E92003CC0EA /* check.hh in Headers */ = {isa = PBXBuildFile; fileRef = 1EBA453914B97E92003CC0EA /* check.hh */; }; + 1EBA458314B97E92003CC0EA /* ersatz_progress.cc in Sources */ = {isa = PBXBuildFile; fileRef = 1EBA453C14B97E92003CC0EA /* ersatz_progress.cc */; }; + 1EBA458414B97E92003CC0EA /* ersatz_progress.hh in Headers */ = {isa = PBXBuildFile; fileRef = 1EBA453D14B97E92003CC0EA /* ersatz_progress.hh */; }; + 1EBA458514B97E92003CC0EA /* exception.cc in Sources */ = {isa = PBXBuildFile; fileRef = 1EBA453E14B97E92003CC0EA /* exception.cc */; }; + 1EBA458614B97E92003CC0EA /* exception.hh in Headers */ = {isa = PBXBuildFile; fileRef = 1EBA453F14B97E92003CC0EA /* exception.hh */; }; + 1EBA458714B97E92003CC0EA /* file_piece_test.cc in Sources */ = {isa = PBXBuildFile; fileRef = 1EBA454014B97E92003CC0EA /* file_piece_test.cc */; }; + 1EBA458814B97E92003CC0EA /* file_piece.cc in Sources */ = {isa = PBXBuildFile; fileRef = 1EBA454114B97E92003CC0EA /* file_piece.cc */; }; + 1EBA458914B97E92003CC0EA /* file_piece.hh in Headers */ = {isa = PBXBuildFile; fileRef = 1EBA454214B97E92003CC0EA /* file_piece.hh */; }; + 1EBA458A14B97E92003CC0EA /* file.cc in Sources */ = {isa = PBXBuildFile; fileRef = 1EBA454314B97E92003CC0EA /* file.cc */; }; + 1EBA458B14B97E92003CC0EA /* file.hh in Headers */ = {isa = PBXBuildFile; fileRef = 1EBA454414B97E92003CC0EA /* file.hh */; }; + 1EBA458C14B97E92003CC0EA /* getopt.c in Sources */ = {isa = PBXBuildFile; fileRef = 1EBA454514B97E92003CC0EA /* getopt.c */; }; + 1EBA458D14B97E92003CC0EA /* getopt.hh in Headers */ = {isa = PBXBuildFile; fileRef = 1EBA454614B97E92003CC0EA /* getopt.hh */; }; + 1EBA458E14B97E92003CC0EA /* have.hh in Headers */ = {isa = PBXBuildFile; fileRef = 1EBA454714B97E92003CC0EA /* have.hh */; }; + 1EBA458F14B97E92003CC0EA /* Jamfile in Sources */ = {isa = PBXBuildFile; fileRef = 1EBA454814B97E92003CC0EA /* Jamfile */; }; + 1EBA459014B97E92003CC0EA /* joint_sort_test.cc in Sources */ = {isa = PBXBuildFile; fileRef = 1EBA454914B97E92003CC0EA /* joint_sort_test.cc */; }; + 1EBA459114B97E92003CC0EA /* joint_sort.hh in Headers */ = {isa = PBXBuildFile; fileRef = 1EBA454A14B97E92003CC0EA /* joint_sort.hh */; }; + 1EBA459214B97E92003CC0EA /* key_value_packing_test.cc in Sources */ = {isa = PBXBuildFile; fileRef = 1EBA454B14B97E92003CC0EA /* key_value_packing_test.cc */; }; + 1EBA459314B97E92003CC0EA /* key_value_packing.hh in Headers */ = {isa = PBXBuildFile; fileRef = 1EBA454C14B97E92003CC0EA /* key_value_packing.hh */; }; + 1EBA459414B97E92003CC0EA /* mmap.cc in Sources */ = {isa = PBXBuildFile; fileRef = 1EBA454E14B97E92003CC0EA /* mmap.cc */; }; + 1EBA459514B97E92003CC0EA /* mmap.hh in Headers */ = {isa = PBXBuildFile; fileRef = 1EBA454F14B97E92003CC0EA /* mmap.hh */; }; + 1EBA459614B97E92003CC0EA /* murmur_hash.cc in Sources */ = {isa = PBXBuildFile; fileRef = 1EBA455014B97E92003CC0EA /* murmur_hash.cc */; }; + 1EBA459714B97E92003CC0EA /* murmur_hash.hh in Headers */ = {isa = PBXBuildFile; fileRef = 1EBA455114B97E92003CC0EA /* murmur_hash.hh */; }; + 1EBA459814B97E92003CC0EA /* probing_hash_table_test.cc in Sources */ = {isa = PBXBuildFile; fileRef = 1EBA455214B97E92003CC0EA /* probing_hash_table_test.cc */; }; + 1EBA459914B97E92003CC0EA /* probing_hash_table.hh in Headers */ = {isa = PBXBuildFile; fileRef = 1EBA455314B97E92003CC0EA /* probing_hash_table.hh */; }; + 1EBA459A14B97E92003CC0EA /* proxy_iterator.hh in Headers */ = {isa = PBXBuildFile; fileRef = 1EBA455414B97E92003CC0EA /* proxy_iterator.hh */; }; + 1EBA459B14B97E92003CC0EA /* scoped.hh in Headers */ = {isa = PBXBuildFile; fileRef = 1EBA455514B97E92003CC0EA /* scoped.hh */; }; + 1EBA459C14B97E92003CC0EA /* sized_iterator.hh in Headers */ = {isa = PBXBuildFile; fileRef = 1EBA455614B97E92003CC0EA /* sized_iterator.hh */; }; + 1EBA459D14B97E92003CC0EA /* sorted_uniform_test.cc in Sources */ = {isa = PBXBuildFile; fileRef = 1EBA455714B97E92003CC0EA /* sorted_uniform_test.cc */; }; + 1EBA459E14B97E92003CC0EA /* sorted_uniform.hh in Headers */ = {isa = PBXBuildFile; fileRef = 1EBA455814B97E92003CC0EA /* sorted_uniform.hh */; }; + 1EBA459F14B97E92003CC0EA /* string_piece.hh in Headers */ = {isa = PBXBuildFile; fileRef = 1EBA455914B97E92003CC0EA /* string_piece.hh */; }; + 1EBA45A014B97E92003CC0EA /* tokenize_piece_test.cc in Sources */ = {isa = PBXBuildFile; fileRef = 1EBA455A14B97E92003CC0EA /* tokenize_piece_test.cc */; }; + 1EBA45A114B97E92003CC0EA /* tokenize_piece.hh in Headers */ = {isa = PBXBuildFile; fileRef = 1EBA455B14B97E92003CC0EA /* tokenize_piece.hh */; }; +/* End PBXBuildFile section */ + +/* Begin PBXContainerItemProxy section */ + 1EBA45A314B97E93003CC0EA /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = 1EBA455C14B97E92003CC0EA /* util.xcodeproj */; + proxyType = 2; + remoteGlobalIDString = 1EE8C2711476A262002496F2; + remoteInfo = util; + }; +/* End PBXContainerItemProxy section */ + +/* Begin PBXFileReference section */ + 1EBA442B14B97E22003CC0EA /* bhiksha.cc */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = bhiksha.cc; path = ../../lm/bhiksha.cc; sourceTree = ""; }; + 1EBA442C14B97E22003CC0EA /* bhiksha.hh */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; name = bhiksha.hh; path = ../../lm/bhiksha.hh; sourceTree = ""; }; + 1EBA447D14B97E22003CC0EA /* binary_format.cc */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = binary_format.cc; path = ../../lm/binary_format.cc; sourceTree = ""; }; + 1EBA447E14B97E22003CC0EA /* binary_format.hh */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; name = binary_format.hh; path = ../../lm/binary_format.hh; sourceTree = ""; }; + 1EBA447F14B97E22003CC0EA /* blank.hh */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; name = blank.hh; path = ../../lm/blank.hh; sourceTree = ""; }; + 1EBA448114B97E22003CC0EA /* clean.sh */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.script.sh; name = clean.sh; path = ../../lm/clean.sh; sourceTree = ""; }; + 1EBA448214B97E22003CC0EA /* compile.sh */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.script.sh; name = compile.sh; path = ../../lm/compile.sh; sourceTree = ""; }; + 1EBA448314B97E22003CC0EA /* config.cc */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = config.cc; path = ../../lm/config.cc; sourceTree = ""; }; + 1EBA448414B97E22003CC0EA /* config.hh */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; name = config.hh; path = ../../lm/config.hh; sourceTree = ""; }; + 1EBA448514B97E22003CC0EA /* COPYING */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; name = COPYING; path = ../../lm/COPYING; sourceTree = ""; }; + 1EBA448614B97E22003CC0EA /* COPYING.LESSER */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; name = COPYING.LESSER; path = ../../lm/COPYING.LESSER; sourceTree = ""; }; + 1EBA448714B97E22003CC0EA /* enumerate_vocab.hh */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; name = enumerate_vocab.hh; path = ../../lm/enumerate_vocab.hh; sourceTree = ""; }; + 1EBA448814B97E22003CC0EA /* facade.hh */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; name = facade.hh; path = ../../lm/facade.hh; sourceTree = ""; }; + 1EBA448914B97E22003CC0EA /* Jamfile */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.jam; name = Jamfile; path = ../../lm/Jamfile; sourceTree = ""; }; + 1EBA448A14B97E22003CC0EA /* left_test.cc */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = left_test.cc; path = ../../lm/left_test.cc; sourceTree = ""; }; + 1EBA448B14B97E22003CC0EA /* left.hh */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; name = left.hh; path = ../../lm/left.hh; sourceTree = ""; }; + 1EBA448C14B97E22003CC0EA /* LICENSE */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; name = LICENSE; path = ../../lm/LICENSE; sourceTree = ""; }; + 1EBA448D14B97E22003CC0EA /* lm_exception.cc */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = lm_exception.cc; path = ../../lm/lm_exception.cc; sourceTree = ""; }; + 1EBA448E14B97E22003CC0EA /* lm_exception.hh */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; name = lm_exception.hh; path = ../../lm/lm_exception.hh; sourceTree = ""; }; + 1EBA448F14B97E22003CC0EA /* max_order.hh */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; name = max_order.hh; path = ../../lm/max_order.hh; sourceTree = ""; }; + 1EBA449014B97E22003CC0EA /* model_test.cc */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = model_test.cc; path = ../../lm/model_test.cc; sourceTree = ""; }; + 1EBA449114B97E22003CC0EA /* model_type.hh */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; name = model_type.hh; path = ../../lm/model_type.hh; sourceTree = ""; }; + 1EBA449214B97E22003CC0EA /* model.cc */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = model.cc; path = ../../lm/model.cc; sourceTree = ""; }; + 1EBA449314B97E22003CC0EA /* model.hh */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; name = model.hh; path = ../../lm/model.hh; sourceTree = ""; }; + 1EBA449414B97E22003CC0EA /* ngram_query.cc */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = ngram_query.cc; path = ../../lm/ngram_query.cc; sourceTree = ""; }; + 1EBA449514B97E22003CC0EA /* ngram_query.hh */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; name = ngram_query.hh; path = ../../lm/ngram_query.hh; sourceTree = ""; }; + 1EBA449614B97E22003CC0EA /* quantize.cc */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = quantize.cc; path = ../../lm/quantize.cc; sourceTree = ""; }; + 1EBA449714B97E22003CC0EA /* quantize.hh */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; name = quantize.hh; path = ../../lm/quantize.hh; sourceTree = ""; }; + 1EBA449814B97E22003CC0EA /* read_arpa.cc */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = read_arpa.cc; path = ../../lm/read_arpa.cc; sourceTree = ""; }; + 1EBA449914B97E22003CC0EA /* read_arpa.hh */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; name = read_arpa.hh; path = ../../lm/read_arpa.hh; sourceTree = ""; }; + 1EBA449A14B97E22003CC0EA /* README */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; name = README; path = ../../lm/README; sourceTree = ""; }; + 1EBA449B14B97E22003CC0EA /* return.hh */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; name = return.hh; path = ../../lm/return.hh; sourceTree = ""; }; + 1EBA449C14B97E22003CC0EA /* search_hashed.cc */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = search_hashed.cc; path = ../../lm/search_hashed.cc; sourceTree = ""; }; + 1EBA449D14B97E22003CC0EA /* search_hashed.hh */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; name = search_hashed.hh; path = ../../lm/search_hashed.hh; sourceTree = ""; }; + 1EBA449E14B97E22003CC0EA /* search_trie.cc */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = search_trie.cc; path = ../../lm/search_trie.cc; sourceTree = ""; }; + 1EBA449F14B97E22003CC0EA /* search_trie.hh */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; name = search_trie.hh; path = ../../lm/search_trie.hh; sourceTree = ""; }; + 1EBA44A014B97E22003CC0EA /* test_nounk.arpa */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; name = test_nounk.arpa; path = ../../lm/test_nounk.arpa; sourceTree = ""; }; + 1EBA44A114B97E22003CC0EA /* test.arpa */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; name = test.arpa; path = ../../lm/test.arpa; sourceTree = ""; }; + 1EBA44A214B97E22003CC0EA /* test.sh */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.script.sh; name = test.sh; path = ../../lm/test.sh; sourceTree = ""; }; + 1EBA44A314B97E22003CC0EA /* trie_sort.cc */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = trie_sort.cc; path = ../../lm/trie_sort.cc; sourceTree = ""; }; + 1EBA44A414B97E22003CC0EA /* trie_sort.hh */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; name = trie_sort.hh; path = ../../lm/trie_sort.hh; sourceTree = ""; }; + 1EBA44A514B97E22003CC0EA /* trie.cc */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = trie.cc; path = ../../lm/trie.cc; sourceTree = ""; }; + 1EBA44A614B97E22003CC0EA /* trie.hh */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; name = trie.hh; path = ../../lm/trie.hh; sourceTree = ""; }; + 1EBA44A714B97E22003CC0EA /* virtual_interface.cc */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = virtual_interface.cc; path = ../../lm/virtual_interface.cc; sourceTree = ""; }; + 1EBA44A814B97E22003CC0EA /* virtual_interface.hh */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; name = virtual_interface.hh; path = ../../lm/virtual_interface.hh; sourceTree = ""; }; + 1EBA44A914B97E22003CC0EA /* vocab.cc */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = vocab.cc; path = ../../lm/vocab.cc; sourceTree = ""; }; + 1EBA44AA14B97E22003CC0EA /* vocab.hh */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; name = vocab.hh; path = ../../lm/vocab.hh; sourceTree = ""; }; + 1EBA44AB14B97E22003CC0EA /* weights.hh */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; name = weights.hh; path = ../../lm/weights.hh; sourceTree = ""; }; + 1EBA44AC14B97E22003CC0EA /* word_index.hh */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; name = word_index.hh; path = ../../lm/word_index.hh; sourceTree = ""; }; + 1EBA453614B97E92003CC0EA /* bit_packing_test.cc */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = bit_packing_test.cc; path = ../../util/bit_packing_test.cc; sourceTree = ""; }; + 1EBA453714B97E92003CC0EA /* bit_packing.cc */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = bit_packing.cc; path = ../../util/bit_packing.cc; sourceTree = ""; }; + 1EBA453814B97E92003CC0EA /* bit_packing.hh */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; name = bit_packing.hh; path = ../../util/bit_packing.hh; sourceTree = ""; }; + 1EBA453914B97E92003CC0EA /* check.hh */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; name = check.hh; path = ../../util/check.hh; sourceTree = ""; }; + 1EBA453A14B97E92003CC0EA /* COPYING */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; name = COPYING; path = ../../util/COPYING; sourceTree = ""; }; + 1EBA453B14B97E92003CC0EA /* COPYING.LESSER */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; name = COPYING.LESSER; path = ../../util/COPYING.LESSER; sourceTree = ""; }; + 1EBA453C14B97E92003CC0EA /* ersatz_progress.cc */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = ersatz_progress.cc; path = ../../util/ersatz_progress.cc; sourceTree = ""; }; + 1EBA453D14B97E92003CC0EA /* ersatz_progress.hh */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; name = ersatz_progress.hh; path = ../../util/ersatz_progress.hh; sourceTree = ""; }; + 1EBA453E14B97E92003CC0EA /* exception.cc */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = exception.cc; path = ../../util/exception.cc; sourceTree = ""; }; + 1EBA453F14B97E92003CC0EA /* exception.hh */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; name = exception.hh; path = ../../util/exception.hh; sourceTree = ""; }; + 1EBA454014B97E92003CC0EA /* file_piece_test.cc */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = file_piece_test.cc; path = ../../util/file_piece_test.cc; sourceTree = ""; }; + 1EBA454114B97E92003CC0EA /* file_piece.cc */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = file_piece.cc; path = ../../util/file_piece.cc; sourceTree = ""; }; + 1EBA454214B97E92003CC0EA /* file_piece.hh */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; name = file_piece.hh; path = ../../util/file_piece.hh; sourceTree = ""; }; + 1EBA454314B97E92003CC0EA /* file.cc */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = file.cc; path = ../../util/file.cc; sourceTree = ""; }; + 1EBA454414B97E92003CC0EA /* file.hh */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; name = file.hh; path = ../../util/file.hh; sourceTree = ""; }; + 1EBA454514B97E92003CC0EA /* getopt.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = getopt.c; path = ../../util/getopt.c; sourceTree = ""; }; + 1EBA454614B97E92003CC0EA /* getopt.hh */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; name = getopt.hh; path = ../../util/getopt.hh; sourceTree = ""; }; + 1EBA454714B97E92003CC0EA /* have.hh */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; name = have.hh; path = ../../util/have.hh; sourceTree = ""; }; + 1EBA454814B97E92003CC0EA /* Jamfile */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.jam; name = Jamfile; path = ../../util/Jamfile; sourceTree = ""; }; + 1EBA454914B97E92003CC0EA /* joint_sort_test.cc */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = joint_sort_test.cc; path = ../../util/joint_sort_test.cc; sourceTree = ""; }; + 1EBA454A14B97E92003CC0EA /* joint_sort.hh */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; name = joint_sort.hh; path = ../../util/joint_sort.hh; sourceTree = ""; }; + 1EBA454B14B97E92003CC0EA /* key_value_packing_test.cc */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = key_value_packing_test.cc; path = ../../util/key_value_packing_test.cc; sourceTree = ""; }; + 1EBA454C14B97E92003CC0EA /* key_value_packing.hh */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; name = key_value_packing.hh; path = ../../util/key_value_packing.hh; sourceTree = ""; }; + 1EBA454D14B97E92003CC0EA /* LICENSE */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; name = LICENSE; path = ../../util/LICENSE; sourceTree = ""; }; + 1EBA454E14B97E92003CC0EA /* mmap.cc */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = mmap.cc; path = ../../util/mmap.cc; sourceTree = ""; }; + 1EBA454F14B97E92003CC0EA /* mmap.hh */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; name = mmap.hh; path = ../../util/mmap.hh; sourceTree = ""; }; + 1EBA455014B97E92003CC0EA /* murmur_hash.cc */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = murmur_hash.cc; path = ../../util/murmur_hash.cc; sourceTree = ""; }; + 1EBA455114B97E92003CC0EA /* murmur_hash.hh */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; name = murmur_hash.hh; path = ../../util/murmur_hash.hh; sourceTree = ""; }; + 1EBA455214B97E92003CC0EA /* probing_hash_table_test.cc */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = probing_hash_table_test.cc; path = ../../util/probing_hash_table_test.cc; sourceTree = ""; }; + 1EBA455314B97E92003CC0EA /* probing_hash_table.hh */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; name = probing_hash_table.hh; path = ../../util/probing_hash_table.hh; sourceTree = ""; }; + 1EBA455414B97E92003CC0EA /* proxy_iterator.hh */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; name = proxy_iterator.hh; path = ../../util/proxy_iterator.hh; sourceTree = ""; }; + 1EBA455514B97E92003CC0EA /* scoped.hh */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; name = scoped.hh; path = ../../util/scoped.hh; sourceTree = ""; }; + 1EBA455614B97E92003CC0EA /* sized_iterator.hh */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; name = sized_iterator.hh; path = ../../util/sized_iterator.hh; sourceTree = ""; }; + 1EBA455714B97E92003CC0EA /* sorted_uniform_test.cc */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = sorted_uniform_test.cc; path = ../../util/sorted_uniform_test.cc; sourceTree = ""; }; + 1EBA455814B97E92003CC0EA /* sorted_uniform.hh */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; name = sorted_uniform.hh; path = ../../util/sorted_uniform.hh; sourceTree = ""; }; + 1EBA455914B97E92003CC0EA /* string_piece.hh */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; name = string_piece.hh; path = ../../util/string_piece.hh; sourceTree = ""; }; + 1EBA455A14B97E92003CC0EA /* tokenize_piece_test.cc */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = tokenize_piece_test.cc; path = ../../util/tokenize_piece_test.cc; sourceTree = ""; }; + 1EBA455B14B97E92003CC0EA /* tokenize_piece.hh */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; name = tokenize_piece.hh; path = ../../util/tokenize_piece.hh; sourceTree = ""; }; + 1EBA455C14B97E92003CC0EA /* util.xcodeproj */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.pb-project"; name = util.xcodeproj; path = ../../util/util.xcodeproj; sourceTree = ""; }; + 1EE8C2E91476A48E002496F2 /* liblm.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = liblm.a; sourceTree = BUILT_PRODUCTS_DIR; }; +/* End PBXFileReference section */ + +/* Begin PBXFrameworksBuildPhase section */ + 1EE8C2E61476A48E002496F2 /* Frameworks */ = { + isa = PBXFrameworksBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXFrameworksBuildPhase section */ + +/* Begin PBXGroup section */ + 1EBA44FB14B97E6A003CC0EA /* lm */ = { + isa = PBXGroup; + children = ( + 1EBA442B14B97E22003CC0EA /* bhiksha.cc */, + 1EBA442C14B97E22003CC0EA /* bhiksha.hh */, + 1EBA447D14B97E22003CC0EA /* binary_format.cc */, + 1EBA447E14B97E22003CC0EA /* binary_format.hh */, + 1EBA447F14B97E22003CC0EA /* blank.hh */, + 1EBA448114B97E22003CC0EA /* clean.sh */, + 1EBA448214B97E22003CC0EA /* compile.sh */, + 1EBA448314B97E22003CC0EA /* config.cc */, + 1EBA448414B97E22003CC0EA /* config.hh */, + 1EBA448514B97E22003CC0EA /* COPYING */, + 1EBA448614B97E22003CC0EA /* COPYING.LESSER */, + 1EBA448714B97E22003CC0EA /* enumerate_vocab.hh */, + 1EBA448814B97E22003CC0EA /* facade.hh */, + 1EBA448914B97E22003CC0EA /* Jamfile */, + 1EBA448A14B97E22003CC0EA /* left_test.cc */, + 1EBA448B14B97E22003CC0EA /* left.hh */, + 1EBA448C14B97E22003CC0EA /* LICENSE */, + 1EBA448D14B97E22003CC0EA /* lm_exception.cc */, + 1EBA448E14B97E22003CC0EA /* lm_exception.hh */, + 1EBA448F14B97E22003CC0EA /* max_order.hh */, + 1EBA449014B97E22003CC0EA /* model_test.cc */, + 1EBA449114B97E22003CC0EA /* model_type.hh */, + 1EBA449214B97E22003CC0EA /* model.cc */, + 1EBA449314B97E22003CC0EA /* model.hh */, + 1EBA449414B97E22003CC0EA /* ngram_query.cc */, + 1EBA449514B97E22003CC0EA /* ngram_query.hh */, + 1EBA449614B97E22003CC0EA /* quantize.cc */, + 1EBA449714B97E22003CC0EA /* quantize.hh */, + 1EBA449814B97E22003CC0EA /* read_arpa.cc */, + 1EBA449914B97E22003CC0EA /* read_arpa.hh */, + 1EBA449A14B97E22003CC0EA /* README */, + 1EBA449B14B97E22003CC0EA /* return.hh */, + 1EBA449C14B97E22003CC0EA /* search_hashed.cc */, + 1EBA449D14B97E22003CC0EA /* search_hashed.hh */, + 1EBA449E14B97E22003CC0EA /* search_trie.cc */, + 1EBA449F14B97E22003CC0EA /* search_trie.hh */, + 1EBA44A014B97E22003CC0EA /* test_nounk.arpa */, + 1EBA44A114B97E22003CC0EA /* test.arpa */, + 1EBA44A214B97E22003CC0EA /* test.sh */, + 1EBA44A314B97E22003CC0EA /* trie_sort.cc */, + 1EBA44A414B97E22003CC0EA /* trie_sort.hh */, + 1EBA44A514B97E22003CC0EA /* trie.cc */, + 1EBA44A614B97E22003CC0EA /* trie.hh */, + 1EBA44A714B97E22003CC0EA /* virtual_interface.cc */, + 1EBA44A814B97E22003CC0EA /* virtual_interface.hh */, + 1EBA44A914B97E22003CC0EA /* vocab.cc */, + 1EBA44AA14B97E22003CC0EA /* vocab.hh */, + 1EBA44AB14B97E22003CC0EA /* weights.hh */, + 1EBA44AC14B97E22003CC0EA /* word_index.hh */, + ); + name = lm; + sourceTree = ""; + }; + 1EBA44FC14B97E81003CC0EA /* util */ = { + isa = PBXGroup; + children = ( + 1EBA453614B97E92003CC0EA /* bit_packing_test.cc */, + 1EBA453714B97E92003CC0EA /* bit_packing.cc */, + 1EBA453814B97E92003CC0EA /* bit_packing.hh */, + 1EBA453914B97E92003CC0EA /* check.hh */, + 1EBA453A14B97E92003CC0EA /* COPYING */, + 1EBA453B14B97E92003CC0EA /* COPYING.LESSER */, + 1EBA453C14B97E92003CC0EA /* ersatz_progress.cc */, + 1EBA453D14B97E92003CC0EA /* ersatz_progress.hh */, + 1EBA453E14B97E92003CC0EA /* exception.cc */, + 1EBA453F14B97E92003CC0EA /* exception.hh */, + 1EBA454014B97E92003CC0EA /* file_piece_test.cc */, + 1EBA454114B97E92003CC0EA /* file_piece.cc */, + 1EBA454214B97E92003CC0EA /* file_piece.hh */, + 1EBA454314B97E92003CC0EA /* file.cc */, + 1EBA454414B97E92003CC0EA /* file.hh */, + 1EBA454514B97E92003CC0EA /* getopt.c */, + 1EBA454614B97E92003CC0EA /* getopt.hh */, + 1EBA454714B97E92003CC0EA /* have.hh */, + 1EBA454814B97E92003CC0EA /* Jamfile */, + 1EBA454914B97E92003CC0EA /* joint_sort_test.cc */, + 1EBA454A14B97E92003CC0EA /* joint_sort.hh */, + 1EBA454B14B97E92003CC0EA /* key_value_packing_test.cc */, + 1EBA454C14B97E92003CC0EA /* key_value_packing.hh */, + 1EBA454D14B97E92003CC0EA /* LICENSE */, + 1EBA454E14B97E92003CC0EA /* mmap.cc */, + 1EBA454F14B97E92003CC0EA /* mmap.hh */, + 1EBA455014B97E92003CC0EA /* murmur_hash.cc */, + 1EBA455114B97E92003CC0EA /* murmur_hash.hh */, + 1EBA455214B97E92003CC0EA /* probing_hash_table_test.cc */, + 1EBA455314B97E92003CC0EA /* probing_hash_table.hh */, + 1EBA455414B97E92003CC0EA /* proxy_iterator.hh */, + 1EBA455514B97E92003CC0EA /* scoped.hh */, + 1EBA455614B97E92003CC0EA /* sized_iterator.hh */, + 1EBA455714B97E92003CC0EA /* sorted_uniform_test.cc */, + 1EBA455814B97E92003CC0EA /* sorted_uniform.hh */, + 1EBA455914B97E92003CC0EA /* string_piece.hh */, + 1EBA455A14B97E92003CC0EA /* tokenize_piece_test.cc */, + 1EBA455B14B97E92003CC0EA /* tokenize_piece.hh */, + 1EBA455C14B97E92003CC0EA /* util.xcodeproj */, + ); + name = util; + sourceTree = ""; + }; + 1EBA455D14B97E92003CC0EA /* Products */ = { + isa = PBXGroup; + children = ( + 1EBA45A414B97E93003CC0EA /* libutil.a */, + ); + name = Products; + sourceTree = ""; + }; + 1EE8C2DE1476A48E002496F2 = { + isa = PBXGroup; + children = ( + 1EBA44FC14B97E81003CC0EA /* util */, + 1EBA44FB14B97E6A003CC0EA /* lm */, + 1EE8C2EA1476A48E002496F2 /* Products */, + ); + sourceTree = ""; + }; + 1EE8C2EA1476A48E002496F2 /* Products */ = { + isa = PBXGroup; + children = ( + 1EE8C2E91476A48E002496F2 /* liblm.a */, + ); + name = Products; + sourceTree = ""; + }; +/* End PBXGroup section */ + +/* Begin PBXHeadersBuildPhase section */ + 1EE8C2E71476A48E002496F2 /* Headers */ = { + isa = PBXHeadersBuildPhase; + buildActionMask = 2147483647; + files = ( + 1EBA44AE14B97E22003CC0EA /* bhiksha.hh in Headers */, + 1EBA44D514B97E22003CC0EA /* binary_format.hh in Headers */, + 1EBA44D614B97E22003CC0EA /* blank.hh in Headers */, + 1EBA44D914B97E22003CC0EA /* config.hh in Headers */, + 1EBA44DA14B97E22003CC0EA /* enumerate_vocab.hh in Headers */, + 1EBA44DB14B97E22003CC0EA /* facade.hh in Headers */, + 1EBA44DE14B97E22003CC0EA /* left.hh in Headers */, + 1EBA44E014B97E22003CC0EA /* lm_exception.hh in Headers */, + 1EBA44E114B97E22003CC0EA /* max_order.hh in Headers */, + 1EBA44E314B97E22003CC0EA /* model_type.hh in Headers */, + 1EBA44E514B97E22003CC0EA /* model.hh in Headers */, + 1EBA44E714B97E22003CC0EA /* ngram_query.hh in Headers */, + 1EBA44E914B97E22003CC0EA /* quantize.hh in Headers */, + 1EBA44EB14B97E22003CC0EA /* read_arpa.hh in Headers */, + 1EBA44EC14B97E22003CC0EA /* return.hh in Headers */, + 1EBA44EE14B97E22003CC0EA /* search_hashed.hh in Headers */, + 1EBA44F014B97E22003CC0EA /* search_trie.hh in Headers */, + 1EBA44F214B97E22003CC0EA /* trie_sort.hh in Headers */, + 1EBA44F414B97E22003CC0EA /* trie.hh in Headers */, + 1EBA44F614B97E22003CC0EA /* virtual_interface.hh in Headers */, + 1EBA44F814B97E22003CC0EA /* vocab.hh in Headers */, + 1EBA44F914B97E22003CC0EA /* weights.hh in Headers */, + 1EBA44FA14B97E22003CC0EA /* word_index.hh in Headers */, + 1EBA458114B97E92003CC0EA /* bit_packing.hh in Headers */, + 1EBA458214B97E92003CC0EA /* check.hh in Headers */, + 1EBA458414B97E92003CC0EA /* ersatz_progress.hh in Headers */, + 1EBA458614B97E92003CC0EA /* exception.hh in Headers */, + 1EBA458914B97E92003CC0EA /* file_piece.hh in Headers */, + 1EBA458B14B97E92003CC0EA /* file.hh in Headers */, + 1EBA458D14B97E92003CC0EA /* getopt.hh in Headers */, + 1EBA458E14B97E92003CC0EA /* have.hh in Headers */, + 1EBA459114B97E92003CC0EA /* joint_sort.hh in Headers */, + 1EBA459314B97E92003CC0EA /* key_value_packing.hh in Headers */, + 1EBA459514B97E92003CC0EA /* mmap.hh in Headers */, + 1EBA459714B97E92003CC0EA /* murmur_hash.hh in Headers */, + 1EBA459914B97E92003CC0EA /* probing_hash_table.hh in Headers */, + 1EBA459A14B97E92003CC0EA /* proxy_iterator.hh in Headers */, + 1EBA459B14B97E92003CC0EA /* scoped.hh in Headers */, + 1EBA459C14B97E92003CC0EA /* sized_iterator.hh in Headers */, + 1EBA459E14B97E92003CC0EA /* sorted_uniform.hh in Headers */, + 1EBA459F14B97E92003CC0EA /* string_piece.hh in Headers */, + 1EBA45A114B97E92003CC0EA /* tokenize_piece.hh in Headers */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXHeadersBuildPhase section */ + +/* Begin PBXNativeTarget section */ + 1EE8C2E81476A48E002496F2 /* lm */ = { + isa = PBXNativeTarget; + buildConfigurationList = 1EE8C2ED1476A48E002496F2 /* Build configuration list for PBXNativeTarget "lm" */; + buildPhases = ( + 1EE8C2E51476A48E002496F2 /* Sources */, + 1EE8C2E61476A48E002496F2 /* Frameworks */, + 1EE8C2E71476A48E002496F2 /* Headers */, + ); + buildRules = ( + ); + dependencies = ( + ); + name = lm; + productName = lm; + productReference = 1EE8C2E91476A48E002496F2 /* liblm.a */; + productType = "com.apple.product-type.library.static"; + }; +/* End PBXNativeTarget section */ + +/* Begin PBXProject section */ + 1EE8C2E01476A48E002496F2 /* Project object */ = { + isa = PBXProject; + buildConfigurationList = 1EE8C2E31476A48E002496F2 /* Build configuration list for PBXProject "lm" */; + compatibilityVersion = "Xcode 3.2"; + developmentRegion = English; + hasScannedForEncodings = 0; + knownRegions = ( + en, + ); + mainGroup = 1EE8C2DE1476A48E002496F2; + productRefGroup = 1EE8C2EA1476A48E002496F2 /* Products */; + projectDirPath = ""; + projectReferences = ( + { + ProductGroup = 1EBA455D14B97E92003CC0EA /* Products */; + ProjectRef = 1EBA455C14B97E92003CC0EA /* util.xcodeproj */; + }, + ); + projectRoot = ""; + targets = ( + 1EE8C2E81476A48E002496F2 /* lm */, + ); + }; +/* End PBXProject section */ + +/* Begin PBXReferenceProxy section */ + 1EBA45A414B97E93003CC0EA /* libutil.a */ = { + isa = PBXReferenceProxy; + fileType = archive.ar; + path = libutil.a; + remoteRef = 1EBA45A314B97E93003CC0EA /* PBXContainerItemProxy */; + sourceTree = BUILT_PRODUCTS_DIR; + }; +/* End PBXReferenceProxy section */ + +/* Begin PBXSourcesBuildPhase section */ + 1EE8C2E51476A48E002496F2 /* Sources */ = { + isa = PBXSourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + 1EBA44AD14B97E22003CC0EA /* bhiksha.cc in Sources */, + 1EBA44D414B97E22003CC0EA /* binary_format.cc in Sources */, + 1EBA44D814B97E22003CC0EA /* config.cc in Sources */, + 1EBA44DC14B97E22003CC0EA /* Jamfile in Sources */, + 1EBA44DD14B97E22003CC0EA /* left_test.cc in Sources */, + 1EBA44DF14B97E22003CC0EA /* lm_exception.cc in Sources */, + 1EBA44E214B97E22003CC0EA /* model_test.cc in Sources */, + 1EBA44E414B97E22003CC0EA /* model.cc in Sources */, + 1EBA44E614B97E22003CC0EA /* ngram_query.cc in Sources */, + 1EBA44E814B97E22003CC0EA /* quantize.cc in Sources */, + 1EBA44EA14B97E22003CC0EA /* read_arpa.cc in Sources */, + 1EBA44ED14B97E22003CC0EA /* search_hashed.cc in Sources */, + 1EBA44EF14B97E22003CC0EA /* search_trie.cc in Sources */, + 1EBA44F114B97E22003CC0EA /* trie_sort.cc in Sources */, + 1EBA44F314B97E22003CC0EA /* trie.cc in Sources */, + 1EBA44F514B97E22003CC0EA /* virtual_interface.cc in Sources */, + 1EBA44F714B97E22003CC0EA /* vocab.cc in Sources */, + 1EBA457F14B97E92003CC0EA /* bit_packing_test.cc in Sources */, + 1EBA458014B97E92003CC0EA /* bit_packing.cc in Sources */, + 1EBA458314B97E92003CC0EA /* ersatz_progress.cc in Sources */, + 1EBA458514B97E92003CC0EA /* exception.cc in Sources */, + 1EBA458714B97E92003CC0EA /* file_piece_test.cc in Sources */, + 1EBA458814B97E92003CC0EA /* file_piece.cc in Sources */, + 1EBA458A14B97E92003CC0EA /* file.cc in Sources */, + 1EBA458C14B97E92003CC0EA /* getopt.c in Sources */, + 1EBA458F14B97E92003CC0EA /* Jamfile in Sources */, + 1EBA459014B97E92003CC0EA /* joint_sort_test.cc in Sources */, + 1EBA459214B97E92003CC0EA /* key_value_packing_test.cc in Sources */, + 1EBA459414B97E92003CC0EA /* mmap.cc in Sources */, + 1EBA459614B97E92003CC0EA /* murmur_hash.cc in Sources */, + 1EBA459814B97E92003CC0EA /* probing_hash_table_test.cc in Sources */, + 1EBA459D14B97E92003CC0EA /* sorted_uniform_test.cc in Sources */, + 1EBA45A014B97E92003CC0EA /* tokenize_piece_test.cc in Sources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXSourcesBuildPhase section */ + +/* Begin XCBuildConfiguration section */ + 1EE8C2EB1476A48E002496F2 /* Debug */ = { + isa = XCBuildConfiguration; + buildSettings = { + ALWAYS_SEARCH_USER_PATHS = NO; + ARCHS = "$(ARCHS_STANDARD_64_BIT)"; + COPY_PHASE_STRIP = NO; + GCC_C_LANGUAGE_STANDARD = gnu99; + GCC_DYNAMIC_NO_PIC = NO; + GCC_ENABLE_OBJC_EXCEPTIONS = YES; + GCC_OPTIMIZATION_LEVEL = 0; + GCC_PREPROCESSOR_DEFINITIONS = ( + "DEBUG=1", + "$(inherited)", + ); + GCC_SYMBOLS_PRIVATE_EXTERN = NO; + GCC_VERSION = com.apple.compilers.llvm.clang.1_0; + GCC_WARN_64_TO_32_BIT_CONVERSION = YES; + GCC_WARN_ABOUT_MISSING_PROTOTYPES = YES; + GCC_WARN_ABOUT_RETURN_TYPE = YES; + GCC_WARN_UNUSED_VARIABLE = YES; + HEADER_SEARCH_PATHS = ( + ../.., + /opt/local/include, + ); + MACOSX_DEPLOYMENT_TARGET = 10.7; + ONLY_ACTIVE_ARCH = YES; + SDKROOT = macosx; + }; + name = Debug; + }; + 1EE8C2EC1476A48E002496F2 /* Release */ = { + isa = XCBuildConfiguration; + buildSettings = { + ALWAYS_SEARCH_USER_PATHS = NO; + ARCHS = "$(ARCHS_STANDARD_64_BIT)"; + COPY_PHASE_STRIP = YES; + DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; + GCC_C_LANGUAGE_STANDARD = gnu99; + GCC_ENABLE_OBJC_EXCEPTIONS = YES; + GCC_VERSION = com.apple.compilers.llvm.clang.1_0; + GCC_WARN_64_TO_32_BIT_CONVERSION = YES; + GCC_WARN_ABOUT_MISSING_PROTOTYPES = YES; + GCC_WARN_ABOUT_RETURN_TYPE = YES; + GCC_WARN_UNUSED_VARIABLE = YES; + HEADER_SEARCH_PATHS = ( + ../.., + /opt/local/include, + ); + MACOSX_DEPLOYMENT_TARGET = 10.7; + SDKROOT = macosx; + }; + name = Release; + }; + 1EE8C2EE1476A48E002496F2 /* Debug */ = { + isa = XCBuildConfiguration; + buildSettings = { + EXECUTABLE_PREFIX = lib; + LIBRARY_SEARCH_PATHS = ( + "$(inherited)", + "\"$(SRCROOT)/../../lm/bin/darwin-4.2.1/release/debug-symbols-on/link-static/threading-multi\"", + "\"$(SRCROOT)/../../lm/bin/darwin-4.2.1/release/link-static/threading-multi\"", + "\"$(SRCROOT)/../../lm/bin/gcc-4.2.1/release/debug-symbols-on/link-static/threading-multi\"", + "\"$(SRCROOT)/../../util/bin/darwin-4.2.1/release/debug-symbols-on/link-static/threading-multi\"", + "\"$(SRCROOT)/../../util/bin/darwin-4.2.1/release/link-static/threading-multi\"", + "\"$(SRCROOT)/../../util/bin/gcc-4.2.1/release/debug-symbols-on/link-static/threading-multi\"", + ); + PRODUCT_NAME = "$(TARGET_NAME)"; + }; + name = Debug; + }; + 1EE8C2EF1476A48E002496F2 /* Release */ = { + isa = XCBuildConfiguration; + buildSettings = { + EXECUTABLE_PREFIX = lib; + LIBRARY_SEARCH_PATHS = ( + "$(inherited)", + "\"$(SRCROOT)/../../lm/bin/darwin-4.2.1/release/debug-symbols-on/link-static/threading-multi\"", + "\"$(SRCROOT)/../../lm/bin/darwin-4.2.1/release/link-static/threading-multi\"", + "\"$(SRCROOT)/../../lm/bin/gcc-4.2.1/release/debug-symbols-on/link-static/threading-multi\"", + "\"$(SRCROOT)/../../util/bin/darwin-4.2.1/release/debug-symbols-on/link-static/threading-multi\"", + "\"$(SRCROOT)/../../util/bin/darwin-4.2.1/release/link-static/threading-multi\"", + "\"$(SRCROOT)/../../util/bin/gcc-4.2.1/release/debug-symbols-on/link-static/threading-multi\"", + ); + PRODUCT_NAME = "$(TARGET_NAME)"; + }; + name = Release; + }; +/* End XCBuildConfiguration section */ + +/* Begin XCConfigurationList section */ + 1EE8C2E31476A48E002496F2 /* Build configuration list for PBXProject "lm" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + 1EE8C2EB1476A48E002496F2 /* Debug */, + 1EE8C2EC1476A48E002496F2 /* Release */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Release; + }; + 1EE8C2ED1476A48E002496F2 /* Build configuration list for PBXNativeTarget "lm" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + 1EE8C2EE1476A48E002496F2 /* Debug */, + 1EE8C2EF1476A48E002496F2 /* Release */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Release; + }; +/* End XCConfigurationList section */ + }; + rootObject = 1EE8C2E01476A48E002496F2 /* Project object */; +} From b43babfb8eab595816a63f8e6241dc69b7b95b4d Mon Sep 17 00:00:00 2001 From: Barry Haddow Date: Mon, 9 Jan 2012 20:46:21 +0000 Subject: [PATCH 24/32] bug fix to lex reordering training submitted by Christoffer Tanner (via Sara Stymne) --- scripts/training/lexical-reordering/reordering_classes.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/scripts/training/lexical-reordering/reordering_classes.cpp b/scripts/training/lexical-reordering/reordering_classes.cpp index 99043063a..ab9f53926 100644 --- a/scripts/training/lexical-reordering/reordering_classes.cpp +++ b/scripts/training/lexical-reordering/reordering_classes.cpp @@ -425,7 +425,7 @@ Model* Model::createModel(ModelScore* modelscore, const string& config, const st void Model::createSmoothing(double w) { scorer->createSmoothing(modelscore->get_scores_fe_prev(), w, smoothing_prev); - scorer->createSmoothing(modelscore->get_scores_fe_prev(), w, smoothing_next); + scorer->createSmoothing(modelscore->get_scores_fe_next(), w, smoothing_next); } void Model::createConstSmoothing(double w) From 3060da747ecfa8b58a6e2139a9d0aebc66ba7031 Mon Sep 17 00:00:00 2001 From: pkoehn Date: Mon, 9 Jan 2012 23:43:08 +0000 Subject: [PATCH 25/32] bug fix with Good Turing / Kneser Ney discounting --- scripts/training/phrase-extract/score.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/scripts/training/phrase-extract/score.cpp b/scripts/training/phrase-extract/score.cpp index 198e58ce4..3c623ef71 100644 --- a/scripts/training/phrase-extract/score.cpp +++ b/scripts/training/phrase-extract/score.cpp @@ -267,7 +267,7 @@ void writeCountOfCounts( const char* fileNameCountOfCounts ) } // Kneser-Ney needs the total number of phrase pairs - countOfCountsFile << totalDistinct; + countOfCountsFile << totalDistinct << endl; // write out counts for(int i=1; i<=COC_MAX; i++) { From 4bdc954e2c6c06c8b8589944bb40acd58567ba7b Mon Sep 17 00:00:00 2001 From: bhaddow Date: Tue, 10 Jan 2012 09:32:26 +0000 Subject: [PATCH 26/32] fix cruise control ems config --- cruise-control/config.ems | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/cruise-control/config.ems b/cruise-control/config.ems index eee15ec72..69fd60628 100644 --- a/cruise-control/config.ems +++ b/cruise-control/config.ems @@ -172,7 +172,7 @@ raw-corpus = $toy-data/nc-5k.$output-extension ################################################################# # INTERPOLATING LANGUAGE MODELS -[INTERPOLATED-LM] +[INTERPOLATED-LM] IGNORE # if multiple language models are used, these may be combined # by optimizing perplexity on a tuning set From 7e7ed734dfe640e32421f979cb296ef96eded696 Mon Sep 17 00:00:00 2001 From: Barry Haddow Date: Tue, 10 Jan 2012 10:08:35 +0000 Subject: [PATCH 27/32] Second attempt... --- cruise-control/config.ems | 46 --------------------------------------- 1 file changed, 46 deletions(-) diff --git a/cruise-control/config.ems b/cruise-control/config.ems index 69fd60628..e64f68f43 100644 --- a/cruise-control/config.ems +++ b/cruise-control/config.ems @@ -169,52 +169,6 @@ raw-corpus = $toy-data/nc-5k.$output-extension # #lm = -################################################################# -# INTERPOLATING LANGUAGE MODELS - -[INTERPOLATED-LM] IGNORE - -# if multiple language models are used, these may be combined -# by optimizing perplexity on a tuning set -# see, for instance [Koehn and Schwenk, IJCNLP 2008] - -### script to interpolate language models -# if commented out, no interpolation is performed -# -# script = $moses-script-dir/ems/support/interpolate-lm.perl - -### tuning set -# you may use the same set that is used for mert tuning (reference set) -# -#tuning-sgm = -#raw-tuning = -#tokenized-tuning = -#factored-tuning = -#lowercased-tuning = -#split-tuning = - -### script to use for binary table format for irstlm or kenlm -# (default: no binarization) - -# irstlm -#lm-binarizer = $moses-src-dir/irstlm/bin/compile-lm - -# kenlm, also set type to 8 -#lm-binarizer = $moses-src-dir/kenlm/build_binary -#type = 8 - -### script to create quantized language model format (irstlm) -# (default: no quantization) -# -#lm-quantizer = $moses-src-dir/irstlm/bin/quantize-lm - -### script to use for converting into randomized table format -# (default: no randomization) -# -#lm-randomizer = "$moses-src-dir/randlm/bin/buildlm -falsepos 8 -values 8" - -################################################################# -# TRANSLATION MODEL TRAINING [TRAINING] From ba469d27a557a6a88404eab190ef7e8697c3bb3c Mon Sep 17 00:00:00 2001 From: phikoehn Date: Thu, 12 Jan 2012 03:34:51 +0000 Subject: [PATCH 28/32] fixed ems bug when no interpolated LMs are used --- scripts/ems/experiment.meta | 1 + scripts/ems/experiment.perl | 2 +- 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/scripts/ems/experiment.meta b/scripts/ems/experiment.meta index 60ed0f4fe..93afd24eb 100644 --- a/scripts/ems/experiment.meta +++ b/scripts/ems/experiment.meta @@ -271,6 +271,7 @@ binarize in: qlm out: binlm pass-unless: lm-binarizer + ignore-unless: script rerun-on-change: lm default-name: lm/interpolated-binlm error: set kMaxOrder to at least this value diff --git a/scripts/ems/experiment.perl b/scripts/ems/experiment.perl index b71881f26..00dccc722 100755 --- a/scripts/ems/experiment.perl +++ b/scripts/ems/experiment.perl @@ -1819,8 +1819,8 @@ sub define_training_create_config { } } } - shift @LM; } + shift @LM; # remove interpolated lm die("ERROR: number of defined LM sets (".(scalar @LM_SETS).":".join(",",@LM_SETS).") and LM files (".(scalar @LM).":".join(",",@LM).") does not match") unless scalar @LM == scalar @LM_SETS; From ddd3d97bcb5eb413fb87e842aaec04326d58cf45 Mon Sep 17 00:00:00 2001 From: bhaddow Date: Thu, 12 Jan 2012 14:34:52 +0000 Subject: [PATCH 29/32] Restore Hieu's phrase extraction speedups --- scripts/training/phrase-extract/score.cpp | 74 +++++++++++++++-------- scripts/training/phrase-extract/score.h | 2 + 2 files changed, 51 insertions(+), 25 deletions(-) diff --git a/scripts/training/phrase-extract/score.cpp b/scripts/training/phrase-extract/score.cpp index 3c623ef71..baf83decc 100644 --- a/scripts/training/phrase-extract/score.cpp +++ b/scripts/training/phrase-extract/score.cpp @@ -58,8 +58,8 @@ vector tokenize( const char [] ); void writeCountOfCounts( const char* fileNameCountOfCounts ); void processPhrasePairs( vector< PhraseAlignment > & , ostream &phraseTableFile); -PhraseAlignment* findBestAlignment( vector< PhraseAlignment* > & ); -void outputPhrasePair( vector< PhraseAlignment * > &, float, int, ostream &phraseTableFile ); +PhraseAlignment* findBestAlignment(const PhraseAlignmentCollection &phrasePair ); +void outputPhrasePair(const PhraseAlignmentCollection &phrasePair, float, int, ostream &phraseTableFile ); double computeLexicalTranslation( const PHRASE &, const PHRASE &, PhraseAlignment * ); double computeUnalignedPenalty( const PHRASE &, const PHRASE &, PhraseAlignment * ); set functionWordList; @@ -282,54 +282,63 @@ void processPhrasePairs( vector< PhraseAlignment > &phrasePair, ostream &phraseT // group phrase pairs based on alignments that matter // (i.e. that re-arrange non-terminals) - vector< vector< PhraseAlignment * > > phrasePairGroup; + PhrasePairGroup phrasePairGroup; + float totalSource = 0; + //cerr << "phrasePair.size() = " << phrasePair.size() << endl; + // loop through phrase pairs for(size_t i=0; i &group = phrasePairGroup[g]; - // matched? place into same group - if ( group[0]->match( phrasePair[i] )) { - group.push_back( &phrasePair[i] ); - matched = true; - } - } - // not matched? create new group - if (! matched) { - vector< PhraseAlignment* > newGroup; - newGroup.push_back( &phrasePair[i] ); - phrasePairGroup.push_back( newGroup ); + //cerr << "phrasePairGroup.size() = " << phrasePairGroup.size() << endl; + + PhraseAlignmentCollection phraseAlignColl; + phraseAlignColl.push_back(&currPhrasePair); + pair retInsert; + retInsert = phrasePairGroup.insert(phraseAlignColl); + if (!retInsert.second) + { // already exist. Add to that collection instead + PhraseAlignmentCollection &existingColl = const_cast(*retInsert.first); + existingColl.push_back(&currPhrasePair); } + } // output the distinct phrase pairs, one at a time - for(size_t g=0; g &group = phrasePairGroup[g]; - outputPhrasePair( group, totalSource, phrasePairGroup.size(), phraseTableFile ); + const PhrasePairGroup::SortedColl &sortedColl = phrasePairGroup.GetSortedColl(); + PhrasePairGroup::SortedColl::const_iterator iter; + + for(iter = sortedColl.begin(); iter != sortedColl.end(); ++iter) + { + const PhraseAlignmentCollection &group = **iter; + outputPhrasePair( group, totalSource, phrasePairGroup.GetSize(), phraseTableFile ); + } + } -PhraseAlignment* findBestAlignment( vector< PhraseAlignment* > &phrasePair ) +PhraseAlignment* findBestAlignment(const PhraseAlignmentCollection &phrasePair ) { float bestAlignmentCount = -1; PhraseAlignment* bestAlignment; - + for(int i=0; icount > bestAlignmentCount) { bestAlignmentCount = phrasePair[i]->count; bestAlignment = phrasePair[i]; } } - + return bestAlignment; } + void calcNTLengthProb(const map > &lengths , size_t total , map > &probs) @@ -417,7 +426,7 @@ void outputNTLengthProbs(ostream &phraseTableFile, const map &phrasePair, float totalCount, int distinctCount, ostream &phraseTableFile ) +void outputPhrasePair(const PhraseAlignmentCollection &phrasePair, float totalCount, int distinctCount, ostream &phraseTableFile ) { if (phrasePair.size() == 0) return; @@ -658,3 +667,18 @@ void LexicalTable::load( char *fileName ) } cerr << endl; } + +std::pair PhrasePairGroup::insert ( const PhraseAlignmentCollection& obj ) +{ + std::pair ret = m_coll.insert(obj); + + if (ret.second) + { // obj inserted. Also add to sorted vector + const PhraseAlignmentCollection &insertedObj = *ret.first; + m_sortedColl.push_back(&insertedObj); + } + + return ret; +} + + diff --git a/scripts/training/phrase-extract/score.h b/scripts/training/phrase-extract/score.h index ea50d8cb7..dc94ecfde 100644 --- a/scripts/training/phrase-extract/score.h +++ b/scripts/training/phrase-extract/score.h @@ -50,6 +50,8 @@ public: const SortedColl &GetSortedColl() const { return m_sortedColl; } + size_t GetSize() const + { return m_coll.size(); } private: SortedColl m_sortedColl; From a762145c2a9c68995f8d030fbb90035a4af3c754 Mon Sep 17 00:00:00 2001 From: Eleftherios Avramidis Date: Thu, 12 Jan 2012 18:37:02 +0100 Subject: [PATCH 30/32] Added support for optional external METEOR script. Workflow changes in experiment.meta and and corresponding sample given in example/config.basic. Results processing for report-experiment-scores now supports METEOR output. Lifted web interface restriction on the types of metrics that can be listed --- scripts/ems/example/config.basic | 10 +++-- scripts/ems/experiment.meta | 5 ++- .../ems/support/report-experiment-scores.perl | 19 ++++++++++ scripts/ems/web/overview.php | 37 +++++++++---------- 4 files changed, 47 insertions(+), 24 deletions(-) diff --git a/scripts/ems/example/config.basic b/scripts/ems/example/config.basic index 3eee66565..c0a530bd8 100644 --- a/scripts/ems/example/config.basic +++ b/scripts/ems/example/config.basic @@ -504,9 +504,13 @@ nist-bleu-c = "$moses-script-dir/generic/mteval-v13a.pl -c" # ter = ### METEOR: gives credit to stem / worknet synonym matches -# not yet integrated -# -# meteor = +## recently integrated - use with care +## only for supported languages, needs to be installed separately +## +## uncomment following 3 lines, modify first one adding the location of meteor installation on your disk +# meteor-script = "/project/software/meteor-1.3/meteor-1.3.jar" +# meteor = "java -Xmx2G -jar $meteor-script" +# meteor-params = " -l $output-extension -norm" ### Analysis: carry out various forms of analysis on the output # diff --git a/scripts/ems/experiment.meta b/scripts/ems/experiment.meta index 93afd24eb..b3e076ee5 100644 --- a/scripts/ems/experiment.meta +++ b/scripts/ems/experiment.meta @@ -745,11 +745,12 @@ wer rerun-on-change: wer template: $wer IN IN1 > OUT meteor - in: wrapped-output reference-sgm + in: cleaned-output reference out: meteor-score - default-name: evaluation/detokenized.sgm.METEOR + default-name: evaluation/meteor ignore-unless: meteor rerun-on-change: meteor + template: $meteor IN IN1 $meteor-params > OUT analysis in: recased-output reference input out: analysis diff --git a/scripts/ems/support/report-experiment-scores.perl b/scripts/ems/support/report-experiment-scores.perl index 59f43f6eb..2efd86517 100755 --- a/scripts/ems/support/report-experiment-scores.perl +++ b/scripts/ems/support/report-experiment-scores.perl @@ -13,6 +13,7 @@ $TYPE{"nist-bleu-c"} = "BLEU-c"; $TYPE{"multi-bleu-c"}= "BLEU-c"; $TYPE{"ibm-bleu"} = "IBM"; $TYPE{"ibm-bleu-c"} = "IBM-c"; +$TYPE{"meteor"} = "METEOR"; my %SCORE; my %AVERAGE; @@ -56,6 +57,9 @@ sub process { elsif ($type eq 'multi-bleu' || $type eq 'multi-bleu-c') { $SCORE{$set} .= &extract_multi_bleu($file,$type)." "; } + elsif ($type eq 'meteor') { + $SCORE{$set} .= &extract_meteor($file,$type)." "; + } } sub extract_nist_bleu { @@ -110,3 +114,18 @@ sub extract_multi_bleu { return $output.$TYPE{$type}; } + +sub extract_meteor { + my ($file,$type) = @_; + my ($meteor, $precision); + foreach (`cat $file`) { + $meteor = $1*100 if /Final score:\s*(\S+)/; + $precision = $1 if /Precision:\s*(\S+)/; + } + my $output = sprintf("%.02f ",$meteor); + $output .= sprintf("(%.03f) ",$precision) if $precision; + $AVERAGE{"meteor"} += $meteor; + + return $output.$TYPE{$type}; + +} diff --git a/scripts/ems/web/overview.php b/scripts/ems/web/overview.php index 7280bc35b..179dda464 100644 --- a/scripts/ems/web/overview.php +++ b/scripts/ems/web/overview.php @@ -282,29 +282,28 @@ function output_score($id,$info) { $each_score = explode(" ; ",$score); for($i=0;$i0) { print "
"; } - $opened_a_tag = 0; - if ($set != "avg") { - if (file_exists("$dir/evaluation/$set.cleaned.$id")) { - print ""; - $opened_a_tag = 1; - } - else if (file_exists("$dir/evaluation/$set.output.$id")) { - print ""; - $opened_a_tag = 1; - } - } - if ($set == "avg" && count($each_score)>1) { print $match[2].": "; } - print $match[1]; - if ($opened_a_tag) { print ""; } + if (preg_match('/([\d\(\)\.\s]+) (\S*)/',$each_score[$i],$match)) { + //if ($i>0) { print " "; } + $opened_a_tag = 0; + if ($set != "avg") { + if (file_exists("$dir/evaluation/$set.cleaned.$id")) { + print ""; + $opened_a_tag = 1; + } + else if (file_exists("$dir/evaluation/$set.output.$id")) { + print ""; + $opened_a_tag = 1; + } + } + if ($set == "avg" && count($each_score)>1) { print $match[2].": "; } + print "
".$match[1]."
"; + if ($opened_a_tag) { print "
"; } } else { - print "-"; + print "-"; } } - + print ""; if ($has_analysis && array_key_exists($set,$has_analysis)) { print ""; From a6f06833aec51c2ad62997cc2882a27f4a1b100d Mon Sep 17 00:00:00 2001 From: Kenneth Heafield Date: Fri, 13 Jan 2012 10:07:30 -0500 Subject: [PATCH 31/32] Fix GetScoreProducerDescription --- moses/src/LM/Ken.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/moses/src/LM/Ken.cpp b/moses/src/LM/Ken.cpp index ec0f58a92..af2c11774 100644 --- a/moses/src/LM/Ken.cpp +++ b/moses/src/LM/Ken.cpp @@ -71,7 +71,7 @@ template class LanguageModelKen : public LanguageModel { std::string GetScoreProducerDescription(unsigned) const { std::ostringstream oss; - oss << "LM_" << m_ngram->Order() << "gram"; + oss << "LM_" << (unsigned)m_ngram->Order() << "gram"; return oss.str(); } From 06648fd832f7618e1c564f29401ed3a1c2ebbe8e Mon Sep 17 00:00:00 2001 From: Kenneth Heafield Date: Fri, 13 Jan 2012 10:20:42 -0500 Subject: [PATCH 32/32] Surround mains in try-catch blocks. --- moses-chart-cmd/src/Main.cpp | 141 ++++++++------- moses-cmd/src/Main.cpp | 333 ++++++++++++++++++----------------- 2 files changed, 244 insertions(+), 230 deletions(-) diff --git a/moses-chart-cmd/src/Main.cpp b/moses-chart-cmd/src/Main.cpp index 50f2eaddb..6899582a4 100644 --- a/moses-chart-cmd/src/Main.cpp +++ b/moses-chart-cmd/src/Main.cpp @@ -37,6 +37,7 @@ POSSIBILITY OF SUCH DAMAGE. //#include #endif +#include #include #include "Main.h" #include "FactorCollection.h" @@ -202,81 +203,87 @@ static void ShowWeights() int main(int argc, char* argv[]) { - IFVERBOSE(1) { - TRACE_ERR("command: "); - for(int i=0; i weights = staticData.GetAllWeights(); - IFVERBOSE(2) { - TRACE_ERR("The score component vector looks like this:\n" << staticData.GetScoreIndexManager()); - TRACE_ERR("The global weight vector looks like this:"); - for (size_t j=0; j weights = staticData.GetAllWeights(); + IFVERBOSE(2) { + TRACE_ERR("The score component vector looks like this:\n" << staticData.GetScoreIndexManager()); + TRACE_ERR("The global weight vector looks like this:"); + for (size_t j=0; jRun(); - delete task; + task->Run(); + delete task; #endif - } - + } + #ifdef WITH_THREADS - pool.Stop(true); // flush remaining jobs + pool.Stop(true); // flush remaining jobs #endif - - delete ioWrapper; - - IFVERBOSE(1) - PrintUserTime("End."); + + delete ioWrapper; + + IFVERBOSE(1) + PrintUserTime("End."); + + } catch (const std::exception &e) { + std::cerr << "Exception: " << e.what() << std::endl; + return EXIT_FAILURE; + } #ifdef HACK_EXIT //This avoids that detructors are called (it can take a long time) diff --git a/moses-cmd/src/Main.cpp b/moses-cmd/src/Main.cpp index b4f1fb08d..c3ece1cad 100644 --- a/moses-cmd/src/Main.cpp +++ b/moses-cmd/src/Main.cpp @@ -23,6 +23,7 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA * Moses main, for single-threaded and multi-threaded. **/ +#include #include #include #include @@ -323,179 +324,185 @@ static void ShowWeights() /** main function of the command line version of the decoder **/ int main(int argc, char** argv) { - + try { + #ifdef HAVE_PROTOBUF - GOOGLE_PROTOBUF_VERIFY_VERSION; + GOOGLE_PROTOBUF_VERIFY_VERSION; #endif - - // echo command line, if verbose - IFVERBOSE(1) { - TRACE_ERR("command: "); - for(int i=0; iLoadParam(argc,argv)) { - params->Explain(); - exit(1); - } - - - // initialize all "global" variables, which are stored in StaticData - // note: this also loads models such as the language model, etc. - if (!StaticData::LoadDataStatic(params)) { - exit(1); - } - - // setting "-show-weights" -> just dump out weights and exit - if (params->isParamSpecified("show-weights")) { - ShowWeights(); - exit(0); - } - - // shorthand for accessing information in StaticData - const StaticData& staticData = StaticData::Instance(); - - - //initialise random numbers - srand(time(NULL)); - - // set up read/writing class - IOWrapper* ioWrapper = GetIODevice(staticData); - if (!ioWrapper) { - cerr << "Error; Failed to create IO object" << endl; - exit(1); - } - - // check on weights - vector weights = staticData.GetAllWeights(); - IFVERBOSE(2) { - TRACE_ERR("The score component vector looks like this:\n" << staticData.GetScoreIndexManager()); - TRACE_ERR("The global weight vector looks like this:"); - for (size_t j=0; j outputCollector; // for translations - auto_ptr nbestCollector; // for n-best lists - auto_ptr latticeSamplesCollector; //for lattice samples - auto_ptr nbestOut; - auto_ptr latticeSamplesOut; - size_t nbestSize = staticData.GetNBestSize(); - string nbestFile = staticData.GetNBestFilePath(); - bool output1best = true; - if (nbestSize) { - if (nbestFile == "-" || nbestFile == "/dev/stdout") { - // nbest to stdout, no 1-best - nbestCollector.reset(new OutputCollector()); - output1best = false; - } else { - // nbest to file, 1-best to stdout - nbestOut.reset(new ofstream(nbestFile.c_str())); - if (!nbestOut->good()) { - TRACE_ERR("ERROR: Failed to open " << nbestFile << " for nbest lists" << endl); - exit(1); - } - nbestCollector.reset(new OutputCollector(nbestOut.get())); - } - } - size_t latticeSamplesSize = staticData.GetLatticeSamplesSize(); - string latticeSamplesFile = staticData.GetLatticeSamplesFilePath(); - if (latticeSamplesSize) { - if (latticeSamplesFile == "-" || latticeSamplesFile == "/dev/stdout") { - latticeSamplesCollector.reset(new OutputCollector()); - output1best = false; - } else { - latticeSamplesOut.reset(new ofstream(latticeSamplesFile.c_str())); - if (!latticeSamplesOut->good()) { - TRACE_ERR("ERROR: Failed to open " << latticeSamplesFile << " for lattice samples" << endl); - exit(1); - } - latticeSamplesCollector.reset(new OutputCollector(latticeSamplesOut.get())); - } - } - if (output1best) { - outputCollector.reset(new OutputCollector()); - } - - // initialize stream for word graph (aka: output lattice) - auto_ptr wordGraphCollector; - if (staticData.GetOutputWordGraph()) { - wordGraphCollector.reset(new OutputCollector(&(ioWrapper->GetOutputWordGraphStream()))); - } - - // initialize stream for search graph - // note: this is essentially the same as above, but in a different format - auto_ptr searchGraphCollector; - if (staticData.GetOutputSearchGraph()) { - searchGraphCollector.reset(new OutputCollector(&(ioWrapper->GetOutputSearchGraphStream()))); - } - - // initialize stram for details about the decoder run - auto_ptr detailedTranslationCollector; - if (staticData.IsDetailedTranslationReportingEnabled()) { - detailedTranslationCollector.reset(new OutputCollector(&(ioWrapper->GetDetailedTranslationReportingStream()))); - } - - // initialize stram for word alignment between input and output - auto_ptr alignmentInfoCollector; - if (!staticData.GetAlignmentOutputFile().empty()) { - alignmentInfoCollector.reset(new OutputCollector(ioWrapper->GetAlignmentOutputStream())); - } - -#ifdef WITH_THREADS - ThreadPool pool(staticData.ThreadCount()); -#endif - - // main loop over set of input sentences - InputType* source = NULL; - size_t lineCount = 0; - while(ReadInput(*ioWrapper,staticData.GetInputType(),source)) { + + // echo command line, if verbose IFVERBOSE(1) { - ResetUserTime(); + TRACE_ERR("command: "); + for(int i=0; iLoadParam(argc,argv)) { + params->Explain(); + exit(1); + } + + + // initialize all "global" variables, which are stored in StaticData + // note: this also loads models such as the language model, etc. + if (!StaticData::LoadDataStatic(params)) { + exit(1); + } + + // setting "-show-weights" -> just dump out weights and exit + if (params->isParamSpecified("show-weights")) { + ShowWeights(); + exit(0); + } + + // shorthand for accessing information in StaticData + const StaticData& staticData = StaticData::Instance(); + + + //initialise random numbers + srand(time(NULL)); + + // set up read/writing class + IOWrapper* ioWrapper = GetIODevice(staticData); + if (!ioWrapper) { + cerr << "Error; Failed to create IO object" << endl; + exit(1); + } + + // check on weights + vector weights = staticData.GetAllWeights(); + IFVERBOSE(2) { + TRACE_ERR("The score component vector looks like this:\n" << staticData.GetScoreIndexManager()); + TRACE_ERR("The global weight vector looks like this:"); + for (size_t j=0; j outputCollector; // for translations + auto_ptr nbestCollector; // for n-best lists + auto_ptr latticeSamplesCollector; //for lattice samples + auto_ptr nbestOut; + auto_ptr latticeSamplesOut; + size_t nbestSize = staticData.GetNBestSize(); + string nbestFile = staticData.GetNBestFilePath(); + bool output1best = true; + if (nbestSize) { + if (nbestFile == "-" || nbestFile == "/dev/stdout") { + // nbest to stdout, no 1-best + nbestCollector.reset(new OutputCollector()); + output1best = false; + } else { + // nbest to file, 1-best to stdout + nbestOut.reset(new ofstream(nbestFile.c_str())); + if (!nbestOut->good()) { + TRACE_ERR("ERROR: Failed to open " << nbestFile << " for nbest lists" << endl); + exit(1); + } + nbestCollector.reset(new OutputCollector(nbestOut.get())); + } + } + size_t latticeSamplesSize = staticData.GetLatticeSamplesSize(); + string latticeSamplesFile = staticData.GetLatticeSamplesFilePath(); + if (latticeSamplesSize) { + if (latticeSamplesFile == "-" || latticeSamplesFile == "/dev/stdout") { + latticeSamplesCollector.reset(new OutputCollector()); + output1best = false; + } else { + latticeSamplesOut.reset(new ofstream(latticeSamplesFile.c_str())); + if (!latticeSamplesOut->good()) { + TRACE_ERR("ERROR: Failed to open " << latticeSamplesFile << " for lattice samples" << endl); + exit(1); + } + latticeSamplesCollector.reset(new OutputCollector(latticeSamplesOut.get())); + } + } + if (output1best) { + outputCollector.reset(new OutputCollector()); + } + + // initialize stream for word graph (aka: output lattice) + auto_ptr wordGraphCollector; + if (staticData.GetOutputWordGraph()) { + wordGraphCollector.reset(new OutputCollector(&(ioWrapper->GetOutputWordGraphStream()))); + } + + // initialize stream for search graph + // note: this is essentially the same as above, but in a different format + auto_ptr searchGraphCollector; + if (staticData.GetOutputSearchGraph()) { + searchGraphCollector.reset(new OutputCollector(&(ioWrapper->GetOutputSearchGraphStream()))); + } + + // initialize stram for details about the decoder run + auto_ptr detailedTranslationCollector; + if (staticData.IsDetailedTranslationReportingEnabled()) { + detailedTranslationCollector.reset(new OutputCollector(&(ioWrapper->GetDetailedTranslationReportingStream()))); + } + + // initialize stram for word alignment between input and output + auto_ptr alignmentInfoCollector; + if (!staticData.GetAlignmentOutputFile().empty()) { + alignmentInfoCollector.reset(new OutputCollector(ioWrapper->GetAlignmentOutputStream())); + } + #ifdef WITH_THREADS - pool.Submit(task); -#else - task->Run(); + ThreadPool pool(staticData.ThreadCount()); #endif - - source = NULL; //make sure it doesn't get deleted - ++lineCount; - } - + + // main loop over set of input sentences + InputType* source = NULL; + size_t lineCount = 0; + while(ReadInput(*ioWrapper,staticData.GetInputType(),source)) { + IFVERBOSE(1) { + ResetUserTime(); + } + // set up task of translating one sentence + TranslationTask* task = + new TranslationTask(lineCount,source, outputCollector.get(), + nbestCollector.get(), + latticeSamplesCollector.get(), + wordGraphCollector.get(), + searchGraphCollector.get(), + detailedTranslationCollector.get(), + alignmentInfoCollector.get() ); + // execute task +#ifdef WITH_THREADS + pool.Submit(task); +#else + task->Run(); +#endif + + source = NULL; //make sure it doesn't get deleted + ++lineCount; + } + // we are done, finishing up #ifdef WITH_THREADS - pool.Stop(true); //flush remaining jobs + pool.Stop(true); //flush remaining jobs #endif + } catch (const std::exception &e) { + std::cerr << "Exception: " << e.what() << std::endl; + return EXIT_FAILURE; + } + #ifndef EXIT_RETURN //This avoids that destructors are called (it can take a long time) exit(EXIT_SUCCESS);