Add files using upload-large-folder tool
Browse filesThis view is limited to 50 files because it contains too many changes.
See raw diff
- FacebookAI/xlm-roberta-large/onnx/model.onnx +3 -0
- mosesdecoder/contrib/mada/qsub-madamira.perl +46 -0
- mosesdecoder/contrib/memscore/configure +0 -0
- mosesdecoder/contrib/memscore/m4/ax_boost_base.m4 +223 -0
- mosesdecoder/contrib/memscore/scorer.cpp +402 -0
- mosesdecoder/contrib/memscore/statistic.h +26 -0
- mosesdecoder/contrib/mert-sge-nosync/README +29 -0
- mosesdecoder/contrib/mert-sge-nosync/generic/moses-parallel-sge-nosync.pl +1388 -0
- mosesdecoder/contrib/mert-sge-nosync/generic/qsub-wrapper-exit-sge-nosync.pl +312 -0
- mosesdecoder/contrib/mert-sge-nosync/generic/qsub-wrapper-sge-nosync.pl +320 -0
- mosesdecoder/contrib/mert-sge-nosync/training/mert-moses-sge-nosync.pl +1633 -0
- mosesdecoder/contrib/mert-sge-nosync/training/sge-nosync/cleartmpfiles.pl +64 -0
- mosesdecoder/contrib/mert-sge-nosync/training/sge-nosync/create-config-sge-nosync.pl +426 -0
- mosesdecoder/contrib/mert-sge-nosync/training/sge-nosync/moses-parallel-postdecode-sge-nosync.pl +235 -0
- mosesdecoder/contrib/mert-sge-nosync/training/sge-nosync/poll-decoder.pl +30 -0
- mosesdecoder/contrib/mert-sge-nosync/training/sge-nosync/process-featlist-sge-nosync.pl +283 -0
- mosesdecoder/contrib/mert-sge-nosync/training/sge-nosync/process-moses-result-sge-nosync.pl +1377 -0
- mosesdecoder/contrib/mert-sge-nosync/training/sge-nosync/run-decoder-sge-nosync.pl +271 -0
- mosesdecoder/contrib/mert-sge-nosync/training/sge-nosync/zipextract-decoder-result.pl +832 -0
- mosesdecoder/contrib/other-builds/CreateProbingPT/.cproject +150 -0
- mosesdecoder/contrib/other-builds/CreateProbingPT/.project +36 -0
- mosesdecoder/contrib/other-builds/MosesManagedDLL/ManagedMoses.cpp +28 -0
- mosesdecoder/contrib/other-builds/MosesManagedDLL/MosesManagedDLL.vcxproj +170 -0
- mosesdecoder/contrib/other-builds/MosesManagedDLL/MosesManagedDLL.vcxproj.filters +22 -0
- mosesdecoder/contrib/other-builds/MosesWrapperTest/MosesWrapperTest.csproj +86 -0
- mosesdecoder/contrib/other-builds/MosesWrapperTest/Program.cs +19 -0
- mosesdecoder/contrib/other-builds/OnDiskPt/.cproject +140 -0
- mosesdecoder/contrib/other-builds/OnDiskPt/.project +185 -0
- mosesdecoder/contrib/other-builds/OnDiskPt/OnDiskPt.project +140 -0
- mosesdecoder/contrib/other-builds/all.workspace +44 -0
- mosesdecoder/contrib/other-builds/cmake/boost.example/CMakeLists.txt +7 -0
- mosesdecoder/contrib/other-builds/consolidate/.cproject +165 -0
- mosesdecoder/contrib/other-builds/consolidate/.project +79 -0
- mosesdecoder/contrib/other-builds/consolidate/consolidate.project +137 -0
- mosesdecoder/contrib/other-builds/extractor/.cproject +144 -0
- mosesdecoder/contrib/other-builds/extractor/.project +607 -0
- mosesdecoder/contrib/other-builds/lm/lm.project +140 -0
- mosesdecoder/contrib/other-builds/moses-cmd/.cproject +187 -0
- mosesdecoder/contrib/other-builds/moses-cmd/.project +111 -0
- mosesdecoder/contrib/other-builds/moses-cmd/moses-cmd.project +153 -0
- mosesdecoder/contrib/other-builds/moses2-cmd/.project +44 -0
- mosesdecoder/contrib/other-builds/moses2/.cproject +145 -0
- mosesdecoder/contrib/other-builds/moses2/.project +1621 -0
- mosesdecoder/contrib/other-builds/moses2/moses2.sln +43 -0
- mosesdecoder/contrib/other-builds/moses2/moses2.vcxproj +592 -0
- mosesdecoder/contrib/other-builds/moses2/moses2.vcxproj.filters +768 -0
- mosesdecoder/contrib/other-builds/probingpt/.cproject +126 -0
- mosesdecoder/contrib/other-builds/probingpt/.project +34 -0
- mosesdecoder/contrib/other-builds/score/.cproject +153 -0
- mosesdecoder/contrib/other-builds/score/.project +106 -0
FacebookAI/xlm-roberta-large/onnx/model.onnx
ADDED
|
@@ -0,0 +1,3 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
version https://git-lfs.github.com/spec/v1
|
| 2 |
+
oid sha256:bb5a52503a3ef35247f5b5ae6c473aaae60505dd3ffaef56d7b69e2f84683c05
|
| 3 |
+
size 545850
|
mosesdecoder/contrib/mada/qsub-madamira.perl
ADDED
|
@@ -0,0 +1,46 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
#!/usr/bin/env perl
|
| 2 |
+
|
| 3 |
+
use warnings;
|
| 4 |
+
use strict;
|
| 5 |
+
use File::Slurp;
|
| 6 |
+
use File::Basename;
|
| 7 |
+
use Cwd 'abs_path';
|
| 8 |
+
|
| 9 |
+
my $splitDir = $ARGV[0];
|
| 10 |
+
$splitDir = abs_path($splitDir);
|
| 11 |
+
|
| 12 |
+
my @files = read_dir $splitDir;
|
| 13 |
+
|
| 14 |
+
my $qsubDir=dirname($splitDir) ."/qsub";
|
| 15 |
+
print STDERR "qsubDir=$qsubDir\n";
|
| 16 |
+
`mkdir -p $qsubDir`;
|
| 17 |
+
|
| 18 |
+
my $out2Dir=dirname($splitDir) ."/out2";
|
| 19 |
+
print STDERR "out2Dir=$out2Dir\n";
|
| 20 |
+
`mkdir -p $out2Dir`;
|
| 21 |
+
|
| 22 |
+
for my $file ( @files ) {
|
| 23 |
+
print STDERR "$file ";
|
| 24 |
+
|
| 25 |
+
my $qsubFile = "$qsubDir/$file.sh";
|
| 26 |
+
open(RUN_FILE, ">$qsubFile");
|
| 27 |
+
|
| 28 |
+
print RUN_FILE "#!/usr/bin/env bash\n"
|
| 29 |
+
."#PBS -d/scratch/hh65/workspace/experiment/ar-en \n"
|
| 30 |
+
."#PBS -l mem=5gb \n\n"
|
| 31 |
+
."export PATH=\"/scratch/statmt/bin:/share/apps/NYUAD/perl/gcc_4.9.1/5.20.1/bin:/share/apps/NYUAD/jdk/1.8.0_31/bin:/share/apps/NYUAD/zlib/gcc_4.9.1/1.2.8/bin:/share/apps/NYUAD/cmake/gcc_4.9.1/3.1.0-rc3/bin:/share/apps/NYUAD/boost/gcc_4.9.1/openmpi_1.8.3/1.57.0/bin:/share/apps/NYUAD/openmpi/gcc_4.9.1/1.8.3/bin:/share/apps/NYUAD/python/gcc_4.9.1/2.7.9/bin:/share/apps/NYUAD/gcc/binutils/2.21/el6/bin:/share/apps/NYUAD/gcc/gcc/4.9.1/el6/bin:/usr/lib64/qt-3.3/bin:/usr/local/bin:/bin:/usr/bin:/usr/local/sbin:/usr/sbin:/sbin:/opt/bio/ncbi/bin:/opt/bio/mpiblast/bin:/opt/bio/EMBOSS/bin:/opt/bio/clustalw/bin:/opt/bio/tcoffee/bin:/opt/bio/hmmer/bin:/opt/bio/phylip/exe:/opt/bio/mrbayes:/opt/bio/fasta:/opt/bio/glimmer/bin:/opt/bio/glimmer/scripts:/opt/bio/gromacs/bin:/opt/bio/gmap/bin:/opt/bio/tigr/bin:/opt/bio/autodocksuite/bin:/opt/bio/wgs/bin:/opt/ganglia/bin:/opt/ganglia/sbin:/opt/bin:/usr/java/latest/bin:/opt/pdsh/bin:/opt/rocks/bin:/opt/rocks/sbin:/opt/torque/bin:/opt/torque/sbin:/home/hh65/bin:/home/hh65/bin\" \n"
|
| 32 |
+
|
| 33 |
+
."module load NYUAD/2.0 \n"
|
| 34 |
+
."module load gcc python/2.7.9 openmpi/1.8.3 boost cmake zlib jdk perl expat \n"
|
| 35 |
+
|
| 36 |
+
."cd /scratch/statmt/MADAMIRA-release-20140709-1.0 \n";
|
| 37 |
+
print RUN_FILE "java -Xmx2500m -Xms2500m -XX:NewRatio=3 -jar /scratch/statmt/MADAMIRA-release-20140709-1.0/MADAMIRA.jar "
|
| 38 |
+
."-rawinput $splitDir/$file -rawoutdir $out2Dir -rawconfig /scratch/statmt/MADAMIRA-release-20140709-1.0/samples/sampleConfigFile.xml \n";
|
| 39 |
+
|
| 40 |
+
close(RUN_FILE);
|
| 41 |
+
|
| 42 |
+
my $cmd = "qsub $qsubFile";
|
| 43 |
+
`$cmd`;
|
| 44 |
+
|
| 45 |
+
}
|
| 46 |
+
|
mosesdecoder/contrib/memscore/configure
ADDED
|
The diff for this file is too large to render.
See raw diff
|
|
|
mosesdecoder/contrib/memscore/m4/ax_boost_base.m4
ADDED
|
@@ -0,0 +1,223 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
# ===========================================================================
|
| 2 |
+
# http://autoconf-archive.cryp.to/ax_boost_base.html
|
| 3 |
+
# ===========================================================================
|
| 4 |
+
#
|
| 5 |
+
# SYNOPSIS
|
| 6 |
+
#
|
| 7 |
+
# AX_BOOST_BASE([MINIMUM-VERSION])
|
| 8 |
+
#
|
| 9 |
+
# DESCRIPTION
|
| 10 |
+
#
|
| 11 |
+
# Test for the Boost C++ libraries of a particular version (or newer)
|
| 12 |
+
#
|
| 13 |
+
# If no path to the installed boost library is given the macro searchs
|
| 14 |
+
# under /usr, /usr/local, /opt and /opt/local and evaluates the
|
| 15 |
+
# $BOOST_ROOT environment variable. Further documentation is available at
|
| 16 |
+
# <http://randspringer.de/boost/index.html>.
|
| 17 |
+
#
|
| 18 |
+
# This macro calls:
|
| 19 |
+
#
|
| 20 |
+
# AC_SUBST(BOOST_CPPFLAGS) / AC_SUBST(BOOST_LDFLAGS)
|
| 21 |
+
#
|
| 22 |
+
# And sets:
|
| 23 |
+
#
|
| 24 |
+
# HAVE_BOOST
|
| 25 |
+
#
|
| 26 |
+
# LAST MODIFICATION
|
| 27 |
+
#
|
| 28 |
+
# 2008-04-12
|
| 29 |
+
#
|
| 30 |
+
# COPYLEFT
|
| 31 |
+
#
|
| 32 |
+
# Copyright (c) 2008 Thomas Porschberg <thomas@randspringer.de>
|
| 33 |
+
#
|
| 34 |
+
# Copying and distribution of this file, with or without modification, are
|
| 35 |
+
# permitted in any medium without royalty provided the copyright notice
|
| 36 |
+
# and this notice are preserved.
|
| 37 |
+
|
| 38 |
+
AC_DEFUN([AX_BOOST_BASE],
|
| 39 |
+
[
|
| 40 |
+
AC_ARG_WITH([boost],
|
| 41 |
+
AS_HELP_STRING([--with-boost@<:@=DIR@:>@], [use boost (default is yes) - it is possible to specify the root directory for boost (optional)]),
|
| 42 |
+
[
|
| 43 |
+
if test "$withval" = "no"; then
|
| 44 |
+
want_boost="no"
|
| 45 |
+
elif test "$withval" = "yes"; then
|
| 46 |
+
want_boost="yes"
|
| 47 |
+
ac_boost_path=""
|
| 48 |
+
else
|
| 49 |
+
want_boost="yes"
|
| 50 |
+
ac_boost_path="$withval"
|
| 51 |
+
fi
|
| 52 |
+
],
|
| 53 |
+
[want_boost="yes"])
|
| 54 |
+
|
| 55 |
+
|
| 56 |
+
AC_ARG_WITH([boost-libdir],
|
| 57 |
+
AS_HELP_STRING([--with-boost-libdir=LIB_DIR],
|
| 58 |
+
[Force given directory for boost libraries. Note that this will overwrite library path detection, so use this parameter only if default library detection fails and you know exactly where your boost libraries are located.]),
|
| 59 |
+
[
|
| 60 |
+
if test -d $withval
|
| 61 |
+
then
|
| 62 |
+
ac_boost_lib_path="$withval"
|
| 63 |
+
else
|
| 64 |
+
AC_MSG_ERROR(--with-boost-libdir expected directory name)
|
| 65 |
+
fi
|
| 66 |
+
],
|
| 67 |
+
[ac_boost_lib_path=""]
|
| 68 |
+
)
|
| 69 |
+
|
| 70 |
+
if test "x$want_boost" = "xyes"; then
|
| 71 |
+
boost_lib_version_req=ifelse([$1], ,1.20.0,$1)
|
| 72 |
+
boost_lib_version_req_shorten=`expr $boost_lib_version_req : '\([[0-9]]*\.[[0-9]]*\)'`
|
| 73 |
+
boost_lib_version_req_major=`expr $boost_lib_version_req : '\([[0-9]]*\)'`
|
| 74 |
+
boost_lib_version_req_minor=`expr $boost_lib_version_req : '[[0-9]]*\.\([[0-9]]*\)'`
|
| 75 |
+
boost_lib_version_req_sub_minor=`expr $boost_lib_version_req : '[[0-9]]*\.[[0-9]]*\.\([[0-9]]*\)'`
|
| 76 |
+
if test "x$boost_lib_version_req_sub_minor" = "x" ; then
|
| 77 |
+
boost_lib_version_req_sub_minor="0"
|
| 78 |
+
fi
|
| 79 |
+
WANT_BOOST_VERSION=`expr $boost_lib_version_req_major \* 100000 \+ $boost_lib_version_req_minor \* 100 \+ $boost_lib_version_req_sub_minor`
|
| 80 |
+
AC_MSG_CHECKING(for boostlib >= $boost_lib_version_req)
|
| 81 |
+
succeeded=no
|
| 82 |
+
|
| 83 |
+
dnl first we check the system location for boost libraries
|
| 84 |
+
dnl this location ist chosen if boost libraries are installed with the --layout=system option
|
| 85 |
+
dnl or if you install boost with RPM
|
| 86 |
+
if test "$ac_boost_path" != ""; then
|
| 87 |
+
BOOST_LDFLAGS="-L$ac_boost_path/lib"
|
| 88 |
+
BOOST_CPPFLAGS="-I$ac_boost_path/include"
|
| 89 |
+
else
|
| 90 |
+
for ac_boost_path_tmp in /usr /usr/local /opt /opt/local ; do
|
| 91 |
+
if test -d "$ac_boost_path_tmp/include/boost" && test -r "$ac_boost_path_tmp/include/boost"; then
|
| 92 |
+
BOOST_LDFLAGS="-L$ac_boost_path_tmp/lib"
|
| 93 |
+
BOOST_CPPFLAGS="-I$ac_boost_path_tmp/include"
|
| 94 |
+
break;
|
| 95 |
+
fi
|
| 96 |
+
done
|
| 97 |
+
fi
|
| 98 |
+
|
| 99 |
+
dnl overwrite ld flags if we have required special directory with
|
| 100 |
+
dnl --with-boost-libdir parameter
|
| 101 |
+
if test "$ac_boost_lib_path" != ""; then
|
| 102 |
+
BOOST_LDFLAGS="-L$ac_boost_lib_path"
|
| 103 |
+
fi
|
| 104 |
+
|
| 105 |
+
CPPFLAGS_SAVED="$CPPFLAGS"
|
| 106 |
+
CPPFLAGS="$CPPFLAGS $BOOST_CPPFLAGS"
|
| 107 |
+
export CPPFLAGS
|
| 108 |
+
|
| 109 |
+
LDFLAGS_SAVED="$LDFLAGS"
|
| 110 |
+
LDFLAGS="$LDFLAGS $BOOST_LDFLAGS"
|
| 111 |
+
export LDFLAGS
|
| 112 |
+
|
| 113 |
+
AC_LANG_PUSH(C++)
|
| 114 |
+
AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[
|
| 115 |
+
@%:@include <boost/version.hpp>
|
| 116 |
+
]], [[
|
| 117 |
+
#if BOOST_VERSION >= $WANT_BOOST_VERSION
|
| 118 |
+
// Everything is okay
|
| 119 |
+
#else
|
| 120 |
+
# error Boost version is too old
|
| 121 |
+
#endif
|
| 122 |
+
]])],[
|
| 123 |
+
AC_MSG_RESULT(yes)
|
| 124 |
+
succeeded=yes
|
| 125 |
+
found_system=yes
|
| 126 |
+
],[
|
| 127 |
+
])
|
| 128 |
+
AC_LANG_POP([C++])
|
| 129 |
+
|
| 130 |
+
|
| 131 |
+
|
| 132 |
+
dnl if we found no boost with system layout we search for boost libraries
|
| 133 |
+
dnl built and installed without the --layout=system option or for a staged(not installed) version
|
| 134 |
+
if test "x$succeeded" != "xyes"; then
|
| 135 |
+
_version=0
|
| 136 |
+
if test "$ac_boost_path" != ""; then
|
| 137 |
+
if test -d "$ac_boost_path" && test -r "$ac_boost_path"; then
|
| 138 |
+
for i in `ls -d $ac_boost_path/include/boost-* 2>/dev/null`; do
|
| 139 |
+
_version_tmp=`echo $i | sed "s#$ac_boost_path##" | sed 's/\/include\/boost-//' | sed 's/_/./'`
|
| 140 |
+
V_CHECK=`expr $_version_tmp \> $_version`
|
| 141 |
+
if test "$V_CHECK" = "1" ; then
|
| 142 |
+
_version=$_version_tmp
|
| 143 |
+
fi
|
| 144 |
+
VERSION_UNDERSCORE=`echo $_version | sed 's/\./_/'`
|
| 145 |
+
BOOST_CPPFLAGS="-I$ac_boost_path/include/boost-$VERSION_UNDERSCORE"
|
| 146 |
+
done
|
| 147 |
+
fi
|
| 148 |
+
else
|
| 149 |
+
for ac_boost_path in /usr /usr/local /opt /opt/local ; do
|
| 150 |
+
if test -d "$ac_boost_path" && test -r "$ac_boost_path"; then
|
| 151 |
+
for i in `ls -d $ac_boost_path/include/boost-* 2>/dev/null`; do
|
| 152 |
+
_version_tmp=`echo $i | sed "s#$ac_boost_path##" | sed 's/\/include\/boost-//' | sed 's/_/./'`
|
| 153 |
+
V_CHECK=`expr $_version_tmp \> $_version`
|
| 154 |
+
if test "$V_CHECK" = "1" ; then
|
| 155 |
+
_version=$_version_tmp
|
| 156 |
+
best_path=$ac_boost_path
|
| 157 |
+
fi
|
| 158 |
+
done
|
| 159 |
+
fi
|
| 160 |
+
done
|
| 161 |
+
|
| 162 |
+
VERSION_UNDERSCORE=`echo $_version | sed 's/\./_/'`
|
| 163 |
+
BOOST_CPPFLAGS="-I$best_path/include/boost-$VERSION_UNDERSCORE"
|
| 164 |
+
if test "$ac_boost_lib_path" = ""
|
| 165 |
+
then
|
| 166 |
+
BOOST_LDFLAGS="-L$best_path/lib"
|
| 167 |
+
fi
|
| 168 |
+
|
| 169 |
+
if test "x$BOOST_ROOT" != "x"; then
|
| 170 |
+
if test -d "$BOOST_ROOT" && test -r "$BOOST_ROOT" && test -d "$BOOST_ROOT/stage/lib" && test -r "$BOOST_ROOT/stage/lib"; then
|
| 171 |
+
version_dir=`expr //$BOOST_ROOT : '.*/\(.*\)'`
|
| 172 |
+
stage_version=`echo $version_dir | sed 's/boost_//' | sed 's/_/./g'`
|
| 173 |
+
stage_version_shorten=`expr $stage_version : '\([[0-9]]*\.[[0-9]]*\)'`
|
| 174 |
+
V_CHECK=`expr $stage_version_shorten \>\= $_version`
|
| 175 |
+
if test "$V_CHECK" = "1" -a "$ac_boost_lib_path" = "" ; then
|
| 176 |
+
AC_MSG_NOTICE(We will use a staged boost library from $BOOST_ROOT)
|
| 177 |
+
BOOST_CPPFLAGS="-I$BOOST_ROOT"
|
| 178 |
+
BOOST_LDFLAGS="-L$BOOST_ROOT/stage/lib"
|
| 179 |
+
fi
|
| 180 |
+
fi
|
| 181 |
+
fi
|
| 182 |
+
fi
|
| 183 |
+
|
| 184 |
+
CPPFLAGS="$CPPFLAGS $BOOST_CPPFLAGS"
|
| 185 |
+
export CPPFLAGS
|
| 186 |
+
LDFLAGS="$LDFLAGS $BOOST_LDFLAGS"
|
| 187 |
+
export LDFLAGS
|
| 188 |
+
|
| 189 |
+
AC_LANG_PUSH(C++)
|
| 190 |
+
AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[
|
| 191 |
+
@%:@include <boost/version.hpp>
|
| 192 |
+
]], [[
|
| 193 |
+
#if BOOST_VERSION >= $WANT_BOOST_VERSION
|
| 194 |
+
// Everything is okay
|
| 195 |
+
#else
|
| 196 |
+
# error Boost version is too old
|
| 197 |
+
#endif
|
| 198 |
+
]])],[
|
| 199 |
+
AC_MSG_RESULT(yes)
|
| 200 |
+
succeeded=yes
|
| 201 |
+
found_system=yes
|
| 202 |
+
],[
|
| 203 |
+
])
|
| 204 |
+
AC_LANG_POP([C++])
|
| 205 |
+
fi
|
| 206 |
+
|
| 207 |
+
if test "$succeeded" != "yes" ; then
|
| 208 |
+
if test "$_version" = "0" ; then
|
| 209 |
+
AC_MSG_ERROR([[We could not detect the boost libraries (version $boost_lib_version_req_shorten or higher). If you have a staged boost library (still not installed) please specify \$BOOST_ROOT in your environment and do not give a PATH to --with-boost option. If you are sure you have boost installed, then check your version number looking in <boost/version.hpp>. See http://randspringer.de/boost for more documentation.]])
|
| 210 |
+
else
|
| 211 |
+
AC_MSG_NOTICE([Your boost libraries seems to old (version $_version).])
|
| 212 |
+
fi
|
| 213 |
+
else
|
| 214 |
+
AC_SUBST(BOOST_CPPFLAGS)
|
| 215 |
+
AC_SUBST(BOOST_LDFLAGS)
|
| 216 |
+
AC_DEFINE(HAVE_BOOST,,[define if the Boost library is available])
|
| 217 |
+
fi
|
| 218 |
+
|
| 219 |
+
CPPFLAGS="$CPPFLAGS_SAVED"
|
| 220 |
+
LDFLAGS="$LDFLAGS_SAVED"
|
| 221 |
+
fi
|
| 222 |
+
|
| 223 |
+
])
|
mosesdecoder/contrib/memscore/scorer.cpp
ADDED
|
@@ -0,0 +1,402 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
// memscore - in-memory phrase scoring for Statistical Machine Translation
|
| 2 |
+
// Christian Hardmeier, FBK-irst, Trento, 2010
|
| 3 |
+
// $Id$
|
| 4 |
+
|
| 5 |
+
#include <cassert>
|
| 6 |
+
#include <cstring>
|
| 7 |
+
#include <fstream>
|
| 8 |
+
|
| 9 |
+
#include "scorer-impl.h"
|
| 10 |
+
#include "timestamp.h"
|
| 11 |
+
#include "lexdecom.h"
|
| 12 |
+
|
| 13 |
+
#ifdef ENABLE_CHANNEL_SCORER
|
| 14 |
+
#include "channel-scorer.h"
|
| 15 |
+
#endif
|
| 16 |
+
|
| 17 |
+
const std::vector<String> &PhraseScorerFactory::scorer_list()
|
| 18 |
+
{
|
| 19 |
+
static std::vector<String> list;
|
| 20 |
+
if(list.size() == 0) {
|
| 21 |
+
list.push_back("ml - maximum likelihood score (relative frequency)");
|
| 22 |
+
list.push_back("wittenbell - Witten-Bell smoothing");
|
| 23 |
+
list.push_back("absdiscount - absolute discounting");
|
| 24 |
+
list.push_back("kndiscount1 - Knesser-Ney discounting");
|
| 25 |
+
list.push_back("kndiscount3 - modified Knesser-Ney discounting");
|
| 26 |
+
list.push_back("lexweights <weightfile> - lexical weights (Koehn et al., NAACL 2003)");
|
| 27 |
+
#ifdef ENABLE_CHANNEL_SCORER
|
| 28 |
+
list.push_back("channel <sigma> <srclm> <tgtlm> - channel adaptation");
|
| 29 |
+
#endif
|
| 30 |
+
list.push_back("const <constant> - constant phrase penalty");
|
| 31 |
+
list.push_back("lexdecomp <weightfile> - lexical decomposition smoothing");
|
| 32 |
+
}
|
| 33 |
+
|
| 34 |
+
return list;
|
| 35 |
+
}
|
| 36 |
+
|
| 37 |
+
PhraseScorer *PhraseScorerFactory::create_scorer(const char *argv[], int &argp, bool reverse)
|
| 38 |
+
{
|
| 39 |
+
const char *arg = argv[argp++];
|
| 40 |
+
if(arg == NULL)
|
| 41 |
+
usage();
|
| 42 |
+
|
| 43 |
+
if(!strcmp(arg, "ml"))
|
| 44 |
+
return MLPhraseScorer::create_scorer(argv, argp, reverse, *this);
|
| 45 |
+
else if(!strcmp(arg, "wittenbell"))
|
| 46 |
+
return WittenBellPhraseScorer::create_scorer(argv, argp, reverse, *this);
|
| 47 |
+
else if(!strcmp(arg, "absdiscount"))
|
| 48 |
+
return AbsoluteDiscountPhraseScorer::create_scorer(argv, argp, reverse, *this);
|
| 49 |
+
else if(!strcmp(arg, "kndiscount1"))
|
| 50 |
+
return KNDiscount1PhraseScorer::create_scorer(argv, argp, reverse, *this);
|
| 51 |
+
else if(!strcmp(arg, "kndiscount3"))
|
| 52 |
+
return KNDiscount3PhraseScorer::create_scorer(argv, argp, reverse, *this);
|
| 53 |
+
else if(!strcmp(arg, "lexweights"))
|
| 54 |
+
return LexicalWeightPhraseScorer::create_scorer(argv, argp, reverse, *this);
|
| 55 |
+
#ifdef ENABLE_CHANNEL_SCORER
|
| 56 |
+
else if(!strcmp(arg, "channel"))
|
| 57 |
+
return ChannelAdaptationPhraseScorer::create_scorer(argv, argp, reverse, *this);
|
| 58 |
+
#endif
|
| 59 |
+
else if(!strcmp(arg, "const"))
|
| 60 |
+
return ConstantPhraseScorer::create_scorer(argv, argp, reverse, *this);
|
| 61 |
+
else if (!strcmp(arg, "lexdecomp"))
|
| 62 |
+
return LexicalDecompositionPhraseScorer::create_scorer(argv, argp, reverse, *this);
|
| 63 |
+
else {
|
| 64 |
+
std::cerr << "Unknown phrase scorer type: " << arg << std::endl << std::endl;
|
| 65 |
+
usage();
|
| 66 |
+
}
|
| 67 |
+
}
|
| 68 |
+
|
| 69 |
+
PhraseScorer *MLPhraseScorer::create_scorer(const char *argv[], int &argp, bool reverse, const PhraseScorerFactory &ptf)
|
| 70 |
+
{
|
| 71 |
+
return new MLPhraseScorer(ptf.get_phrase_table(), reverse);
|
| 72 |
+
}
|
| 73 |
+
|
| 74 |
+
#if 1
|
| 75 |
+
void MLPhraseScorer::do_score_phrases() {}
|
| 76 |
+
#else
|
| 77 |
+
void MLPhraseScorer::do_score_phrases()
|
| 78 |
+
{
|
| 79 |
+
Score bla = 0;
|
| 80 |
+
Timestamp t_it;
|
| 81 |
+
for(Count i = 0; i < 200; i++) {
|
| 82 |
+
for(PhraseTable::iterator it = phrase_table_.begin(); it != phrase_table_.end(); ++it) {
|
| 83 |
+
PhrasePairInfo ppair = *it;
|
| 84 |
+
Phrase tgt = ppair.get_tgt();
|
| 85 |
+
bla += bla * ppair.get_count() / phrase_table_.get_tgt_phrase(tgt).get_count();
|
| 86 |
+
}
|
| 87 |
+
}
|
| 88 |
+
std::cerr << "Time for 200 iterations with ML estimation: " << (t_it.elapsed_time() / 1000) << " ms" << std::endl;
|
| 89 |
+
std::cerr << bla << std::endl;
|
| 90 |
+
}
|
| 91 |
+
#endif
|
| 92 |
+
|
| 93 |
+
Score MLPhraseScorer::do_get_score(const PhraseTable::const_iterator &it)
|
| 94 |
+
{
|
| 95 |
+
PhraseInfo &tgt_phrase = phrase_table_.get_tgt_phrase(it->get_tgt());
|
| 96 |
+
return static_cast<Score>(it->get_count()) / tgt_phrase.get_count();
|
| 97 |
+
}
|
| 98 |
+
|
| 99 |
+
PhraseScorer *WittenBellPhraseScorer::create_scorer(const char *argv[], int &argp, bool reverse, const PhraseScorerFactory &ptf)
|
| 100 |
+
{
|
| 101 |
+
return new WittenBellPhraseScorer(ptf.get_phrase_table(), reverse);
|
| 102 |
+
}
|
| 103 |
+
|
| 104 |
+
Score WittenBellPhraseScorer::do_get_score(const PhraseTable::const_iterator &it)
|
| 105 |
+
{
|
| 106 |
+
PhraseInfo &tgt_phrase = phrase_table_.get_tgt_phrase(it->get_tgt());
|
| 107 |
+
return static_cast<Score>(it->get_count()) / (tgt_phrase.get_count() + tgt_phrase.get_distinct());
|
| 108 |
+
}
|
| 109 |
+
|
| 110 |
+
|
| 111 |
+
PhraseScorer *AbsoluteDiscountPhraseScorer::create_scorer(const char *argv[], int &argp, bool reverse, const PhraseScorerFactory &ptf)
|
| 112 |
+
{
|
| 113 |
+
return new AbsoluteDiscountPhraseScorer(ptf.get_phrase_table(), reverse);
|
| 114 |
+
}
|
| 115 |
+
// p(s|t) = (c(s,t) - beta) / c(t) <-- absolute discounting
|
| 116 |
+
|
| 117 |
+
void AbsoluteDiscountPhraseScorer::do_score_phrases()
|
| 118 |
+
{
|
| 119 |
+
Count n1 = 0, n2 = 0;
|
| 120 |
+
|
| 121 |
+
for(PhraseTable::iterator it = phrase_table_.begin(); it != phrase_table_.end(); ++it) {
|
| 122 |
+
PhrasePairInfo ppinfo = *it;
|
| 123 |
+
Count c = ppinfo.get_count();
|
| 124 |
+
switch(c) {
|
| 125 |
+
case 1:
|
| 126 |
+
n1++;
|
| 127 |
+
break;
|
| 128 |
+
case 2:
|
| 129 |
+
n2++;
|
| 130 |
+
}
|
| 131 |
+
}
|
| 132 |
+
|
| 133 |
+
discount_ = static_cast<Score>(n1) / (n1 + 2*n2);
|
| 134 |
+
}
|
| 135 |
+
|
| 136 |
+
inline Score AbsoluteDiscountPhraseScorer::get_discount()
|
| 137 |
+
{
|
| 138 |
+
return discount_;
|
| 139 |
+
}
|
| 140 |
+
|
| 141 |
+
Score AbsoluteDiscountPhraseScorer::do_get_score(const PhraseTable::const_iterator &it)
|
| 142 |
+
{
|
| 143 |
+
PhraseInfo &tgt_phrase = phrase_table_.get_tgt_phrase(it->get_tgt());
|
| 144 |
+
return (it->get_count() - discount_) / tgt_phrase.get_count();
|
| 145 |
+
}
|
| 146 |
+
|
| 147 |
+
PhraseScorer *KNDiscount1PhraseScorer::create_scorer(const char *argv[], int &argp, bool reverse, const PhraseScorerFactory &ptf)
|
| 148 |
+
{
|
| 149 |
+
return new KNDiscount1PhraseScorer(ptf.get_phrase_table(), reverse);
|
| 150 |
+
}
|
| 151 |
+
|
| 152 |
+
|
| 153 |
+
void KNDiscount1PhraseScorer::do_score_phrases()
|
| 154 |
+
{
|
| 155 |
+
Count n1 = 0, n2 = 0;
|
| 156 |
+
Count total_count = 0;
|
| 157 |
+
|
| 158 |
+
for(PhraseTable::iterator it = phrase_table_.begin(); it != phrase_table_.end(); ++it) {
|
| 159 |
+
PhrasePairInfo ppinfo = *it;
|
| 160 |
+
PhraseInfo &tgt_phrase = phrase_table_.get_tgt_phrase(it->get_tgt());
|
| 161 |
+
total_count += tgt_phrase.get_count();
|
| 162 |
+
|
| 163 |
+
Count c = ppinfo.get_count();
|
| 164 |
+
switch(c) {
|
| 165 |
+
case 1:
|
| 166 |
+
n1++;
|
| 167 |
+
break;
|
| 168 |
+
case 2:
|
| 169 |
+
n2++;
|
| 170 |
+
}
|
| 171 |
+
}
|
| 172 |
+
|
| 173 |
+
discount_ = static_cast<Score>(n1) / (n1 + 2*n2);
|
| 174 |
+
total_count_ = static_cast<Count>(total_count);
|
| 175 |
+
|
| 176 |
+
}
|
| 177 |
+
|
| 178 |
+
Score KNDiscount1PhraseScorer::do_get_score(const PhraseTable::const_iterator &it)
|
| 179 |
+
{
|
| 180 |
+
PhraseInfo &tgt_phrase = phrase_table_.get_tgt_phrase(it->get_tgt());
|
| 181 |
+
PhraseInfo &src_phrase = phrase_table_.get_src_phrase(it->get_src());
|
| 182 |
+
return ((it->get_count() - discount_) / tgt_phrase.get_count()) + (discount_ * tgt_phrase.get_distinct() / tgt_phrase.get_count())*(src_phrase.get_count() / total_count_);
|
| 183 |
+
}
|
| 184 |
+
|
| 185 |
+
PhraseScorer *KNDiscount3PhraseScorer::create_scorer(const char *argv[], int &argp, bool reverse, const PhraseScorerFactory &ptf)
|
| 186 |
+
{
|
| 187 |
+
return new KNDiscount3PhraseScorer(ptf.get_phrase_table(), reverse);
|
| 188 |
+
}
|
| 189 |
+
|
| 190 |
+
|
| 191 |
+
void KNDiscount3PhraseScorer::do_score_phrases()
|
| 192 |
+
{
|
| 193 |
+
Count n1 = 0, n2 = 0, n3 = 0, n4 = 0;
|
| 194 |
+
Count total_count = 0; //total number of source or target phrases (including repetitions)
|
| 195 |
+
Count total_distinct_n1 = 0; //sum_{s} n1plus(s,*)
|
| 196 |
+
Count total_distinct_n2 = 0;
|
| 197 |
+
Count total_distinct_n3plus = 0;
|
| 198 |
+
Score y;
|
| 199 |
+
|
| 200 |
+
for(PhraseTable::iterator it = phrase_table_.begin(); it != phrase_table_.end(); ++it) {
|
| 201 |
+
PhrasePairInfo ppinfo = *it;
|
| 202 |
+
PhraseInfo &src_phrase = phrase_table_.get_src_phrase(it->get_src());
|
| 203 |
+
PhraseInfo &tgt_phrase = phrase_table_.get_tgt_phrase(it->get_tgt());
|
| 204 |
+
|
| 205 |
+
total_count += src_phrase.get_count();
|
| 206 |
+
|
| 207 |
+
Count c = ppinfo.get_count();
|
| 208 |
+
switch(c) {
|
| 209 |
+
case 1:
|
| 210 |
+
n1++;
|
| 211 |
+
tgt_phrase.inc_n1();
|
| 212 |
+
src_phrase.inc_n1();
|
| 213 |
+
total_distinct_n1++;
|
| 214 |
+
break;
|
| 215 |
+
case 2:
|
| 216 |
+
n2++;
|
| 217 |
+
tgt_phrase.inc_n2();
|
| 218 |
+
src_phrase.inc_n2();
|
| 219 |
+
total_distinct_n2++;
|
| 220 |
+
break;
|
| 221 |
+
case 3:
|
| 222 |
+
n3++;
|
| 223 |
+
tgt_phrase.inc_n3plus();
|
| 224 |
+
src_phrase.inc_n3plus();
|
| 225 |
+
total_distinct_n3plus++;
|
| 226 |
+
break;
|
| 227 |
+
case 4:
|
| 228 |
+
n4++;
|
| 229 |
+
tgt_phrase.inc_n3plus();
|
| 230 |
+
src_phrase.inc_n3plus();
|
| 231 |
+
total_distinct_n3plus++;
|
| 232 |
+
}
|
| 233 |
+
|
| 234 |
+
}
|
| 235 |
+
|
| 236 |
+
y = (Score)(n1) / (n1 + 2*n2);
|
| 237 |
+
discount1_ = static_cast<Score> (1) - (2)*(y)*(n2 / n1);
|
| 238 |
+
discount2_ = static_cast<Score> (2) - (3)*(y)*(n3 / n2);
|
| 239 |
+
discount3plus_ = static_cast<Score> (3) - (4)*(y)*(n4 / n3);
|
| 240 |
+
total_distinct_n1_ = static_cast<Count>(total_distinct_n1);
|
| 241 |
+
total_distinct_n2_ = static_cast<Count>(total_distinct_n2);
|
| 242 |
+
total_distinct_n3plus_ = static_cast<Count>(total_distinct_n3plus);
|
| 243 |
+
}
|
| 244 |
+
|
| 245 |
+
Score KNDiscount3PhraseScorer::do_get_score(const PhraseTable::const_iterator &it)
|
| 246 |
+
{
|
| 247 |
+
PhrasePairInfo ppinfo = *it;
|
| 248 |
+
PhraseInfo &tgt_phrase = phrase_table_.get_tgt_phrase(it->get_tgt());
|
| 249 |
+
PhraseInfo &src_phrase = phrase_table_.get_src_phrase(it->get_src());
|
| 250 |
+
|
| 251 |
+
Score norm = (discount1_ * tgt_phrase.get_n1() + discount2_ * tgt_phrase.get_n2() + discount3plus_ * tgt_phrase.get_n3plus()) / tgt_phrase.get_count();
|
| 252 |
+
Count c = ppinfo.get_count();
|
| 253 |
+
switch(c) {
|
| 254 |
+
case 1:
|
| 255 |
+
return ((it->get_count() - discount1_) / tgt_phrase.get_count()) + \
|
| 256 |
+
norm*(src_phrase.get_n1() / total_distinct_n1_);
|
| 257 |
+
break;
|
| 258 |
+
case 2:
|
| 259 |
+
return ((it->get_count() - discount2_) / tgt_phrase.get_count()) + \
|
| 260 |
+
norm*(src_phrase.get_n2() / total_distinct_n2_);
|
| 261 |
+
break;
|
| 262 |
+
default:
|
| 263 |
+
return ((it->get_count() - discount3plus_) / tgt_phrase.get_count()) + \
|
| 264 |
+
norm*(src_phrase.get_n3plus() / total_distinct_n3plus_);
|
| 265 |
+
}
|
| 266 |
+
}
|
| 267 |
+
|
| 268 |
+
PhraseScorer *LexicalWeightPhraseScorer::create_scorer(const char *argv[], int &argp, bool reverse, const PhraseScorerFactory &ptf)
|
| 269 |
+
{
|
| 270 |
+
bool overall_max = true;
|
| 271 |
+
|
| 272 |
+
if(argv[argp] == NULL)
|
| 273 |
+
usage();
|
| 274 |
+
|
| 275 |
+
if(!strcmp(argv[argp], "-AlignmentCount")) {
|
| 276 |
+
overall_max = false;
|
| 277 |
+
argp++;
|
| 278 |
+
if(argv[argp] == NULL)
|
| 279 |
+
usage();
|
| 280 |
+
}
|
| 281 |
+
|
| 282 |
+
String lwfile(argv[argp++]);
|
| 283 |
+
return new LexicalWeightPhraseScorer(ptf.get_phrase_table(), reverse, lwfile, overall_max);
|
| 284 |
+
}
|
| 285 |
+
|
| 286 |
+
LexicalWeightPhraseScorer::LexicalWeightPhraseScorer(PhraseTable &pd, bool reverse, const String &weightfile, bool overall_max) :
|
| 287 |
+
PhraseScorer(pd, reverse), overall_max_score_(overall_max), null_word_(PhraseText::index_word("NULL"))
|
| 288 |
+
{
|
| 289 |
+
std::ifstream wfile(weightfile.c_str());
|
| 290 |
+
|
| 291 |
+
while(!wfile.eof()) {
|
| 292 |
+
if(wfile.fail()) {
|
| 293 |
+
std::cerr << "Problem reading file: " << weightfile << std::endl;
|
| 294 |
+
exit(1);
|
| 295 |
+
}
|
| 296 |
+
|
| 297 |
+
String src, tgt;
|
| 298 |
+
Score weight;
|
| 299 |
+
|
| 300 |
+
wfile >> src >> tgt >> weight;
|
| 301 |
+
Count src_id = PhraseText::index_word(src);
|
| 302 |
+
Count tgt_id = PhraseText::index_word(tgt);
|
| 303 |
+
weight_map_.insert(std::make_pair(std::make_pair(src_id, tgt_id), weight));
|
| 304 |
+
}
|
| 305 |
+
|
| 306 |
+
wfile.close();
|
| 307 |
+
}
|
| 308 |
+
|
| 309 |
+
Score LexicalWeightPhraseScorer::get_weight(const String &s_src, const String &s_tgt) const
|
| 310 |
+
{
|
| 311 |
+
Count src = PhraseText::index_word(s_src);
|
| 312 |
+
Count tgt = PhraseText::index_word(s_tgt);
|
| 313 |
+
return get_weight(src, tgt);
|
| 314 |
+
}
|
| 315 |
+
|
| 316 |
+
inline Score LexicalWeightPhraseScorer::get_weight(Count src, Count tgt) const
|
| 317 |
+
{
|
| 318 |
+
WeightMapType_::const_iterator it = weight_map_.find(std::make_pair(src, tgt));
|
| 319 |
+
if(it == weight_map_.end())
|
| 320 |
+
return 0.00001; // default value copied from Philipp Koehn's scorer
|
| 321 |
+
return it->second;
|
| 322 |
+
}
|
| 323 |
+
|
| 324 |
+
#if 1
|
| 325 |
+
void LexicalWeightPhraseScorer::do_score_phrases() {}
|
| 326 |
+
#else
|
| 327 |
+
void LexicalWeightPhraseScorer::do_score_phrases()
|
| 328 |
+
{
|
| 329 |
+
Score bla = 0;
|
| 330 |
+
Timestamp t_it;
|
| 331 |
+
for(Count i = 0; i < 200; i++) {
|
| 332 |
+
for(PhraseTable::iterator it = phrase_table_.begin(); it != phrase_table_.end(); ++it) {
|
| 333 |
+
PhrasePairInfo ppair = *it;
|
| 334 |
+
Phrase src = ppair.get_src();
|
| 335 |
+
Phrase tgt = ppair.get_tgt();
|
| 336 |
+
bla += bla * get_score(src, tgt);
|
| 337 |
+
}
|
| 338 |
+
}
|
| 339 |
+
std::cerr << "Time for 200 iterations with lexical weights: " << (t_it.elapsed_time() / 1000) << " ms" << std::endl;
|
| 340 |
+
std::cerr << bla << std::endl;
|
| 341 |
+
}
|
| 342 |
+
#endif
|
| 343 |
+
|
| 344 |
+
Score LexicalWeightPhraseScorer::do_get_score(const PhraseTable::const_iterator &it)
|
| 345 |
+
{
|
| 346 |
+
const Phrase src = it->get_src();
|
| 347 |
+
const Phrase tgt = it->get_tgt();
|
| 348 |
+
const PhraseText &src_phrase = phrase_table_.get_src_phrase(src).get_phrase();
|
| 349 |
+
const PhraseText &tgt_phrase = phrase_table_.get_tgt_phrase(tgt).get_phrase();
|
| 350 |
+
const PhrasePairInfo &ppair = *it;
|
| 351 |
+
|
| 352 |
+
Count max_count = 0;
|
| 353 |
+
|
| 354 |
+
Score maxlex = 0;
|
| 355 |
+
PhrasePairInfo::AlignmentVector av = ppair.get_alignments();
|
| 356 |
+
for(PhrasePairInfo::AlignmentVector::const_iterator it = av.begin(); it != av.end(); ++it) {
|
| 357 |
+
const PhraseAlignment &alig = it->first;
|
| 358 |
+
const Count alig_cnt = it->second;
|
| 359 |
+
|
| 360 |
+
assert(alig.get_source_length() == src_phrase.size() && alig.get_target_length() == tgt_phrase.size());
|
| 361 |
+
|
| 362 |
+
if(!overall_max_score_ && alig_cnt < max_count)
|
| 363 |
+
continue;
|
| 364 |
+
max_count = alig_cnt;
|
| 365 |
+
|
| 366 |
+
Score lex = 1;
|
| 367 |
+
for(Count s = 0; s < src_phrase.size(); s++) {
|
| 368 |
+
Score factor = 0;
|
| 369 |
+
Count na = 0;
|
| 370 |
+
for(Count t = 0; t < tgt_phrase.size(); t++)
|
| 371 |
+
if(alig.is_aligned(s, t)) {
|
| 372 |
+
const Score w = get_weight(src_phrase[s], tgt_phrase[t]);
|
| 373 |
+
factor += w;
|
| 374 |
+
na++;
|
| 375 |
+
}
|
| 376 |
+
|
| 377 |
+
if(na > 0)
|
| 378 |
+
lex *= factor / na;
|
| 379 |
+
else
|
| 380 |
+
lex *= get_weight(src_phrase[s], null_word_);
|
| 381 |
+
}
|
| 382 |
+
|
| 383 |
+
if(lex > maxlex)
|
| 384 |
+
maxlex = lex;
|
| 385 |
+
}
|
| 386 |
+
|
| 387 |
+
return maxlex;
|
| 388 |
+
}
|
| 389 |
+
|
| 390 |
+
PhraseScorer *ConstantPhraseScorer::create_scorer(const char *argv[], int &argp, bool reverse, const PhraseScorerFactory &ptf)
|
| 391 |
+
{
|
| 392 |
+
if(argv[argp] == NULL)
|
| 393 |
+
usage();
|
| 394 |
+
Score c = atof(argv[argp++]);
|
| 395 |
+
return new ConstantPhraseScorer(ptf.get_phrase_table(), reverse, c);
|
| 396 |
+
}
|
| 397 |
+
|
| 398 |
+
Score ConstantPhraseScorer::do_get_score(const PhraseTable::const_iterator &it)
|
| 399 |
+
{
|
| 400 |
+
return constant_;
|
| 401 |
+
}
|
| 402 |
+
|
mosesdecoder/contrib/memscore/statistic.h
ADDED
|
@@ -0,0 +1,26 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
// memscore - in-memory phrase scoring for Statistical Machine Translation
|
| 2 |
+
// Christian Hardmeier, FBK-irst, Trento, 2010
|
| 3 |
+
// $Id$
|
| 4 |
+
|
| 5 |
+
#ifndef STATISTIC_H
|
| 6 |
+
#define STATISTIC_H
|
| 7 |
+
|
| 8 |
+
#include "memscore.h"
|
| 9 |
+
|
| 10 |
+
class PhraseInfoList;
|
| 11 |
+
|
| 12 |
+
class PhraseStatistic
|
| 13 |
+
{
|
| 14 |
+
protected:
|
| 15 |
+
bool computation_done_;
|
| 16 |
+
|
| 17 |
+
public:
|
| 18 |
+
PhraseStatistic() : computation_done_(false) {}
|
| 19 |
+
virtual ~PhraseStatistic() {}
|
| 20 |
+
|
| 21 |
+
virtual void attach(PhraseInfoList &pilist) = 0;
|
| 22 |
+
virtual void compute_statistic() = 0;
|
| 23 |
+
virtual Score get_score(PhraseInfo &pi) = 0;
|
| 24 |
+
};
|
| 25 |
+
|
| 26 |
+
#endif
|
mosesdecoder/contrib/mert-sge-nosync/README
ADDED
|
@@ -0,0 +1,29 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
MERT-sge-nosync
|
| 2 |
+
Raymond Ng, University of Sheffield.
|
| 3 |
+
Apr, 2014.
|
| 4 |
+
|
| 5 |
+
The parallel MERT tuning scripts in moses cannot run in the SGE "no-sync" mode (where job submission is done in one go, after which user can go offline while leaving the SGE to manage the whole process). Scripts provided in this site are for parallel MERT in SGE no-sync mode. You will need to have SSH support in perl (Step 2), and set up public ssh-keys between the running hosts and the submission hosts (Step 3).
|
| 6 |
+
|
| 7 |
+
1. Untar the scipts in ${MOSES}/scripts/
|
| 8 |
+
|
| 9 |
+
2. Download and install OpenSSH packages for perl:
|
| 10 |
+
Net-OpenSSH-Compat (http://search.cpan.org/CPAN/authors/id/S/SA/SALVA/Net-OpenSSH-Compat-0.06.tar.gz)
|
| 11 |
+
$ cd Net-OpenSSH-Compat-0.06
|
| 12 |
+
$ perl Makefile.PL
|
| 13 |
+
(You may have dependency issue and need to install IO-Tty and Net-OpenSSH in advance)
|
| 14 |
+
IO-Tty-1.10 (http://search.cpan.org/CPAN/authors/id/T/TO/TODDR/IO-Tty-1.10.tar.gz)
|
| 15 |
+
Net-OpenSSH-0.60 (http://search.cpan.org/CPAN/authors/id/S/SA/SALVA/Net-OpenSSH-0.60.tar.gz)
|
| 16 |
+
|
| 17 |
+
3. Set up public ssh-keys for accessing the submithost (machine from which qsub is executed) from the running hosts (machines which actually runs the scripts)
|
| 18 |
+
http://www.linuxproblem.org/art_9.html
|
| 19 |
+
|
| 20 |
+
4. Run parallel MERT by
|
| 21 |
+
nohup nice ${MOSES}/scripts/training/mert-moses-sge-nosync.pl ${TM_DEVTEXT_SOURCE} \
|
| 22 |
+
--threads 20 --jobs 20 \
|
| 23 |
+
--queue-flags='-q normal.q -P project' \
|
| 24 |
+
--submithost='squeal' \
|
| 25 |
+
${TM_DEVTEXT_TARGET} ${MOSES}/dist/bin/moses ${WORKINGDIR}/train/model/moses.ini \
|
| 26 |
+
--mertdir ${MOSES}/dist/bin/ >& ${WORKINGDIR}/mert.out
|
| 27 |
+
|
| 28 |
+
|
| 29 |
+
(tested on moses version Built Apr 2012 version)
|
mosesdecoder/contrib/mert-sge-nosync/generic/moses-parallel-sge-nosync.pl
ADDED
|
@@ -0,0 +1,1388 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
#! /usr/bin/perl
|
| 2 |
+
|
| 3 |
+
# $Id$
|
| 4 |
+
#######################
|
| 5 |
+
# Revision history
|
| 6 |
+
#
|
| 7 |
+
# 02 Aug 2006 added strict requirement
|
| 8 |
+
# 01 Aug 2006 fix bug about inputfile parameter
|
| 9 |
+
# fix bug about suffix index generation
|
| 10 |
+
# 31 Jul 2006 added parameter for reading queue parameters
|
| 11 |
+
# 29 Jul 2006 added code to handling consfusion networks
|
| 12 |
+
# 28 Jul 2006 added a better policy for removing jobs from the queue in case of killing signal (CTRL-C)
|
| 13 |
+
# added the parameter -qsub-prefix which sets the prefix for the name of submitted jobs
|
| 14 |
+
# 27 Jul 2006 added safesystem() function and other checks to handle with process failure
|
| 15 |
+
# added checks for existence of decoder and configuration file
|
| 16 |
+
# 26 Jul 2006 fix a bug related to the use of absolute path for srcfile and nbestfile
|
| 17 |
+
|
| 18 |
+
use strict;
|
| 19 |
+
use Net::OpenSSH::Compat::Perl;
|
| 20 |
+
|
| 21 |
+
|
| 22 |
+
#######################
|
| 23 |
+
#Customizable parameters
|
| 24 |
+
|
| 25 |
+
#parameters for submiiting processes through Sun GridEngine
|
| 26 |
+
my $submithost = undef;
|
| 27 |
+
my $queueparameters="";
|
| 28 |
+
my $batch_and_join = undef;
|
| 29 |
+
my $processid="$$";
|
| 30 |
+
|
| 31 |
+
# look for the correct pwdcmd
|
| 32 |
+
my $pwdcmd = getPwdCmd();
|
| 33 |
+
|
| 34 |
+
my $workingdir = `$pwdcmd`; chomp $workingdir;
|
| 35 |
+
my $tmpdir="$workingdir/tmp$$";
|
| 36 |
+
my $splitpfx="split$$";
|
| 37 |
+
|
| 38 |
+
|
| 39 |
+
$SIG{'INT'} = \&kill_all_and_quit; # catch exception for CTRL-C
|
| 40 |
+
|
| 41 |
+
#######################
|
| 42 |
+
#Default parameters
|
| 43 |
+
my $jobscript="$workingdir/job$$";
|
| 44 |
+
my $qsubout="$workingdir/out.job$$";
|
| 45 |
+
my $qsuberr="$workingdir/err.job$$";
|
| 46 |
+
|
| 47 |
+
my $mosesparameters="";
|
| 48 |
+
my $feed_moses_via_stdin = 0;
|
| 49 |
+
# a workaround, for a reason, the default "-input-file X" blocks
|
| 50 |
+
# my moses, while "< X" works fine.
|
| 51 |
+
my $cfgfile=""; #configuration file
|
| 52 |
+
|
| 53 |
+
my $version=undef;
|
| 54 |
+
my $help=0;
|
| 55 |
+
my $dbg=0;
|
| 56 |
+
my $jobs=4;
|
| 57 |
+
my $mosescmd="$ENV{MOSESBIN}/moses"; #decoder in use
|
| 58 |
+
my $inputlist=undef;
|
| 59 |
+
my $inputfile=undef;
|
| 60 |
+
my $inputtype=0;
|
| 61 |
+
my @nbestlist=();
|
| 62 |
+
my $nbestlist=undef;
|
| 63 |
+
my $nbestfile=undef;
|
| 64 |
+
my $oldnbestfile=undef;
|
| 65 |
+
my $oldnbest=undef;
|
| 66 |
+
my $nbestflag=0;
|
| 67 |
+
my @wordgraphlist=();
|
| 68 |
+
my $wordgraphlist=undef;
|
| 69 |
+
my $wordgraphfile=undef;
|
| 70 |
+
my $wordgraphflag=0;
|
| 71 |
+
my $robust=5; # resubmit crashed jobs robust-time
|
| 72 |
+
my $alifile=undef;
|
| 73 |
+
my $outnbest=undef;
|
| 74 |
+
my $logfile="";
|
| 75 |
+
my $logflag="";
|
| 76 |
+
my $searchgraphlist="";
|
| 77 |
+
my $searchgraphfile="";
|
| 78 |
+
my $searchgraphflag=0;
|
| 79 |
+
my $qsubname="MOSES";
|
| 80 |
+
my $qsubwrapper=undef;
|
| 81 |
+
my $qsubwrapper_exit=undef;
|
| 82 |
+
my $old_sge = 0; # assume old Sun Grid Engine (<6.0) where qsub does not
|
| 83 |
+
# implement -sync and -b
|
| 84 |
+
my $___LATTICE_SAMPLES = 0;
|
| 85 |
+
my $___DECODER_FLAGS = ""; # additional parameters to pass to the decoder
|
| 86 |
+
my $___N_BEST_LIST_SIZE = 100;
|
| 87 |
+
my $___RANGES = undef;
|
| 88 |
+
my $___WORKING_DIR = undef;
|
| 89 |
+
my $SCRIPTS_ROOTDIR = undef;
|
| 90 |
+
my $postdecodecmd = undef;
|
| 91 |
+
my $postdecodeargs = undef;
|
| 92 |
+
|
| 93 |
+
|
| 94 |
+
my $run = 0;
|
| 95 |
+
my $jobid = -1;
|
| 96 |
+
my $prevjid = undef;
|
| 97 |
+
my $need_to_normalize = 1;
|
| 98 |
+
|
| 99 |
+
#######################
|
| 100 |
+
# Command line options processing
|
| 101 |
+
sub init(){
|
| 102 |
+
|
| 103 |
+
|
| 104 |
+
|
| 105 |
+
use Getopt::Long qw(:config pass_through no_ignore_case permute);
|
| 106 |
+
GetOptions('version'=>\$version,
|
| 107 |
+
'help'=>\$help,
|
| 108 |
+
'debug'=>\$dbg,
|
| 109 |
+
'jobs=i'=>\$jobs,
|
| 110 |
+
'decoder=s'=> \$mosescmd,
|
| 111 |
+
'robust=i' => \$robust,
|
| 112 |
+
'script-rootdir=s' => \$SCRIPTS_ROOTDIR,
|
| 113 |
+
'lattice-samples=i' => \$___LATTICE_SAMPLES,
|
| 114 |
+
'decoder-flags=s' => \$___DECODER_FLAGS,
|
| 115 |
+
'feed-decoder-via-stdin'=> \$feed_moses_via_stdin,
|
| 116 |
+
'logfile=s'=> \$logfile,
|
| 117 |
+
'i|inputfile|input-file=s'=> \$inputlist,
|
| 118 |
+
'n-best-list-size=s'=> \$___N_BEST_LIST_SIZE,
|
| 119 |
+
'n-best-file=s'=> \$oldnbestfile,
|
| 120 |
+
'n-best-size=i'=> \$oldnbest,
|
| 121 |
+
'output-search-graph|osg=s'=> \$searchgraphlist,
|
| 122 |
+
'output-word-graph|owg=s'=> \$wordgraphlist,
|
| 123 |
+
'alignment-output-file=s'=> \$alifile,
|
| 124 |
+
'submithost=s'=> \$submithost,
|
| 125 |
+
'queue-parameters=s'=> \$queueparameters,
|
| 126 |
+
'inputtype=i'=> \$inputtype,
|
| 127 |
+
'config|f=s'=>\$cfgfile,
|
| 128 |
+
'ranges=s@'=> \$___RANGES,
|
| 129 |
+
'old-sge' => \$old_sge,
|
| 130 |
+
'run=i' => \$run,
|
| 131 |
+
'need-to-normalize' => \$need_to_normalize,
|
| 132 |
+
'working-dir=s' => \$___WORKING_DIR,
|
| 133 |
+
'qsubwrapper=s' => \$qsubwrapper,
|
| 134 |
+
'qsubwrapper-exit=s' => \$qsubwrapper_exit
|
| 135 |
+
) or exit(1);
|
| 136 |
+
|
| 137 |
+
# 'decoder-parameters=s'=> \$mosesparameters,
|
| 138 |
+
# 'n-best-list=s'=> \$nbestlist,
|
| 139 |
+
# 'qsub-prefix=s'=> \$qsubname,
|
| 140 |
+
}
|
| 141 |
+
|
| 142 |
+
sub init_secondpart() {
|
| 143 |
+
getNbestParameters();
|
| 144 |
+
|
| 145 |
+
getSearchGraphParameters();
|
| 146 |
+
|
| 147 |
+
getWordGraphParameters();
|
| 148 |
+
|
| 149 |
+
getLogParameters();
|
| 150 |
+
|
| 151 |
+
chomp(my $my_username = `whoami`);
|
| 152 |
+
# $submithost = "squeal";
|
| 153 |
+
|
| 154 |
+
print STDERR "submithost is $submithost\n";
|
| 155 |
+
|
| 156 |
+
my $prevjid = undef;
|
| 157 |
+
my $jobid = undef;
|
| 158 |
+
|
| 159 |
+
#print_parameters();
|
| 160 |
+
#print STDERR "nbestflag:$nbestflag\n";
|
| 161 |
+
#print STDERR "searchgraphflag:$searchgraphflag\n";
|
| 162 |
+
print STDERR "wordgraphflag:$wordgraphflag\n";
|
| 163 |
+
#print STDERR "inputlist:$inputlist\n";
|
| 164 |
+
|
| 165 |
+
chomp($inputfile=`basename $inputlist`) if defined($inputlist);
|
| 166 |
+
|
| 167 |
+
# $mosesparameters.="@ARGV -config $cfgfile -inputtype $inputtype";
|
| 168 |
+
# $mosesparameters = "@ARGV -config $cfgfile -inputtype $inputtype ";
|
| 169 |
+
# $mosesparameters .= "@ARGV -config $cfgfile -inputtype $inputtype ";
|
| 170 |
+
$mosesparameters .= " -config $cfgfile -inputtype $inputtype ";
|
| 171 |
+
|
| 172 |
+
}
|
| 173 |
+
|
| 174 |
+
|
| 175 |
+
#######################
|
| 176 |
+
##print version
|
| 177 |
+
sub version(){
|
| 178 |
+
# print STDERR "version 1.0 (15-07-2006)\n";
|
| 179 |
+
# print STDERR "version 1.1 (17-07-2006)\n";
|
| 180 |
+
# print STDERR "version 1.2 (18-07-2006)\n";
|
| 181 |
+
# print STDERR "version 1.3 (21-07-2006)\n";
|
| 182 |
+
# print STDERR "version 1.4 (26-07-2006)\n";
|
| 183 |
+
# print STDERR "version 1.5 (27-07-2006)\n";
|
| 184 |
+
# print STDERR "version 1.6 (28-07-2006)\n";
|
| 185 |
+
# print STDERR "version 1.7 (29-07-2006)\n";
|
| 186 |
+
# print STDERR "version 1.8 (31-07-2006)\n";
|
| 187 |
+
# print STDERR "version 1.9 (01-08-2006)\n";
|
| 188 |
+
# print STDERR "version 1.10 (02-08-2006)\n";
|
| 189 |
+
# print STDERR "version 1.11 (10-10-2006)\n";
|
| 190 |
+
# print STDERR "version 1.12 (27-12-2006)\n";
|
| 191 |
+
# print STDERR "version 1.13 (29-12-2006)\n";
|
| 192 |
+
print STDERR "version 1.13b (01-04-2014)\n";
|
| 193 |
+
exit(1);
|
| 194 |
+
}
|
| 195 |
+
|
| 196 |
+
#usage
|
| 197 |
+
sub usage(){
|
| 198 |
+
print STDERR "moses-parallel.pl [parallel-options] [moses-options]\n";
|
| 199 |
+
print STDERR "Options marked (*) are required.\n";
|
| 200 |
+
print STDERR "Parallel options:\n";
|
| 201 |
+
print STDERR "* -decoder <file> Moses decoder to use\n";
|
| 202 |
+
print STDERR "* -i|inputfile|input-file <file> the input text to translate\n";
|
| 203 |
+
print STDERR "* -jobs <N> number of required jobs\n";
|
| 204 |
+
print STDERR " -logfile <file> file where storing log files of all jobs\n";
|
| 205 |
+
print STDERR " -queue-parameters <string> specific requirements for queue\n";
|
| 206 |
+
print STDERR " -old-sge Assume Sun Grid Engine < 6.0\n";
|
| 207 |
+
print STDERR " -debug debug\n";
|
| 208 |
+
print STDERR " -version print version of the script\n";
|
| 209 |
+
print STDERR " -help this help\n";
|
| 210 |
+
print STDERR "Moses options:\n";
|
| 211 |
+
print STDERR " -inputtype <0|1|2> 0 for text, 1 for confusion networks, 2 for lattices\n";
|
| 212 |
+
print STDERR " -output-search-graph (osg) <file>: Output connected hypotheses of search into specified filename\n";
|
| 213 |
+
print STDERR " -output-word-graph (osg) '<file> <0|1>': Output stack info as word graph. Takes filename, 0=only hypos in stack, 1=stack + nbest hypos\n";
|
| 214 |
+
print STDERR " IMPORTANT NOTE: use single quote to group parameters of -output-word-graph\n";
|
| 215 |
+
print STDERR " This is different from standard moses\n";
|
| 216 |
+
print STDERR " -lattice-samples : how many lattice samples (Chatterjee & Cancedda, emnlp 2010) (added option in moses-parallel-sge-nosync)\n";
|
| 217 |
+
print STDERR " -n-best-list-size <N> : size of nbest lists (added option in moses-parallel-sge-nosync)\n";
|
| 218 |
+
print STDERR " NOTE: -n-best-file-n-best-size are passed to the decoder as \"-n-best-list <file> <N>\"\n";
|
| 219 |
+
print STDERR " -decoder-flags : (added option is moses-parallel-sge-nosync)\n";
|
| 220 |
+
print STDERR " -ranges : (added option is moses-parallel-sge-nosync)\n";
|
| 221 |
+
print STDERR " -run : (add option in moses-parallel-sge-nosync)\n";
|
| 222 |
+
print STDERR "* -config (f) <cfgfile> configuration file\n";
|
| 223 |
+
print STDERR "All other options are passed to Moses\n";
|
| 224 |
+
print STDERR " (This way to pass parameters is maintained for back compatibility\n";
|
| 225 |
+
print STDERR " but preferably use -decoder-parameters)\n";
|
| 226 |
+
exit(1);
|
| 227 |
+
}
|
| 228 |
+
|
| 229 |
+
|
| 230 |
+
|
| 231 |
+
|
| 232 |
+
|
| 233 |
+
#printparameters
|
| 234 |
+
sub print_parameters(){
|
| 235 |
+
print STDERR "Inputfile: $inputlist\n";
|
| 236 |
+
print STDERR "Configuration file: $cfgfile\n";
|
| 237 |
+
print STDERR "Decoder in use: $mosescmd\n";
|
| 238 |
+
print STDERR "Number of jobs:$jobs\n";
|
| 239 |
+
print STDERR "Nbest list: $nbestlist\n" if ($nbestflag);
|
| 240 |
+
print STDERR "Output Search Graph: $searchgraphlist\n" if ($searchgraphflag);
|
| 241 |
+
print STDERR "Output Word Graph: $wordgraphlist\n" if ($wordgraphflag);
|
| 242 |
+
print STDERR "LogFile:$logfile\n" if ($logflag);
|
| 243 |
+
print STDERR "Qsub name: $qsubname\n";
|
| 244 |
+
print STDERR "Queue parameters: $queueparameters\n";
|
| 245 |
+
print STDERR "Inputtype: text\n" if $inputtype == 0;
|
| 246 |
+
print STDERR "Inputtype: confusion network\n" if $inputtype == 1;
|
| 247 |
+
print STDERR "Inputtype: lattices\n" if $inputtype == 2;
|
| 248 |
+
|
| 249 |
+
print STDERR "parameters directly passed to Moses: $mosesparameters\n";
|
| 250 |
+
}
|
| 251 |
+
|
| 252 |
+
#get parameters for log file
|
| 253 |
+
sub getLogParameters(){
|
| 254 |
+
if ($logfile){ $logflag=1; }
|
| 255 |
+
}
|
| 256 |
+
|
| 257 |
+
#get parameters for nbest computation (possibly from configuration file)
|
| 258 |
+
sub getNbestParameters(){
|
| 259 |
+
if (!$nbestlist){
|
| 260 |
+
open (CFG, "$cfgfile");
|
| 261 |
+
while (chomp($_=<CFG>)){
|
| 262 |
+
if (/^\[n-best-list\]/){
|
| 263 |
+
my $tmp;
|
| 264 |
+
while (chomp($tmp=<CFG>)){
|
| 265 |
+
last if $tmp eq "" || $tmp=~/^\[/;
|
| 266 |
+
$nbestlist .= "$tmp ";
|
| 267 |
+
}
|
| 268 |
+
last;
|
| 269 |
+
}
|
| 270 |
+
}
|
| 271 |
+
close(CFG);
|
| 272 |
+
}
|
| 273 |
+
|
| 274 |
+
if ($nbestlist){
|
| 275 |
+
if ($oldnbestfile){
|
| 276 |
+
print STDERR "There is a conflict between NEW parameter -n-best-list and OBSOLETE parameter -n-best-file\n";
|
| 277 |
+
print STDERR "Please use only -nbest-list '<file> <N> [distinct]\n";
|
| 278 |
+
exit;
|
| 279 |
+
}
|
| 280 |
+
}
|
| 281 |
+
else{
|
| 282 |
+
if ($oldnbestfile){
|
| 283 |
+
print STDERR "You are using the OBSOLETE parameter -n-best-file\n";
|
| 284 |
+
print STDERR "Next time please use only -n-best-list '<file> <N> [distinct]\n";
|
| 285 |
+
$nbestlist="$oldnbestfile";
|
| 286 |
+
if ($oldnbest){ $nbestlist.=" $oldnbest"; }
|
| 287 |
+
else { $nbestlist.=" 1"; }
|
| 288 |
+
}
|
| 289 |
+
}
|
| 290 |
+
|
| 291 |
+
if ($nbestlist){
|
| 292 |
+
my @tmp=split(/[ \t]+/,$nbestlist);
|
| 293 |
+
@nbestlist = @tmp;
|
| 294 |
+
|
| 295 |
+
if ($nbestlist[0] eq '-'){ $nbestfile="nbest"; }
|
| 296 |
+
else{ chomp($nbestfile=`basename $nbestlist[0]`); }
|
| 297 |
+
$nbestflag=1;
|
| 298 |
+
}
|
| 299 |
+
print STDERR "getNbest\n";
|
| 300 |
+
print STDERR "nbestflag = $nbestflag\n";
|
| 301 |
+
print STDERR "nbestfile = $nbestfile\n";
|
| 302 |
+
|
| 303 |
+
|
| 304 |
+
}
|
| 305 |
+
|
| 306 |
+
#get parameters for search graph computation (possibly from configuration file)
|
| 307 |
+
sub getSearchGraphParameters(){
|
| 308 |
+
if (!$searchgraphlist){
|
| 309 |
+
open (CFG, "$cfgfile");
|
| 310 |
+
while (chomp($_=<CFG>)){
|
| 311 |
+
if (/^\[output-search-graph\]/ || /^\[osg\]/){
|
| 312 |
+
my $tmp;
|
| 313 |
+
while (chomp($tmp=<CFG>)){
|
| 314 |
+
last if $tmp eq "" || $tmp=~/^\[/;
|
| 315 |
+
$searchgraphlist = "$tmp";
|
| 316 |
+
}
|
| 317 |
+
last;
|
| 318 |
+
}
|
| 319 |
+
}
|
| 320 |
+
close(CFG);
|
| 321 |
+
}
|
| 322 |
+
if ($searchgraphlist){
|
| 323 |
+
if ($searchgraphlist eq '-'){ $searchgraphfile="searchgraph"; }
|
| 324 |
+
else{ chomp($searchgraphfile=`basename $searchgraphlist`); }
|
| 325 |
+
$searchgraphflag=1;
|
| 326 |
+
}
|
| 327 |
+
}
|
| 328 |
+
|
| 329 |
+
#get parameters for word graph computation (possibly from configuration file)
|
| 330 |
+
sub getWordGraphParameters(){
|
| 331 |
+
if (!$wordgraphlist){
|
| 332 |
+
open (CFG, "$cfgfile");
|
| 333 |
+
while (chomp($_=<CFG>)){
|
| 334 |
+
if (/^\[output-word-graph\]/ || /^\[owg\]/){
|
| 335 |
+
my $tmp;
|
| 336 |
+
while (chomp($tmp=<CFG>)){
|
| 337 |
+
last if $tmp eq "" || $tmp=~/^\[/;
|
| 338 |
+
$wordgraphlist .= "$tmp ";
|
| 339 |
+
}
|
| 340 |
+
last;
|
| 341 |
+
}
|
| 342 |
+
}
|
| 343 |
+
close(CFG);
|
| 344 |
+
}
|
| 345 |
+
if ($wordgraphlist){
|
| 346 |
+
my @tmp=split(/[ \t]+/,$wordgraphlist);
|
| 347 |
+
@wordgraphlist = @tmp;
|
| 348 |
+
|
| 349 |
+
if ($wordgraphlist[0] eq '-'){ $wordgraphfile="wordgraph"; }
|
| 350 |
+
else{ chomp($wordgraphfile=`basename $wordgraphlist[0]`); }
|
| 351 |
+
$wordgraphflag=1;
|
| 352 |
+
}
|
| 353 |
+
}
|
| 354 |
+
|
| 355 |
+
sub sanity_check_order_of_lambdas {
|
| 356 |
+
my $featlist = shift;
|
| 357 |
+
my $filename_or_stream = shift;
|
| 358 |
+
|
| 359 |
+
my @expected_lambdas = @{$featlist->{"names"}};
|
| 360 |
+
my @got = get_order_of_scores_from_nbestlist($filename_or_stream);
|
| 361 |
+
die "Mismatched lambdas. Decoder returned @got, we expected @expected_lambdas"
|
| 362 |
+
if "@got" ne "@expected_lambdas";
|
| 363 |
+
}
|
| 364 |
+
|
| 365 |
+
|
| 366 |
+
|
| 367 |
+
|
| 368 |
+
#######################
|
| 369 |
+
#Script starts here
|
| 370 |
+
|
| 371 |
+
init();
|
| 372 |
+
|
| 373 |
+
print "I have started parallel moses!!";
|
| 374 |
+
|
| 375 |
+
# moses.ini file uses FULL names for lambdas, while this training script
|
| 376 |
+
# internally (and on the command line) uses ABBR names.
|
| 377 |
+
my @ABBR_FULL_MAP = qw(d=weight-d lm=weight-l tm=weight-t w=weight-w
|
| 378 |
+
g=weight-generation lex=weight-lex I=weight-i);
|
| 379 |
+
my %ABBR2FULL = map {split/=/,$_,2} @ABBR_FULL_MAP;
|
| 380 |
+
my %FULL2ABBR = map {my ($a, $b) = split/=/,$_,2; ($b, $a);} @ABBR_FULL_MAP;
|
| 381 |
+
|
| 382 |
+
|
| 383 |
+
|
| 384 |
+
|
| 385 |
+
version() if $version;
|
| 386 |
+
usage() if $help;
|
| 387 |
+
|
| 388 |
+
#######################################
|
| 389 |
+
# incorporate run_decoder() here
|
| 390 |
+
|
| 391 |
+
### moved to below
|
| 392 |
+
# my $qsubname = mert$run;
|
| 393 |
+
# $mosesparameters = "$___DECODER_FLAGS $decoder_config";
|
| 394 |
+
# $nbestlist = "$filename $___N_BEST_LIST_SIZE";
|
| 395 |
+
|
| 396 |
+
|
| 397 |
+
my $featlist = get_featlist_from_moses("./run$run.moses.ini");
|
| 398 |
+
$featlist = insert_ranges_to_featlist($featlist, $___RANGES);
|
| 399 |
+
|
| 400 |
+
|
| 401 |
+
## sub run_decoder {
|
| 402 |
+
# my ($featlist, $run, $need_to_normalize) = @_;
|
| 403 |
+
my $filename_template = "run%d.best$___N_BEST_LIST_SIZE.out";
|
| 404 |
+
my $filename = sprintf($filename_template, $run);
|
| 405 |
+
my $lsamp_filename = undef;
|
| 406 |
+
if ($___LATTICE_SAMPLES) {
|
| 407 |
+
my $lsamp_filename_template = "run%d.lsamp$___LATTICE_SAMPLES.out";
|
| 408 |
+
$lsamp_filename = sprintf($lsamp_filename_template, $run);
|
| 409 |
+
}
|
| 410 |
+
|
| 411 |
+
# user-supplied parameters
|
| 412 |
+
print STDERR "params = $___DECODER_FLAGS\n";
|
| 413 |
+
|
| 414 |
+
|
| 415 |
+
# parameters to set all model weights (to override moses.ini)
|
| 416 |
+
my @vals = @{$featlist->{"values"}};
|
| 417 |
+
if ($need_to_normalize) {
|
| 418 |
+
print STDERR "Normalizing lambdas: @vals\n";
|
| 419 |
+
my $totlambda=0;
|
| 420 |
+
grep($totlambda+=abs($_),@vals);
|
| 421 |
+
grep($_/=$totlambda,@vals);
|
| 422 |
+
}
|
| 423 |
+
|
| 424 |
+
|
| 425 |
+
########################################
|
| 426 |
+
|
| 427 |
+
# parameters to set all model weights (to override moses.ini)
|
| 428 |
+
my @vals = @{$featlist->{"values"}};
|
| 429 |
+
if ($need_to_normalize) {
|
| 430 |
+
print STDERR "Normalizing lambdas: @vals\n";
|
| 431 |
+
my $totlambda=0;
|
| 432 |
+
grep($totlambda+=abs($_),@vals);
|
| 433 |
+
grep($_/=$totlambda,@vals);
|
| 434 |
+
}
|
| 435 |
+
# moses now does not seem accept "-tm X -tm Y" but needs "-tm X Y"
|
| 436 |
+
my %model_weights;
|
| 437 |
+
for(my $i=0; $i<scalar(@{$featlist->{"names"}}); $i++) {
|
| 438 |
+
my $name = $featlist->{"names"}->[$i];
|
| 439 |
+
$model_weights{$name} = "-$name" if !defined $model_weights{$name};
|
| 440 |
+
$model_weights{$name} .= sprintf " %.6f", $vals[$i];
|
| 441 |
+
}
|
| 442 |
+
my $decoder_config = join(" ", values %model_weights);
|
| 443 |
+
$decoder_config .= " -weight-file run$run.sparse-weights" if -e "run$run.sparse-weights";
|
| 444 |
+
print STDERR "DECODER_CFG = $decoder_config\n";
|
| 445 |
+
print "decoder_config = $decoder_config\n";
|
| 446 |
+
|
| 447 |
+
|
| 448 |
+
|
| 449 |
+
|
| 450 |
+
#########################################
|
| 451 |
+
|
| 452 |
+
# moses now does not seem accept "-tm X -tm Y" but needs "-tm X Y"
|
| 453 |
+
my %model_weights;
|
| 454 |
+
for(my $i=0; $i<scalar(@{$featlist->{"names"}}); $i++) {
|
| 455 |
+
my $name = $featlist->{"names"}->[$i];
|
| 456 |
+
$model_weights{$name} = "-$name" if !defined $model_weights{$name};
|
| 457 |
+
$model_weights{$name} .= sprintf " %.6f", $vals[$i];
|
| 458 |
+
}
|
| 459 |
+
my $decoder_config = join(" ", values %model_weights);
|
| 460 |
+
$decoder_config .= " -weight-file run$run.sparse-weights" if -e "run$run.sparse-weights";
|
| 461 |
+
print STDERR "DECODER_CFG = $decoder_config\n";
|
| 462 |
+
print STDERR "decoder_config = $decoder_config\n";
|
| 463 |
+
|
| 464 |
+
####### moved here??? ###########
|
| 465 |
+
$qsubname = "dec$run";
|
| 466 |
+
# $mosesparameters = "$___DECODER_FLAGS $decoder_config";
|
| 467 |
+
$mosesparameters = "$___DECODER_FLAGS $decoder_config ";
|
| 468 |
+
|
| 469 |
+
print STDERR "moses parameter with ___DECODER_FLAGS $___DECODER_FLAGS decoder_config $decoder_config and $qsubname\n";
|
| 470 |
+
print STDERR "$mosesparameters\n";
|
| 471 |
+
|
| 472 |
+
$nbestlist = "$filename $___N_BEST_LIST_SIZE";
|
| 473 |
+
|
| 474 |
+
print STDERR "to output -n-best-list $nbestlist\n";
|
| 475 |
+
|
| 476 |
+
init_secondpart();
|
| 477 |
+
#################################
|
| 478 |
+
|
| 479 |
+
|
| 480 |
+
# run the decoder
|
| 481 |
+
my $decoder_cmd;
|
| 482 |
+
my $lsamp_cmd = "";
|
| 483 |
+
if ($___LATTICE_SAMPLES) {
|
| 484 |
+
$lsamp_cmd = " -lattice-samples $lsamp_filename $___LATTICE_SAMPLES ";
|
| 485 |
+
}
|
| 486 |
+
|
| 487 |
+
|
| 488 |
+
if (!defined $inputlist || !defined $mosescmd || ! defined $cfgfile) {
|
| 489 |
+
print STDERR "Please specify -input-file, -decoder and -config\n";
|
| 490 |
+
usage();
|
| 491 |
+
}
|
| 492 |
+
|
| 493 |
+
#checking if inputfile exists
|
| 494 |
+
if (! -e ${inputlist} ){
|
| 495 |
+
print STDERR "Inputfile ($inputlist) does not exists\n";
|
| 496 |
+
usage();
|
| 497 |
+
}
|
| 498 |
+
|
| 499 |
+
#checking if decoder exists
|
| 500 |
+
if (! -e $mosescmd) {
|
| 501 |
+
print STDERR "Decoder ($mosescmd) does not exists\n";
|
| 502 |
+
usage();
|
| 503 |
+
}
|
| 504 |
+
|
| 505 |
+
#checking if configfile exists
|
| 506 |
+
if (! -e $cfgfile) {
|
| 507 |
+
print STDERR "Configuration file ($cfgfile) does not exists\n";
|
| 508 |
+
usage();
|
| 509 |
+
}
|
| 510 |
+
|
| 511 |
+
|
| 512 |
+
print_parameters(); # so that people know
|
| 513 |
+
exit(1) if $dbg; # debug mode: just print and do not run
|
| 514 |
+
|
| 515 |
+
|
| 516 |
+
#splitting test file in several parts
|
| 517 |
+
#$decimal="-d"; #split does not accept this options (on MAC OS)
|
| 518 |
+
my $decimal="";
|
| 519 |
+
|
| 520 |
+
my $cmd;
|
| 521 |
+
my $sentenceN;
|
| 522 |
+
my $splitN;
|
| 523 |
+
|
| 524 |
+
my @idxlist=();
|
| 525 |
+
my $idxliststr="";
|
| 526 |
+
|
| 527 |
+
if ($inputtype==0){ #text input
|
| 528 |
+
#getting the number of input sentences (one sentence per line)
|
| 529 |
+
chomp($sentenceN=`wc -l ${inputlist} | awk '{print \$1}' `);
|
| 530 |
+
|
| 531 |
+
#Reducing the number of jobs if less sentences to translate
|
| 532 |
+
if ($jobs>$sentenceN){ $jobs=$sentenceN; }
|
| 533 |
+
|
| 534 |
+
#Computing the number of sentences for each files
|
| 535 |
+
if ($sentenceN % $jobs == 0){ $splitN=int($sentenceN / $jobs); }
|
| 536 |
+
else{ $splitN=int($sentenceN /$jobs) + 1; }
|
| 537 |
+
|
| 538 |
+
if ($dbg){
|
| 539 |
+
print STDERR "There are $sentenceN sentences to translate\n";
|
| 540 |
+
print STDERR "There are at most $splitN sentences per job\n";
|
| 541 |
+
}
|
| 542 |
+
|
| 543 |
+
$cmd="split $decimal -a 2 -l $splitN $inputlist ${inputfile}.$splitpfx-";
|
| 544 |
+
safesystem("$cmd") or die;
|
| 545 |
+
}
|
| 546 |
+
elsif ($inputtype==1){ #confusion network input
|
| 547 |
+
my $tmpfile="/tmp/cnsplit$$";
|
| 548 |
+
$cmd="cat $inputlist | perl -pe 's/\\n/ _CNendline_ /g;' | perl -pe 's/_CNendline_ _CNendline_ /_CNendline_\\n/g;' > $tmpfile";
|
| 549 |
+
safesystem("$cmd") or die;
|
| 550 |
+
|
| 551 |
+
#getting the number of input CNs
|
| 552 |
+
chomp($sentenceN=`wc -l $tmpfile | awk '{print \$1}' `);
|
| 553 |
+
|
| 554 |
+
#Reducing the number of jobs if less CNs to translate
|
| 555 |
+
if ($jobs>$sentenceN){ $jobs=$sentenceN; }
|
| 556 |
+
|
| 557 |
+
#Computing the number of CNs for each files
|
| 558 |
+
if ($sentenceN % $jobs == 0){ $splitN=int($sentenceN / $jobs); }
|
| 559 |
+
else{ $splitN=int($sentenceN /$jobs) + 1; }
|
| 560 |
+
|
| 561 |
+
if ($dbg){
|
| 562 |
+
print STDERR "There are $sentenceN confusion networks to translate\n";
|
| 563 |
+
print STDERR "There are at most $splitN sentences per job\n";
|
| 564 |
+
}
|
| 565 |
+
|
| 566 |
+
$cmd="split $decimal -a 2 -l $splitN $tmpfile $tmpfile-";
|
| 567 |
+
safesystem("$cmd") or die;
|
| 568 |
+
|
| 569 |
+
my @idxlist=();
|
| 570 |
+
chomp(@idxlist=`ls $tmpfile-*`);
|
| 571 |
+
grep(s/.+(\-\S+)$/$1/e,@idxlist);
|
| 572 |
+
|
| 573 |
+
foreach my $idx (@idxlist){
|
| 574 |
+
$cmd="perl -pe 's/ _CNendline_ /\\n/g;s/ _CNendline_/\\n/g;'";
|
| 575 |
+
safesystem("cat $tmpfile$idx | $cmd > ${inputfile}.$splitpfx$idx ; \\rm -f $tmpfile$idx;");
|
| 576 |
+
}
|
| 577 |
+
}
|
| 578 |
+
elsif ($inputtype==2){ #confusion network input
|
| 579 |
+
#getting the number of input lattices (one lattice per line)
|
| 580 |
+
chomp($sentenceN=`wc -l ${inputlist} | awk '{print \$1}' `);
|
| 581 |
+
|
| 582 |
+
#Reducing the number of jobs if less lattices to translate
|
| 583 |
+
if ($jobs>$sentenceN){ $jobs=$sentenceN; }
|
| 584 |
+
|
| 585 |
+
#Computing the number of sentences for each files
|
| 586 |
+
if ($sentenceN % $jobs == 0){ $splitN=int($sentenceN / $jobs); }
|
| 587 |
+
else{ $splitN=int($sentenceN /$jobs) + 1; }
|
| 588 |
+
|
| 589 |
+
if ($dbg){
|
| 590 |
+
print STDERR "There are $sentenceN lattices to translate\n";
|
| 591 |
+
print STDERR "There are at most $splitN lattices per job\n";
|
| 592 |
+
}
|
| 593 |
+
|
| 594 |
+
$cmd="split $decimal -a 2 -l $splitN $inputlist ${inputfile}.$splitpfx-";
|
| 595 |
+
safesystem("$cmd") or die;
|
| 596 |
+
}
|
| 597 |
+
else{ #unknown input type
|
| 598 |
+
die "INPUTTYPE:$inputtype is unknown!\n";
|
| 599 |
+
}
|
| 600 |
+
|
| 601 |
+
chomp(@idxlist=`ls ${inputfile}.$splitpfx-*`);
|
| 602 |
+
grep(s/.+(\-\S+)$/$1/e,@idxlist);
|
| 603 |
+
|
| 604 |
+
safesystem("mkdir -p $tmpdir") or die;
|
| 605 |
+
|
| 606 |
+
preparing_script();
|
| 607 |
+
|
| 608 |
+
|
| 609 |
+
|
| 610 |
+
#launching process through the queue
|
| 611 |
+
my @sgepids =();
|
| 612 |
+
my $splitdecodejid="";
|
| 613 |
+
|
| 614 |
+
my @idx_todo = ();
|
| 615 |
+
foreach (@idxlist) { push @idx_todo,$_; }
|
| 616 |
+
|
| 617 |
+
# loop up to --robust times
|
| 618 |
+
my $max_robust = $robust;
|
| 619 |
+
my $robust_idx;
|
| 620 |
+
while ($robust && scalar @idx_todo) {
|
| 621 |
+
$robust--;
|
| 622 |
+
|
| 623 |
+
my $failure=0;
|
| 624 |
+
|
| 625 |
+
|
| 626 |
+
foreach my $idx (@idx_todo){
|
| 627 |
+
|
| 628 |
+
if ($old_sge) {
|
| 629 |
+
# old SGE understands -b no as the default and does not understand 'yes'
|
| 630 |
+
$batch_and_join = "-j y";
|
| 631 |
+
} else {
|
| 632 |
+
$batch_and_join = "-b yes -j yes"; # -b yes to submit bash script
|
| 633 |
+
}
|
| 634 |
+
|
| 635 |
+
|
| 636 |
+
##### Replace the direct qsub command with submit_or_exec_thu_host() #############
|
| 637 |
+
|
| 638 |
+
my $split_decoder_cmd = "${jobscript}${idx}.bash";
|
| 639 |
+
&submit_or_exec_thu_host($submithost,$run,$idx,$split_decoder_cmd,$batch_and_join,"decode$run$idx.out","decode$run$idx.err","decode$run$idx.id");
|
| 640 |
+
chomp($jobid=`tail -n 1 decode$run$idx.id`);
|
| 641 |
+
print STDERR "JOBID for decoding sub-task decode$run$idx is $jobid\n";
|
| 642 |
+
|
| 643 |
+
###################################################################################
|
| 644 |
+
|
| 645 |
+
##### # get jobid #################################################################
|
| 646 |
+
push @sgepids, $jobid;
|
| 647 |
+
$splitdecodejid .= " $jobid";
|
| 648 |
+
###################################################################################
|
| 649 |
+
}
|
| 650 |
+
|
| 651 |
+
## clear temp file for this robust trial
|
| 652 |
+
foreach my $idx (@idx_todo){
|
| 653 |
+
&exit_submit_thu_host($submithost,$run,$idx,"","decode$run$idx.out","decode$run$idx.err","decode$run$idx.id","decode$run$idx.id.pid",$splitdecodejid);
|
| 654 |
+
}
|
| 655 |
+
|
| 656 |
+
## WAIT JOB for robust iteration
|
| 657 |
+
$cmd = "date";
|
| 658 |
+
$robust_idx = $max_robust - $robust;
|
| 659 |
+
&submit_or_exec_thu_host($submithost,$run,"R${robust_idx}.W",$cmd,"-sync y","decode${run}R${robust_idx}.W.out","decode${run}R${robust_idx}.W.err","decode${run}R${robust_idx}.W.id",$splitdecodejid);
|
| 660 |
+
# no need to harvest jobid as this is in sync mode
|
| 661 |
+
|
| 662 |
+
# clear up tmp files
|
| 663 |
+
&exit_submit_thu_host($submithost,$run,"R${robust_idx}.W","","decode${run}R${robust_idx}.W.out","decode${run}R${robust_idx}.W.err","decode${run}R${robust_idx}.W.id","decode${run}R${robust_idx}.W.id.pid",$splitdecodejid);
|
| 664 |
+
|
| 665 |
+
|
| 666 |
+
|
| 667 |
+
# check if some translations failed
|
| 668 |
+
my @idx_still_todo = check_translation();
|
| 669 |
+
if ($robust) {
|
| 670 |
+
# if robust, redo crashed jobs
|
| 671 |
+
##RESUBMIT_ANYWAY## if ((scalar @idx_still_todo) == (scalar @idxlist)) {
|
| 672 |
+
##RESUBMIT_ANYWAY## # ... but not if all crashed
|
| 673 |
+
##RESUBMIT_ANYWAY## print STDERR "everything crashed, not trying to resubmit jobs\n";
|
| 674 |
+
##RESUBMIT_ANYWAY## $robust = 0;
|
| 675 |
+
##RESUBMIT_ANYWAY## kill_all_and_quit();
|
| 676 |
+
##RESUBMIT_ANYWAY## }
|
| 677 |
+
@idx_todo = @idx_still_todo;
|
| 678 |
+
}
|
| 679 |
+
else {
|
| 680 |
+
if (scalar (@idx_still_todo)) {
|
| 681 |
+
print STDERR "some jobs crashed: ".join(" ",@idx_still_todo)."\n";
|
| 682 |
+
# kill_all_and_quit();
|
| 683 |
+
}
|
| 684 |
+
|
| 685 |
+
}
|
| 686 |
+
|
| 687 |
+
}
|
| 688 |
+
|
| 689 |
+
|
| 690 |
+
|
| 691 |
+
$idxliststr = join(" ",@idxlist);
|
| 692 |
+
|
| 693 |
+
|
| 694 |
+
$postdecodecmd = "$SCRIPTS_ROOTDIR/training/sge-nosync/moses-parallel-postdecode-sge-nosync.pl" if !defined $postdecodecmd;
|
| 695 |
+
|
| 696 |
+
$postdecodeargs = "" if !defined $postdecodeargs;
|
| 697 |
+
$postdecodeargs = "$postdecodeargs --process-id $$ --idxliststr \"$idxliststr\"";
|
| 698 |
+
$postdecodeargs = "$postdecodeargs --nbestfile $nbestfile" if (defined $nbestfile);
|
| 699 |
+
$postdecodeargs = "$postdecodeargs --outnbest $outnbest" if (defined $outnbest);
|
| 700 |
+
$postdecodeargs = "$postdecodeargs --input-file $inputfile" if ($inputfile);
|
| 701 |
+
|
| 702 |
+
my $cmd = "$postdecodecmd $postdecodeargs";
|
| 703 |
+
&submit_or_exec_thu_host($submithost,$run,".CONCAT",$cmd,"","run$run.out","run$run.err","postdecode$run.id","$splitdecodejid");
|
| 704 |
+
|
| 705 |
+
|
| 706 |
+
chomp($jobid=`tail -n 1 postdecode$run.id`);
|
| 707 |
+
$prevjid = $jobid;
|
| 708 |
+
|
| 709 |
+
## clear up tmp
|
| 710 |
+
&exit_submit_thu_host($submithost,$run,".CONCAT","","run$run.out","run$run.err","postdecode$run.id","postdecode$run.id.pid",$prevjid);
|
| 711 |
+
|
| 712 |
+
|
| 713 |
+
|
| 714 |
+
##### OVERALL WAIT JOB ##########
|
| 715 |
+
my $syncscript = "${jobscript}.waitall.sh";
|
| 716 |
+
|
| 717 |
+
open (OUT, ">$syncscript");
|
| 718 |
+
my $scriptheader="\#\!/bin/bash\n\#\$ -S /bin/sh\n# Both lines are needed to invoke base\n#the above line is ignored by qsub, unless parameter \"-b yes\" is set!\n\n";
|
| 719 |
+
$scriptheader .="uname -a\n\n";
|
| 720 |
+
$scriptheader .="cd $___WORKING_DIR\n\n";
|
| 721 |
+
print OUT $scriptheader;
|
| 722 |
+
print OUT "'date'";
|
| 723 |
+
close(OUT);
|
| 724 |
+
|
| 725 |
+
# safesystem("echo 'date' > $syncscript") or kill_all_and_quit();
|
| 726 |
+
chmod(oct(755),"$syncscript");
|
| 727 |
+
|
| 728 |
+
# $cmd="qsub $queueparameters -o /dev/null -e /dev/null -N $qsubname.W -b y /bin/ls > $qsubname.W.log";
|
| 729 |
+
$batch_and_join = "-j y";
|
| 730 |
+
|
| 731 |
+
&submit_or_exec_thu_host($submithost,$run,".W",$syncscript,$batch_and_join,"decode$run.W.out","decode$run.W.err","decode$run.W.id",$prevjid);
|
| 732 |
+
chomp($jobid=`tail -n 1 decode$run.W.id`);
|
| 733 |
+
print STDERR "JOBID for wait-job for all decoding sub-task is $jobid\n";
|
| 734 |
+
$prevjid = $jobid;
|
| 735 |
+
|
| 736 |
+
## clear-up tmp
|
| 737 |
+
&exit_submit_thu_host($submithost,$run,".W",$batch_and_join,"decode$run.W.out","decode$run.W.err","decode$run.W.id","decode$run.W.id.pid",$prevjid);
|
| 738 |
+
|
| 739 |
+
exit();
|
| 740 |
+
|
| 741 |
+
|
| 742 |
+
|
| 743 |
+
|
| 744 |
+
|
| 745 |
+
### ending scripts in run_decoder() ##############
|
| 746 |
+
sanity_check_order_of_lambdas($featlist, $filename);
|
| 747 |
+
return ($filename, $lsamp_filename);
|
| 748 |
+
##################################################
|
| 749 |
+
|
| 750 |
+
|
| 751 |
+
|
| 752 |
+
|
| 753 |
+
#script creation
|
| 754 |
+
sub preparing_script(){
|
| 755 |
+
my $currStartTranslationId = 0;
|
| 756 |
+
|
| 757 |
+
foreach my $idx (@idxlist){
|
| 758 |
+
my $scriptheader="";
|
| 759 |
+
$scriptheader.="\#\! /bin/bash\n\n";
|
| 760 |
+
# !!! this is useless. qsub ignores the first line of the script.
|
| 761 |
+
# Pass '-S /bin/bash' to qsub instead.
|
| 762 |
+
$scriptheader.="uname -a\n\n";
|
| 763 |
+
$scriptheader.="ulimit -c 0\n\n"; # avoid coredumps
|
| 764 |
+
$scriptheader.="cd $workingdir\n\n";
|
| 765 |
+
|
| 766 |
+
open (OUT, "> ${jobscript}${idx}.bash");
|
| 767 |
+
print OUT $scriptheader;
|
| 768 |
+
my $inputmethod = $feed_moses_via_stdin ? "<" : "-input-file";
|
| 769 |
+
|
| 770 |
+
my $tmpnbestlist="";
|
| 771 |
+
if ($nbestflag){
|
| 772 |
+
$tmpnbestlist="$tmpdir/$nbestfile.$splitpfx$idx $nbestlist[1]";
|
| 773 |
+
$tmpnbestlist = "$tmpnbestlist $nbestlist[2]" if scalar(@nbestlist)==3;
|
| 774 |
+
$tmpnbestlist = "-n-best-list $tmpnbestlist";
|
| 775 |
+
}
|
| 776 |
+
|
| 777 |
+
$outnbest=$nbestlist[0];
|
| 778 |
+
if ($nbestlist[0] eq '-'){ $outnbest="nbest$$"; }
|
| 779 |
+
|
| 780 |
+
print STDERR "n-best-list $tmpnbestlist\n";
|
| 781 |
+
|
| 782 |
+
|
| 783 |
+
my $tmpalioutfile = "";
|
| 784 |
+
if (defined $alifile){
|
| 785 |
+
$tmpalioutfile="-alignment-output-file $tmpdir/$alifile.$splitpfx$idx";
|
| 786 |
+
}
|
| 787 |
+
|
| 788 |
+
my $tmpsearchgraphlist="";
|
| 789 |
+
if ($searchgraphflag){
|
| 790 |
+
$tmpsearchgraphlist="-output-search-graph $tmpdir/$searchgraphfile.$splitpfx$idx";
|
| 791 |
+
}
|
| 792 |
+
|
| 793 |
+
my $tmpwordgraphlist="";
|
| 794 |
+
if ($wordgraphflag){
|
| 795 |
+
$tmpwordgraphlist="-output-word-graph $tmpdir/$wordgraphfile.$splitpfx$idx $wordgraphlist[1]";
|
| 796 |
+
}
|
| 797 |
+
|
| 798 |
+
my $tmpStartTranslationId = ""; # "-start-translation-id $currStartTranslationId";
|
| 799 |
+
|
| 800 |
+
print OUT "$mosescmd $mosesparameters $tmpStartTranslationId $tmpalioutfile $tmpwordgraphlist $tmpsearchgraphlist $tmpnbestlist $inputmethod ${inputfile}.$splitpfx$idx > $tmpdir/${inputfile}.$splitpfx$idx.trans\n\n";
|
| 801 |
+
print OUT "echo exit status \$\?\n\n";
|
| 802 |
+
|
| 803 |
+
if (defined $alifile){
|
| 804 |
+
print OUT "\\mv -f $tmpdir/${alifile}.$splitpfx$idx .\n\n";
|
| 805 |
+
print OUT "echo exit status \$\?\n\n";
|
| 806 |
+
}
|
| 807 |
+
if ($nbestflag){
|
| 808 |
+
print OUT "\\mv -f $tmpdir/${nbestfile}.$splitpfx$idx .\n\n";
|
| 809 |
+
print OUT "echo exit status \$\?\n\n";
|
| 810 |
+
}
|
| 811 |
+
if ($searchgraphflag){
|
| 812 |
+
print OUT "\\mv -f $tmpdir/${searchgraphfile}.$splitpfx$idx .\n\n";
|
| 813 |
+
print OUT "echo exit status \$\?\n\n";
|
| 814 |
+
}
|
| 815 |
+
|
| 816 |
+
if ($wordgraphflag){
|
| 817 |
+
print OUT "\\mv -f $tmpdir/${wordgraphfile}.$splitpfx$idx .\n\n";
|
| 818 |
+
print OUT "echo exit status \$\?\n\n";
|
| 819 |
+
}
|
| 820 |
+
|
| 821 |
+
print OUT "\\mv -f $tmpdir/${inputfile}.$splitpfx$idx.trans .\n\n";
|
| 822 |
+
print OUT "echo exit status \$\?\n\n";
|
| 823 |
+
close(OUT);
|
| 824 |
+
|
| 825 |
+
#setting permissions of each script
|
| 826 |
+
chmod(oct(755),"${jobscript}${idx}.bash");
|
| 827 |
+
|
| 828 |
+
$currStartTranslationId += $splitN;
|
| 829 |
+
}
|
| 830 |
+
}
|
| 831 |
+
|
| 832 |
+
sub concatenate_wordgraph(){
|
| 833 |
+
my $oldcode="";
|
| 834 |
+
my $newcode=-1;
|
| 835 |
+
my %inplength = ();
|
| 836 |
+
my $offset = 0;
|
| 837 |
+
|
| 838 |
+
my $outwordgraph=$wordgraphlist[0];
|
| 839 |
+
if ($wordgraphlist[0] eq '-'){ $outwordgraph="wordgraph$$"; }
|
| 840 |
+
|
| 841 |
+
open (OUT, "> $outwordgraph");
|
| 842 |
+
foreach my $idx (@idxlist){
|
| 843 |
+
|
| 844 |
+
#computing the length of each input file
|
| 845 |
+
my @in=();
|
| 846 |
+
open (IN, "${inputfile}.${splitpfx}${idx}.trans");
|
| 847 |
+
@in=<IN>;
|
| 848 |
+
close(IN);
|
| 849 |
+
$inplength{$idx} = scalar(@in);
|
| 850 |
+
|
| 851 |
+
open (IN, "${wordgraphfile}.${splitpfx}${idx}");
|
| 852 |
+
while (<IN>){
|
| 853 |
+
|
| 854 |
+
my $code="";
|
| 855 |
+
if (/^UTTERANCE=/){
|
| 856 |
+
($code)=($_=~/^UTTERANCE=(\d+)/);
|
| 857 |
+
|
| 858 |
+
print STDERR "code:$code offset:$offset\n";
|
| 859 |
+
$code += $offset;
|
| 860 |
+
if ($code ne $oldcode){
|
| 861 |
+
|
| 862 |
+
# if there is a jump between two consecutive codes
|
| 863 |
+
# it means that an input sentence is not translated
|
| 864 |
+
# fill this hole with a "fictitious" list of wordgraphs
|
| 865 |
+
# comprising just one "_EMPTYSEARCHGRAPH_
|
| 866 |
+
while ($code - $oldcode > 1){
|
| 867 |
+
$oldcode++;
|
| 868 |
+
print OUT "UTTERANCE=$oldcode\n";
|
| 869 |
+
print STDERR " to OUT -> code:$oldcode\n";
|
| 870 |
+
print OUT "_EMPTYWORDGRAPH_\n";
|
| 871 |
+
}
|
| 872 |
+
}
|
| 873 |
+
|
| 874 |
+
$oldcode=$code;
|
| 875 |
+
print OUT "UTTERANCE=$oldcode\n";
|
| 876 |
+
next;
|
| 877 |
+
}
|
| 878 |
+
print OUT "$_";
|
| 879 |
+
}
|
| 880 |
+
close(IN);
|
| 881 |
+
$offset += $inplength{$idx};
|
| 882 |
+
|
| 883 |
+
while ($offset - $oldcode > 1){
|
| 884 |
+
$oldcode++;
|
| 885 |
+
print OUT "UTTERANCE=$oldcode\n";
|
| 886 |
+
print OUT "_EMPTYWORDGRAPH_\n";
|
| 887 |
+
}
|
| 888 |
+
}
|
| 889 |
+
close(OUT);
|
| 890 |
+
}
|
| 891 |
+
|
| 892 |
+
|
| 893 |
+
sub concatenate_searchgraph(){
|
| 894 |
+
my $oldcode="";
|
| 895 |
+
my $newcode=-1;
|
| 896 |
+
my %inplength = ();
|
| 897 |
+
my $offset = 0;
|
| 898 |
+
|
| 899 |
+
my $outsearchgraph=$searchgraphlist;
|
| 900 |
+
if ($searchgraphlist eq '-'){ $outsearchgraph="searchgraph$$"; }
|
| 901 |
+
|
| 902 |
+
open (OUT, "> $outsearchgraph");
|
| 903 |
+
foreach my $idx (@idxlist){
|
| 904 |
+
|
| 905 |
+
#computing the length of each input file
|
| 906 |
+
my @in=();
|
| 907 |
+
open (IN, "${inputfile}.${splitpfx}${idx}.trans");
|
| 908 |
+
@in=<IN>;
|
| 909 |
+
close(IN);
|
| 910 |
+
$inplength{$idx} = scalar(@in);
|
| 911 |
+
|
| 912 |
+
open (IN, "${searchgraphfile}.${splitpfx}${idx}");
|
| 913 |
+
while (<IN>){
|
| 914 |
+
my ($code,@extra)=split(/[ \t]+/,$_);
|
| 915 |
+
$code += $offset;
|
| 916 |
+
if ($code ne $oldcode){
|
| 917 |
+
|
| 918 |
+
# if there is a jump between two consecutive codes
|
| 919 |
+
# it means that an input sentence is not translated
|
| 920 |
+
# fill this hole with a "fictitious" list of searchgraphs
|
| 921 |
+
# comprising just one "_EMPTYSEARCHGRAPH_
|
| 922 |
+
while ($code - $oldcode > 1){
|
| 923 |
+
$oldcode++;
|
| 924 |
+
print OUT "$oldcode _EMPTYSEARCHGRAPH_\n";
|
| 925 |
+
}
|
| 926 |
+
}
|
| 927 |
+
$oldcode=$code;
|
| 928 |
+
print OUT join(" ",($oldcode,@extra));
|
| 929 |
+
}
|
| 930 |
+
close(IN);
|
| 931 |
+
$offset += $inplength{$idx};
|
| 932 |
+
|
| 933 |
+
while ($offset - $oldcode > 1){
|
| 934 |
+
$oldcode++;
|
| 935 |
+
print OUT "$oldcode _EMPTYSEARCHGRAPH_\n";
|
| 936 |
+
}
|
| 937 |
+
}
|
| 938 |
+
close(OUT);
|
| 939 |
+
}
|
| 940 |
+
|
| 941 |
+
sub concatenate_nbest(){
|
| 942 |
+
my $oldcode="";
|
| 943 |
+
my $newcode=-1;
|
| 944 |
+
my %inplength = ();
|
| 945 |
+
my $offset = 0;
|
| 946 |
+
|
| 947 |
+
# get the list of feature and set a fictitious string with zero scores
|
| 948 |
+
open (IN, "${nbestfile}.${splitpfx}$idxlist[0]");
|
| 949 |
+
my $str = <IN>;
|
| 950 |
+
chomp($str);
|
| 951 |
+
close(IN);
|
| 952 |
+
my ($code,$trans,$featurescores,$globalscore)=split(/\|\|\|/,$str);
|
| 953 |
+
|
| 954 |
+
my $emptytrans = " ";
|
| 955 |
+
my $emptyglobalscore = " 0.0";
|
| 956 |
+
my $emptyfeaturescores = $featurescores;
|
| 957 |
+
$emptyfeaturescores =~ s/[-0-9\.]+/0/g;
|
| 958 |
+
|
| 959 |
+
my $outnbest=$nbestlist[0];
|
| 960 |
+
if ($nbestlist[0] eq '-'){ $outnbest="nbest$$"; }
|
| 961 |
+
|
| 962 |
+
open (OUT, "> $outnbest");
|
| 963 |
+
foreach my $idx (@idxlist){
|
| 964 |
+
|
| 965 |
+
#computing the length of each input file
|
| 966 |
+
my @in=();
|
| 967 |
+
open (IN, "${inputfile}.${splitpfx}${idx}.trans");
|
| 968 |
+
@in=<IN>;
|
| 969 |
+
close(IN);
|
| 970 |
+
$inplength{$idx} = scalar(@in);
|
| 971 |
+
|
| 972 |
+
open (IN, "${nbestfile}.${splitpfx}${idx}");
|
| 973 |
+
while (<IN>){
|
| 974 |
+
my ($code,@extra)=split(/\|\|\|/,$_);
|
| 975 |
+
$code += $offset;
|
| 976 |
+
if ($code ne $oldcode){
|
| 977 |
+
|
| 978 |
+
# if there is a jump between two consecutive codes
|
| 979 |
+
# it means that an input sentence is not translated
|
| 980 |
+
# fill this hole with a "fictitious" list of translation
|
| 981 |
+
# comprising just one "emtpy translation" with zero scores
|
| 982 |
+
while ($code - $oldcode > 1){
|
| 983 |
+
$oldcode++;
|
| 984 |
+
print OUT join("\|\|\|",($oldcode,$emptytrans,$emptyfeaturescores,$emptyglobalscore)),"\n";
|
| 985 |
+
}
|
| 986 |
+
}
|
| 987 |
+
$oldcode=$code;
|
| 988 |
+
print OUT join("\|\|\|",($oldcode,@extra));
|
| 989 |
+
}
|
| 990 |
+
close(IN);
|
| 991 |
+
$offset += $inplength{$idx};
|
| 992 |
+
|
| 993 |
+
while ($offset - $oldcode > 1){
|
| 994 |
+
$oldcode++;
|
| 995 |
+
print OUT join("\|\|\|",($oldcode,$emptytrans,$emptyfeaturescores,$emptyglobalscore)),"\n";
|
| 996 |
+
}
|
| 997 |
+
}
|
| 998 |
+
close(OUT);
|
| 999 |
+
}
|
| 1000 |
+
|
| 1001 |
+
|
| 1002 |
+
|
| 1003 |
+
sub check_exit_status(){
|
| 1004 |
+
print STDERR "check_exit_status\n";
|
| 1005 |
+
my $failure=0;
|
| 1006 |
+
foreach my $idx (@idxlist){
|
| 1007 |
+
print STDERR "check_exit_status of job $idx\n";
|
| 1008 |
+
open(IN,"$qsubout$idx");
|
| 1009 |
+
while (<IN>){
|
| 1010 |
+
$failure=1 if (/exit status 1/);
|
| 1011 |
+
}
|
| 1012 |
+
close(IN);
|
| 1013 |
+
}
|
| 1014 |
+
return $failure;
|
| 1015 |
+
}
|
| 1016 |
+
|
| 1017 |
+
sub kill_all_and_quit(){
|
| 1018 |
+
print STDERR "Got interrupt or something failed.\n";
|
| 1019 |
+
print STDERR "kill_all_and_quit\n";
|
| 1020 |
+
foreach my $id (@sgepids){
|
| 1021 |
+
print STDERR "qdel $id\n";
|
| 1022 |
+
safesystem("qdel $id");
|
| 1023 |
+
}
|
| 1024 |
+
|
| 1025 |
+
print STDERR "Translation was not performed correctly\n";
|
| 1026 |
+
print STDERR "or some of the submitted jobs died.\n";
|
| 1027 |
+
print STDERR "qdel function was called for all submitted jobs\n";
|
| 1028 |
+
|
| 1029 |
+
exit(1);
|
| 1030 |
+
}
|
| 1031 |
+
|
| 1032 |
+
|
| 1033 |
+
sub check_translation(){
|
| 1034 |
+
#checking if all sentences were translated
|
| 1035 |
+
my $inputN;
|
| 1036 |
+
my $outputN;
|
| 1037 |
+
my @failed = ();
|
| 1038 |
+
foreach my $idx (@idx_todo){
|
| 1039 |
+
if ($inputtype==0){#text input
|
| 1040 |
+
chomp($inputN=`wc -l ${inputfile}.$splitpfx$idx | cut -d' ' -f1`);
|
| 1041 |
+
}
|
| 1042 |
+
elsif ($inputtype==1){#confusion network input
|
| 1043 |
+
chomp($inputN=`cat ${inputfile}.$splitpfx$idx | perl -pe 's/\\n/ _CNendline_ /g;' | perl -pe 's/_CNendline_ _CNendline_ /_CNendline_\\n/g;' | wc -l | cut -d' ' -f1 `);
|
| 1044 |
+
}
|
| 1045 |
+
elsif ($inputtype==2){#lattice input
|
| 1046 |
+
chomp($inputN=`wc -l ${inputfile}.$splitpfx$idx | cut -d' ' -f1`);
|
| 1047 |
+
}
|
| 1048 |
+
else{#unknown input
|
| 1049 |
+
die "INPUTTYPE:$inputtype is unknown!\n";
|
| 1050 |
+
}
|
| 1051 |
+
chomp($outputN=`wc -l ${inputfile}.$splitpfx$idx.trans | cut -d' ' -f1`);
|
| 1052 |
+
|
| 1053 |
+
if ($inputN != $outputN){
|
| 1054 |
+
print STDERR "Split ($idx) were not entirely translated\n";
|
| 1055 |
+
print STDERR "outputN=$outputN inputN=$inputN\n";
|
| 1056 |
+
print STDERR "outputfile=${inputfile}.$splitpfx$idx.trans inputfile=${inputfile}.$splitpfx$idx\n";
|
| 1057 |
+
push @failed,$idx;
|
| 1058 |
+
}
|
| 1059 |
+
}
|
| 1060 |
+
return @failed;
|
| 1061 |
+
}
|
| 1062 |
+
|
| 1063 |
+
sub check_translation_old_sge(){
|
| 1064 |
+
#checking if all sentences were translated
|
| 1065 |
+
my $inputN;
|
| 1066 |
+
my $outputN;
|
| 1067 |
+
foreach my $idx (@idx_todo){
|
| 1068 |
+
if ($inputtype==0){#text input
|
| 1069 |
+
chomp($inputN=`wc -l ${inputfile}.$splitpfx$idx | cut -d' ' -f1`);
|
| 1070 |
+
}
|
| 1071 |
+
elsif ($inputtype==1){#confusion network input
|
| 1072 |
+
chomp($inputN=`cat ${inputfile}.$splitpfx$idx | perl -pe 's/\\n/ _CNendline_ /g;' | perl -pe 's/_CNendline_ _CNendline_ /_CNendline_\\n/g;' | wc -l |
|
| 1073 |
+
cut -d' ' -f1 `);
|
| 1074 |
+
}
|
| 1075 |
+
elsif ($inputtype==2){#lattice input
|
| 1076 |
+
chomp($inputN=`wc -l ${inputfile}.$splitpfx$idx | cut -d' ' -f1`);
|
| 1077 |
+
}
|
| 1078 |
+
else{#unknown input
|
| 1079 |
+
die "INPUTTYPE:$inputtype is unknown!\n";
|
| 1080 |
+
}
|
| 1081 |
+
chomp($outputN=`wc -l ${inputfile}.$splitpfx$idx.trans | cut -d' ' -f1`);
|
| 1082 |
+
|
| 1083 |
+
if ($inputN != $outputN){
|
| 1084 |
+
print STDERR "Split ($idx) were not entirely translated\n";
|
| 1085 |
+
print STDERR "outputN=$outputN inputN=$inputN\n";
|
| 1086 |
+
print STDERR "outputfile=${inputfile}.$splitpfx$idx.trans inputfile=${inputfile}.$splitpfx$idx\n";
|
| 1087 |
+
return 1;
|
| 1088 |
+
}
|
| 1089 |
+
|
| 1090 |
+
}
|
| 1091 |
+
return 0;
|
| 1092 |
+
}
|
| 1093 |
+
|
| 1094 |
+
sub remove_temporary_files(){
|
| 1095 |
+
#removing temporary files
|
| 1096 |
+
foreach my $idx (@idxlist){
|
| 1097 |
+
unlink("${inputfile}.${splitpfx}${idx}.trans");
|
| 1098 |
+
unlink("${inputfile}.${splitpfx}${idx}");
|
| 1099 |
+
if (defined $alifile){ unlink("${alifile}.${splitpfx}${idx}"); }
|
| 1100 |
+
if ($nbestflag){ unlink("${nbestfile}.${splitpfx}${idx}"); }
|
| 1101 |
+
if ($searchgraphflag){ unlink("${searchgraphfile}.${splitpfx}${idx}"); }
|
| 1102 |
+
if ($wordgraphflag){ unlink("${wordgraphfile}.${splitpfx}${idx}"); }
|
| 1103 |
+
unlink("${jobscript}${idx}.bash");
|
| 1104 |
+
unlink("${jobscript}${idx}.log");
|
| 1105 |
+
unlink("$qsubname.W.log");
|
| 1106 |
+
unlink("$qsubout$idx");
|
| 1107 |
+
unlink("$qsuberr$idx");
|
| 1108 |
+
rmdir("$tmpdir");
|
| 1109 |
+
}
|
| 1110 |
+
if ($nbestflag && $nbestlist[0] eq '-'){ unlink("${nbestfile}$$"); };
|
| 1111 |
+
if ($searchgraphflag && $searchgraphlist eq '-'){ unlink("${searchgraphfile}$$"); };
|
| 1112 |
+
if ($wordgraphflag && $wordgraphlist eq '-'){ unlink("${wordgraphfile}$$"); };
|
| 1113 |
+
}
|
| 1114 |
+
|
| 1115 |
+
sub safesystem {
|
| 1116 |
+
print STDERR "Executing: @_\n";
|
| 1117 |
+
system(@_);
|
| 1118 |
+
if ($? == -1) {
|
| 1119 |
+
print STDERR "Failed to execute: @_\n $!\n";
|
| 1120 |
+
exit(1);
|
| 1121 |
+
}
|
| 1122 |
+
elsif ($? & 127) {
|
| 1123 |
+
printf STDERR "Execution of: @_\n died with signal %d, %s coredump\n",
|
| 1124 |
+
($? & 127), ($? & 128) ? 'with' : 'without';
|
| 1125 |
+
exit 1;
|
| 1126 |
+
}
|
| 1127 |
+
else {
|
| 1128 |
+
my $exitcode = $? >> 8;
|
| 1129 |
+
print STDERR "Exit code: $exitcode\n" if $exitcode;
|
| 1130 |
+
return ! $exitcode;
|
| 1131 |
+
}
|
| 1132 |
+
}
|
| 1133 |
+
|
| 1134 |
+
|
| 1135 |
+
# look for the correct pwdcmd (pwd by default, pawd if it exists)
|
| 1136 |
+
# I assume that pwd always exists
|
| 1137 |
+
sub getPwdCmd(){
|
| 1138 |
+
my $pwdcmd="pwd";
|
| 1139 |
+
my $a;
|
| 1140 |
+
chomp($a=`which pawd | head -1 | awk '{print $1}'`);
|
| 1141 |
+
if ($a && -e $a){ $pwdcmd=$a; }
|
| 1142 |
+
return $pwdcmd;
|
| 1143 |
+
}
|
| 1144 |
+
|
| 1145 |
+
|
| 1146 |
+
|
| 1147 |
+
sub get_featlist_from_moses {
|
| 1148 |
+
# run moses with the given config file and return the list of features and
|
| 1149 |
+
# their initial values
|
| 1150 |
+
|
| 1151 |
+
### variable conversion for moses-parallel-sge-nosync.pl ###
|
| 1152 |
+
my $___INPUTTYPE = $inputtype;
|
| 1153 |
+
my $___DECODER = $mosescmd;
|
| 1154 |
+
######################################################
|
| 1155 |
+
my $configfn = shift;
|
| 1156 |
+
|
| 1157 |
+
|
| 1158 |
+
# forceful load features list every time
|
| 1159 |
+
my $featlistfn = "./features.list.run${run}_start";
|
| 1160 |
+
if (-e $featlistfn) {
|
| 1161 |
+
print STDERR "Removing old features list: $featlistfn\n";
|
| 1162 |
+
print STDERR "Generating a new one with $configfn\n";
|
| 1163 |
+
}
|
| 1164 |
+
print STDERR "Asking moses for feature names and values from $configfn\n";
|
| 1165 |
+
my $cmd = "$___DECODER $___DECODER_FLAGS -config $configfn -inputtype $___INPUTTYPE -show-weights > $featlistfn";
|
| 1166 |
+
print STDERR "$cmd\n"; #DEBUG
|
| 1167 |
+
safesystem($cmd) or die "Failed to run moses with the config $configfn";
|
| 1168 |
+
|
| 1169 |
+
|
| 1170 |
+
# read feature list
|
| 1171 |
+
my @names = ();
|
| 1172 |
+
my @startvalues = ();
|
| 1173 |
+
open(INI,$featlistfn) or die "Can't read $featlistfn";
|
| 1174 |
+
my $nr = 0;
|
| 1175 |
+
my @errs = ();
|
| 1176 |
+
while (<INI>) {
|
| 1177 |
+
$nr++;
|
| 1178 |
+
chomp;
|
| 1179 |
+
/^(.+) (\S+) (\S+)$/ || die("invalid feature: $_");
|
| 1180 |
+
my ($longname, $feature, $value) = ($1,$2,$3);
|
| 1181 |
+
next if $value eq "sparse";
|
| 1182 |
+
push @errs, "$featlistfn:$nr:Bad initial value of $feature: $value\n"
|
| 1183 |
+
if $value !~ /^[+-]?[0-9.e]+$/;
|
| 1184 |
+
push @errs, "$featlistfn:$nr:Unknown feature '$feature', please add it to \@ABBR_FULL_MAP\n"
|
| 1185 |
+
if !defined $ABBR2FULL{$feature};
|
| 1186 |
+
push @names, $feature;
|
| 1187 |
+
push @startvalues, $value;
|
| 1188 |
+
}
|
| 1189 |
+
close INI;
|
| 1190 |
+
if (scalar @errs) {
|
| 1191 |
+
print STDERR join("", @errs);
|
| 1192 |
+
exit 1;
|
| 1193 |
+
}
|
| 1194 |
+
return {"names"=>\@names, "values"=>\@startvalues};
|
| 1195 |
+
}
|
| 1196 |
+
|
| 1197 |
+
|
| 1198 |
+
sub insert_ranges_to_featlist {
|
| 1199 |
+
### variable conversion for moses-parallel-sge-nosync.pl ###
|
| 1200 |
+
my $___INPUTTYPE = $inputtype;
|
| 1201 |
+
my $___DECODER = $mosescmd;
|
| 1202 |
+
######################################################
|
| 1203 |
+
|
| 1204 |
+
my $featlist = shift;
|
| 1205 |
+
my $ranges = shift;
|
| 1206 |
+
|
| 1207 |
+
$ranges = [] if !defined $ranges;
|
| 1208 |
+
|
| 1209 |
+
# first collect the ranges from options
|
| 1210 |
+
my $niceranges;
|
| 1211 |
+
foreach my $range (@$ranges) {
|
| 1212 |
+
my $name = undef;
|
| 1213 |
+
foreach my $namedpair (split /,/, $range) {
|
| 1214 |
+
if ($namedpair =~ /^(.*?):/) {
|
| 1215 |
+
$name = $1;
|
| 1216 |
+
$namedpair =~ s/^.*?://;
|
| 1217 |
+
die "Unrecognized name '$name' in --range=$range"
|
| 1218 |
+
if !defined $ABBR2FULL{$name};
|
| 1219 |
+
}
|
| 1220 |
+
my ($min, $max) = split /\.\./, $namedpair;
|
| 1221 |
+
die "Bad min '$min' in --range=$range" if $min !~ /^-?[0-9.]+$/;
|
| 1222 |
+
die "Bad max '$max' in --range=$range" if $min !~ /^-?[0-9.]+$/;
|
| 1223 |
+
die "No name given in --range=$range" if !defined $name;
|
| 1224 |
+
push @{$niceranges->{$name}}, [$min, $max];
|
| 1225 |
+
}
|
| 1226 |
+
}
|
| 1227 |
+
|
| 1228 |
+
# now populate featlist
|
| 1229 |
+
my $seen = undef;
|
| 1230 |
+
for(my $i=0; $i<scalar(@{$featlist->{"names"}}); $i++) {
|
| 1231 |
+
my $name = $featlist->{"names"}->[$i];
|
| 1232 |
+
$seen->{$name} ++;
|
| 1233 |
+
my $min = 0.0;
|
| 1234 |
+
my $max = 1.0;
|
| 1235 |
+
if (defined $niceranges->{$name}) {
|
| 1236 |
+
my $minmax = shift @{$niceranges->{$name}};
|
| 1237 |
+
($min, $max) = @$minmax if defined $minmax;
|
| 1238 |
+
}
|
| 1239 |
+
$featlist->{"mins"}->[$i] = $min;
|
| 1240 |
+
$featlist->{"maxs"}->[$i] = $max;
|
| 1241 |
+
}
|
| 1242 |
+
return $featlist;
|
| 1243 |
+
}
|
| 1244 |
+
|
| 1245 |
+
|
| 1246 |
+
|
| 1247 |
+
|
| 1248 |
+
sub submit_or_exec_thu_host {
|
| 1249 |
+
# use Net::OpenSSH::Compat::Perl;
|
| 1250 |
+
|
| 1251 |
+
my $argvlen = @_;
|
| 1252 |
+
my $submithost = undef;
|
| 1253 |
+
my $run = -1;
|
| 1254 |
+
my $idx = "";
|
| 1255 |
+
my $batch_and_join = "";
|
| 1256 |
+
my $my_username = undef;
|
| 1257 |
+
my $cmd = undef;
|
| 1258 |
+
my $qsubwrapcmd = undef;
|
| 1259 |
+
my $stdout = undef;
|
| 1260 |
+
my $stderr = undef;
|
| 1261 |
+
my $jidfile = undef;
|
| 1262 |
+
my $prevjid = undef;
|
| 1263 |
+
|
| 1264 |
+
|
| 1265 |
+
# if supply 7 arguments, exec without submit
|
| 1266 |
+
# if supply 8 arguments, then submit new job
|
| 1267 |
+
# if supply 9 arguments, wait for the previous job to finish
|
| 1268 |
+
if ($argvlen == 7){
|
| 1269 |
+
($submithost,$run,$idx,$cmd,$batch_and_join,$stdout,$stderr) = @_;
|
| 1270 |
+
} elsif ($argvlen == 8){
|
| 1271 |
+
($submithost,$run,$idx,$cmd,$batch_and_join,$stdout,$stderr,$jidfile) = @_;
|
| 1272 |
+
} elsif ($argvlen == 9){
|
| 1273 |
+
($submithost,$run,$idx,$cmd,$batch_and_join,$stdout,$stderr,$jidfile,$prevjid) = @_;
|
| 1274 |
+
}
|
| 1275 |
+
|
| 1276 |
+
|
| 1277 |
+
|
| 1278 |
+
chomp(my $my_username = `whoami`);
|
| 1279 |
+
my $ssh = Net::OpenSSH::Compat::Perl->new($submithost, debug=>0);
|
| 1280 |
+
|
| 1281 |
+
print STDERR "submithost = $submithost\n";
|
| 1282 |
+
print STDERR "qusbwrapper at = $qsubwrapper\n";
|
| 1283 |
+
|
| 1284 |
+
$ssh->login();
|
| 1285 |
+
|
| 1286 |
+
if ($argvlen == 9) {
|
| 1287 |
+
$qsubwrapcmd = "$qsubwrapper -command='$cmd' -queue-parameter=\"$queueparameters $batch_and_join\" -qsub-prefix='$qsubname$idx' -stdout=$stdout -stderr=$stderr -jidfile=$jidfile -prevjid='$prevjid'";
|
| 1288 |
+
} elsif ($argvlen == 8) {
|
| 1289 |
+
# $qsubwrapcmd = "$qsubwrapper -command='${jobscript}${idx}.bash' -queue-parameter=\"$queueparameters $batch_and_join\" -qsub-prefix='$qsubname$idx' -stdout=$stdout -stderr=$stderr -jidfile=$jidfile";
|
| 1290 |
+
$qsubwrapcmd = "$qsubwrapper -command='$cmd' -queue-parameter=\"$queueparameters $batch_and_join\" -qsub-prefix='$qsubname$idx' -stdout=$stdout -stderr=$stderr -jidfile=$jidfile";
|
| 1291 |
+
}
|
| 1292 |
+
print STDERR "Executing $qsubwrapcmd in $___WORKING_DIR\n";
|
| 1293 |
+
$ssh->cmd("cd $___WORKING_DIR && $qsubwrapcmd");
|
| 1294 |
+
|
| 1295 |
+
}
|
| 1296 |
+
|
| 1297 |
+
sub exit_submit_thu_host {
|
| 1298 |
+
|
| 1299 |
+
my $argvlen = @_;
|
| 1300 |
+
my $submithost = undef;
|
| 1301 |
+
my $run = -1;
|
| 1302 |
+
my $idx = "";
|
| 1303 |
+
my $batch_and_join = "";
|
| 1304 |
+
my $my_username = undef;
|
| 1305 |
+
my $cmd = undef;
|
| 1306 |
+
my $stdout = undef;
|
| 1307 |
+
my $stderr = undef;
|
| 1308 |
+
my $jidfile = undef;
|
| 1309 |
+
my $pidfile = undef;
|
| 1310 |
+
my $prevjid = undef;
|
| 1311 |
+
my $prevjidarraysize = 0;
|
| 1312 |
+
my @prevjidarray = ();
|
| 1313 |
+
my $pid = undef;
|
| 1314 |
+
my $qsubcmd="";
|
| 1315 |
+
my $hj="";
|
| 1316 |
+
|
| 1317 |
+
# if supply 8 arguments, then submit new job
|
| 1318 |
+
# if supply 9 arguments, wait for the previous job to finish
|
| 1319 |
+
if ($argvlen == 6){
|
| 1320 |
+
($submithost,$run,$idx,$batch_and_join,$stdout,$stderr) = @_;
|
| 1321 |
+
} elsif ($argvlen == 8){
|
| 1322 |
+
($submithost,$run,$idx,$batch_and_join,$stdout,$stderr,$jidfile,$pidfile) = @_;
|
| 1323 |
+
} elsif ($argvlen == 9){
|
| 1324 |
+
($submithost,$run,$idx,$batch_and_join,$stdout,$stderr,$jidfile,$pidfile,$prevjid) = @_;
|
| 1325 |
+
}
|
| 1326 |
+
|
| 1327 |
+
# parse prevjid ########################
|
| 1328 |
+
$prevjid =~ s/^\s+|\s+$//g;
|
| 1329 |
+
@prevjidarray = split(/\s+/,$prevjid);
|
| 1330 |
+
$prevjidarraysize = scalar(@prevjidarray);
|
| 1331 |
+
########################################
|
| 1332 |
+
|
| 1333 |
+
|
| 1334 |
+
# print STDERR "exec: $stdout\n";
|
| 1335 |
+
|
| 1336 |
+
# read pid from file, and draft exit script ##################
|
| 1337 |
+
chomp ($pid=`tail -n 1 $pidfile`);
|
| 1338 |
+
open (OUT, ">exitjob$pid.sh");
|
| 1339 |
+
|
| 1340 |
+
my $scriptheader="\#\!/bin/bash\n\#\$ -S /bin/sh\n# Both lines are needed to invoke base\n#the above line is ignored by qsub, unless parameter \"-b yes\" is set!\n\n";
|
| 1341 |
+
$scriptheader .="uname -a\n\n";
|
| 1342 |
+
$scriptheader .="cd $___WORKING_DIR\n\n";
|
| 1343 |
+
|
| 1344 |
+
print OUT $scriptheader;
|
| 1345 |
+
|
| 1346 |
+
print OUT "if $qsubwrapper_exit -stdout=$stdout -stderr=$stderr -jidfile=$jidfile -pidfile=$pidfile > exitjob$pid.out 2> exitjob$pid.err ; then
|
| 1347 |
+
echo 'succeeded'
|
| 1348 |
+
else
|
| 1349 |
+
echo failed with exit status \$\?
|
| 1350 |
+
die=1
|
| 1351 |
+
fi
|
| 1352 |
+
";
|
| 1353 |
+
print OUT "\n\n";
|
| 1354 |
+
|
| 1355 |
+
close (OUT);
|
| 1356 |
+
# setting permissions of the script
|
| 1357 |
+
chmod(oct(755),"exitjob$pid.sh");
|
| 1358 |
+
##############################################################
|
| 1359 |
+
|
| 1360 |
+
# log in submit host #########################################
|
| 1361 |
+
chomp(my $my_username = `whoami`);
|
| 1362 |
+
my $ssh = Net::OpenSSH::Compat::Perl->new($submithost, debug=>0);
|
| 1363 |
+
|
| 1364 |
+
print STDERR "submithost = $submithost\n";
|
| 1365 |
+
print STDERR "my username = $my_username\n";
|
| 1366 |
+
print STDERR "qusbwrapper at = $qsubwrapper\n";
|
| 1367 |
+
|
| 1368 |
+
$ssh->login();
|
| 1369 |
+
##############################################################
|
| 1370 |
+
|
| 1371 |
+
|
| 1372 |
+
if ($argvlen==9) {
|
| 1373 |
+
if (defined $prevjid && $prevjid!=-1 && $prevjidarraysize == 1){
|
| 1374 |
+
$hj = "-hold_jid $prevjid";
|
| 1375 |
+
} elsif (defined $prevjid && $prevjidarraysize > 1){
|
| 1376 |
+
$hj = "-hold_jid " . join(" -hold_jid ", @prevjidarray);
|
| 1377 |
+
}
|
| 1378 |
+
$qsubcmd="qsub $queueparameters -o /dev/null -e /dev/null $hj exitjob$pid.sh > exitjob$pid.log 2>&1";
|
| 1379 |
+
$ssh->cmd("cd $___WORKING_DIR && $qsubcmd");
|
| 1380 |
+
} elsif ($argvlen==8) {
|
| 1381 |
+
$qsubcmd="qsub $queueparameters -o /dev/null -e /dev/null exitjob$pid.sh > exitjob$pid.log 2>&1";
|
| 1382 |
+
$ssh->cmd("cd $___WORKING_DIR && $qsubcmd");
|
| 1383 |
+
}
|
| 1384 |
+
print STDERR "Executing $qsubcmd in $___WORKING_DIR\n";
|
| 1385 |
+
|
| 1386 |
+
}
|
| 1387 |
+
|
| 1388 |
+
|
mosesdecoder/contrib/mert-sge-nosync/generic/qsub-wrapper-exit-sge-nosync.pl
ADDED
|
@@ -0,0 +1,312 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
#! /usr/bin/perl
|
| 2 |
+
|
| 3 |
+
# $Id$
|
| 4 |
+
use strict;
|
| 5 |
+
use Net::OpenSSH::Compat::Perl;
|
| 6 |
+
#######################
|
| 7 |
+
#Default parameters
|
| 8 |
+
#parameters for submiiting processes through SGE
|
| 9 |
+
#NOTE: group name is ws06ossmt (with 2 's') and not ws06osmt (with 1 's')
|
| 10 |
+
my $queueparameters="";
|
| 11 |
+
|
| 12 |
+
# look for the correct pwdcmd
|
| 13 |
+
my $pwdcmd = getPwdCmd();
|
| 14 |
+
|
| 15 |
+
my $workingdir = `$pwdcmd`; chomp $workingdir;
|
| 16 |
+
# my $tmpdir="$workingdir/tmp$$";
|
| 17 |
+
# my $jobscript="$workingdir/job$$.sh";
|
| 18 |
+
# my $qsubout="$workingdir/out.job$$";
|
| 19 |
+
# my $qsuberr="$workingdir/err.job$$";
|
| 20 |
+
|
| 21 |
+
|
| 22 |
+
$SIG{INT} = \&kill_all_and_quit; # catch exception for CTRL-C
|
| 23 |
+
|
| 24 |
+
my $submithost="";
|
| 25 |
+
my $help="";
|
| 26 |
+
my $dbg="";
|
| 27 |
+
my $version="";
|
| 28 |
+
my $qsubname="WR$$";
|
| 29 |
+
my $cmd="";
|
| 30 |
+
my $cmdout=undef;
|
| 31 |
+
my $cmderr=undef;
|
| 32 |
+
my $jid=0;
|
| 33 |
+
my $jidfile=undef;
|
| 34 |
+
my $pid=0;
|
| 35 |
+
my $pidfile=undef;
|
| 36 |
+
my $prevjid=undef;
|
| 37 |
+
my $parameters="";
|
| 38 |
+
my $old_sge = 0; # assume grid engine < 6.0
|
| 39 |
+
my $prevjidarraysize = 0;
|
| 40 |
+
my $force_delete = 0;
|
| 41 |
+
my @prevjidarray = ();
|
| 42 |
+
|
| 43 |
+
sub init(){
|
| 44 |
+
use Getopt::Long qw(:config pass_through);
|
| 45 |
+
GetOptions('version'=>\$version,
|
| 46 |
+
'help'=>\$help,
|
| 47 |
+
'debug'=>\$dbg,
|
| 48 |
+
'submithost=s'=> \$submithost,
|
| 49 |
+
'qsub-prefix=s'=> \$qsubname,
|
| 50 |
+
'stdout=s'=> \$cmdout,
|
| 51 |
+
'stderr=s'=> \$cmderr,
|
| 52 |
+
'jidfile=s'=> \$jidfile,
|
| 53 |
+
'pidfile=s'=> \$pidfile, # process id for previous job
|
| 54 |
+
'prevjid=s'=> \$prevjid,
|
| 55 |
+
'queue-parameter=s'=> \$queueparameters,
|
| 56 |
+
'force-delete=i' => \$force_delete,
|
| 57 |
+
'old-sge' => \$old_sge,
|
| 58 |
+
) or exit(1);
|
| 59 |
+
$parameters="@ARGV";
|
| 60 |
+
|
| 61 |
+
# read $pid from file
|
| 62 |
+
chomp($pid=`tail -n 1 $pidfile`);
|
| 63 |
+
# print "PID=+$pidfile+\n";
|
| 64 |
+
|
| 65 |
+
if (defined $jidfile) {
|
| 66 |
+
chomp($jid=`tail -n 1 $jidfile`);
|
| 67 |
+
}
|
| 68 |
+
|
| 69 |
+
# print STDERR "INPUT prevjid =+$prevjid+\n";
|
| 70 |
+
$prevjid =~ s/^\s+|\s+$//g;
|
| 71 |
+
# print STDERR "TRIMMED prevjid =+$prevjid+\n";
|
| 72 |
+
|
| 73 |
+
@prevjidarray = split(/\s+/,$prevjid);
|
| 74 |
+
$prevjidarraysize = scalar(@prevjidarray);
|
| 75 |
+
|
| 76 |
+
# print STDERR "arraysize: $prevjidarraysize\n";
|
| 77 |
+
|
| 78 |
+
|
| 79 |
+
version() if $version;
|
| 80 |
+
usage() if $help;
|
| 81 |
+
print_parameters() if $dbg;
|
| 82 |
+
}
|
| 83 |
+
|
| 84 |
+
#######################
|
| 85 |
+
##print version
|
| 86 |
+
sub version(){
|
| 87 |
+
# print STDERR "version 1.0 (29-07-2006)\n";
|
| 88 |
+
print STDERR "version 1.1 (31-07-2006)\n";
|
| 89 |
+
exit(1);
|
| 90 |
+
}
|
| 91 |
+
|
| 92 |
+
#usage
|
| 93 |
+
sub usage(){
|
| 94 |
+
print STDERR "qsub-wrapper.pl [options]\n";
|
| 95 |
+
print STDERR "Options:\n";
|
| 96 |
+
print STDERR "-stdout <file> file to find stdout from target cmd (optional)\n";
|
| 97 |
+
print STDERR "-stderr <file> file to find stderr from target cmd (optional)\n";
|
| 98 |
+
print STDERR "-jidfile <file> file to find the submit jobid (for submit option)\n";
|
| 99 |
+
print STDERR "-pidfile <file> file to find the process id to the target job for deletion\n";
|
| 100 |
+
print STDERR "-prevjid <id> wait for the previous job with jobid=id to finish before starting (optional)\n";
|
| 101 |
+
print STDERR "-force-delete 1 force-delete without checking\n";
|
| 102 |
+
print STDERR "-qsub-prefix <string> name for sumbitted jobs (optional)\n";
|
| 103 |
+
print STDERR "-queue-parameters <string> parameter for the queue (optional)\n";
|
| 104 |
+
print STDERR "-old-sge ... assume Sun Grid Engine < 6.0\n";
|
| 105 |
+
print STDERR "-debug debug\n";
|
| 106 |
+
print STDERR "-version print version of the script\n";
|
| 107 |
+
print STDERR "-help this help\n";
|
| 108 |
+
exit(1);
|
| 109 |
+
}
|
| 110 |
+
|
| 111 |
+
#printparameters
|
| 112 |
+
sub print_parameters(){
|
| 113 |
+
# print STDERR "command: $cmd\n";
|
| 114 |
+
if (defined($cmdout)){ print STDERR "file for stdout: $cmdout\n"; }
|
| 115 |
+
else { print STDERR "file for stdout is not defined, stdout is discarded\n"; }
|
| 116 |
+
if (defined($cmderr)){ print STDERR "file for stdout: $cmderr\n"; }
|
| 117 |
+
else { print STDERR "file for stderr is not defined, stderr is discarded\n"; }
|
| 118 |
+
if (defined($jidfile)){ print STDERR "file for submit job id: $jidfile\n"; }
|
| 119 |
+
else { print STDERR "file for submit job id is not defined, jidfile is discarded\n"; }
|
| 120 |
+
print STDERR "Qsub name: $qsubname\n";
|
| 121 |
+
print STDERR "Queue parameters: $queueparameters\n";
|
| 122 |
+
print STDERR "parameters directly passed to cmd: $parameters\n";
|
| 123 |
+
exit(1);
|
| 124 |
+
}
|
| 125 |
+
|
| 126 |
+
|
| 127 |
+
#######################
|
| 128 |
+
#Script starts here
|
| 129 |
+
|
| 130 |
+
init();
|
| 131 |
+
|
| 132 |
+
my $tmpdir="$workingdir/tmp$pid";
|
| 133 |
+
my $jobscript="$workingdir/job$pid.sh";
|
| 134 |
+
my $qsubout="$workingdir/out.job$pid";
|
| 135 |
+
my $qsuberr="$workingdir/err.job$pid";
|
| 136 |
+
|
| 137 |
+
|
| 138 |
+
|
| 139 |
+
### usage() if $cmd eq "";
|
| 140 |
+
###
|
| 141 |
+
### safesystem("mkdir -p $tmpdir") or die;
|
| 142 |
+
###
|
| 143 |
+
### preparing_script();
|
| 144 |
+
###
|
| 145 |
+
#### my $maysync = $old_sge ? "" : "-sync y";
|
| 146 |
+
#### never run in syn mode
|
| 147 |
+
###my $maysync = "";
|
| 148 |
+
###
|
| 149 |
+
###my $qsubcmd = "";
|
| 150 |
+
#### create the qsubcmd to submit to the queue with the parameter "-b yes"
|
| 151 |
+
####my $qsubcmd="qsub $queueparameters $maysync -V -o $qsubout -e $qsuberr -N $qsubname -b yes $jobscript > $jobscript.log 2>&1";
|
| 152 |
+
###
|
| 153 |
+
#### add -b yes if not yet defined, otherwise leave empty
|
| 154 |
+
###$queueparameters .= " -b yes " if (index($queueparameters," -b ")==-1);
|
| 155 |
+
###
|
| 156 |
+
###
|
| 157 |
+
###if (defined $prevjid && $prevjid!=-1 && $prevjidarraysize == 1) {
|
| 158 |
+
### $qsubcmd="qsub $queueparameters $maysync -V -hold_jid $prevjid -o $qsubout -e $qsuberr -N $qsubname $jobscript > $jobscript.log 2>&1";
|
| 159 |
+
###} elsif (defined $prevjid && $prevjidarraysize > 1) {
|
| 160 |
+
### my $hj = "-hold_jid " . join(" -hold_jid ", @prevjidarray);
|
| 161 |
+
### # print STDERR "hj is $hj\n";
|
| 162 |
+
### $qsubcmd="qsub $queueparameters $maysync -V $hj -o $qsubout -e $qsuberr -N $qsubname $jobscript > $jobscript.log 2>&1";
|
| 163 |
+
###} else {
|
| 164 |
+
### $qsubcmd="qsub $queueparameters $maysync -V -o $qsubout -e $qsuberr -N $qsubname $jobscript > $jobscript.log 2>&1";
|
| 165 |
+
###}
|
| 166 |
+
###
|
| 167 |
+
###print "submitting $qsubcmd\n";
|
| 168 |
+
###
|
| 169 |
+
####run the qsubcmd
|
| 170 |
+
###
|
| 171 |
+
###safesystem($qsubcmd) or die;
|
| 172 |
+
###
|
| 173 |
+
####getting id of submitted job#############
|
| 174 |
+
###my $res;
|
| 175 |
+
###open (IN,"$jobscript.log") or die "Can't read main job id: $jobscript.log";
|
| 176 |
+
###chomp($res=<IN>);
|
| 177 |
+
###my @arrayStr = split(/\s+/,$res);
|
| 178 |
+
###my $id=$arrayStr[2];
|
| 179 |
+
###die "Failed to get job id from $jobscript.log, got: $res"
|
| 180 |
+
### if $id !~ /^[0-9]+$/;
|
| 181 |
+
###close(IN);
|
| 182 |
+
############################################
|
| 183 |
+
###print STDERR " res:$res\n";
|
| 184 |
+
###print STDERR " id:$id\n";
|
| 185 |
+
###
|
| 186 |
+
###open (JIDOUT,">$jidfile") or die "Can't open jid file to write";
|
| 187 |
+
###print JIDOUT "$id\n";
|
| 188 |
+
###close(JIDOUT);
|
| 189 |
+
###
|
| 190 |
+
###open (JOBNUMOUT,">$jidfile.job") or die "Can't open id.job file to write";
|
| 191 |
+
###print JOBNUMOUT "$$\n";
|
| 192 |
+
###close(JOBNUMOUT);
|
| 193 |
+
###
|
| 194 |
+
###if ($old_sge) {
|
| 195 |
+
### # need to workaround -sync, add another job that will wait for the main one
|
| 196 |
+
### # prepare a fake waiting script
|
| 197 |
+
### my $syncscript = "$jobscript.sync_workaround_script.sh";
|
| 198 |
+
### safesystem("echo 'date' > $syncscript") or die;
|
| 199 |
+
###
|
| 200 |
+
### my $checkpointfile = "$jobscript.sync_workaround_checkpoint";
|
| 201 |
+
###
|
| 202 |
+
### # ensure checkpoint does not exist
|
| 203 |
+
### safesystem("\\rm -f $checkpointfile") or die;
|
| 204 |
+
###
|
| 205 |
+
### # start the 'hold' job, i.e. the job that will wait
|
| 206 |
+
#### $cmd="qsub -cwd $queueparameters -hold_jid $id -o $checkpointfile f -e /dev/null -N $qsubname.W $syncscript >& $qsubname.W.log";
|
| 207 |
+
### $cmd="qsub -cwd $queueparameters -hold_jid $id -o $checkpointfile -e /dev/null -N $qsubname.W $syncscript >& $qsubname.W.log";
|
| 208 |
+
### safesystem($cmd) or die;
|
| 209 |
+
###
|
| 210 |
+
### # and wait for checkpoint file to appear
|
| 211 |
+
### my $nr=0;
|
| 212 |
+
### while (!-e $checkpointfile) {
|
| 213 |
+
### sleep(10);
|
| 214 |
+
### $nr++;
|
| 215 |
+
### print STDERR "w" if $nr % 3 == 0;
|
| 216 |
+
### }
|
| 217 |
+
### safesystem("\\rm -f $checkpointfile $syncscript") or die();
|
| 218 |
+
### print STDERR "End of waiting workaround.\n";
|
| 219 |
+
###}
|
| 220 |
+
|
| 221 |
+
|
| 222 |
+
my $failure=0;
|
| 223 |
+
|
| 224 |
+
|
| 225 |
+
if (!$force_delete) {
|
| 226 |
+
$failure=&check_exit_status();
|
| 227 |
+
print STDERR "check_exit_status returned $failure\n";
|
| 228 |
+
}
|
| 229 |
+
|
| 230 |
+
|
| 231 |
+
&kill_all_and_quit() if $failure;
|
| 232 |
+
|
| 233 |
+
&remove_temporary_files() if !$dbg;
|
| 234 |
+
|
| 235 |
+
|
| 236 |
+
|
| 237 |
+
|
| 238 |
+
sub check_exit_status(){
|
| 239 |
+
my $failure=0;
|
| 240 |
+
|
| 241 |
+
print STDERR "check_exit_status of submitted job $jid from file $qsubout\n";
|
| 242 |
+
open(IN,"$qsubout") or die "Can't read $qsubout";
|
| 243 |
+
while (<IN>){
|
| 244 |
+
$failure=1 if (/failed with exit status/);
|
| 245 |
+
}
|
| 246 |
+
close(IN);
|
| 247 |
+
return $failure;
|
| 248 |
+
}
|
| 249 |
+
|
| 250 |
+
sub kill_all_and_quit(){
|
| 251 |
+
my $my_username = undef;
|
| 252 |
+
|
| 253 |
+
# chomp($my_username = `whoami`);
|
| 254 |
+
#
|
| 255 |
+
# my $ssh = Net::OpenSSH::Compat::Perl->new($submithost, debug=>0);
|
| 256 |
+
#
|
| 257 |
+
# $ssh->login("$my_username",`cat /home/$my_username/accpw`);
|
| 258 |
+
|
| 259 |
+
my $ssh = Net::OpenSSH::Compat::Perl->new($submithost, debug=>0);
|
| 260 |
+
|
| 261 |
+
$ssh->login();
|
| 262 |
+
|
| 263 |
+
print STDERR "kill_all_and_quit\n";
|
| 264 |
+
print STDERR "qdel $jid\n";
|
| 265 |
+
# safesystem("qdel $jid");
|
| 266 |
+
$ssh->cmd("qdel $jid");
|
| 267 |
+
|
| 268 |
+
print STDERR "The submitted jobs died not correctly\n";
|
| 269 |
+
print STDERR "Send qdel signal to the submitted jobs\n";
|
| 270 |
+
|
| 271 |
+
exit(1);
|
| 272 |
+
}
|
| 273 |
+
|
| 274 |
+
sub remove_temporary_files(){
|
| 275 |
+
#removing temporary files
|
| 276 |
+
|
| 277 |
+
unlink("${jobscript}");
|
| 278 |
+
unlink("${jobscript}.log");
|
| 279 |
+
unlink("$qsubout");
|
| 280 |
+
unlink("$qsuberr");
|
| 281 |
+
rmdir("$tmpdir");
|
| 282 |
+
}
|
| 283 |
+
|
| 284 |
+
sub safesystem {
|
| 285 |
+
print STDERR "Executing: @_\n";
|
| 286 |
+
system(@_);
|
| 287 |
+
if ($? == -1) {
|
| 288 |
+
print STDERR "Failed to execute: @_\n $!\n";
|
| 289 |
+
exit(1);
|
| 290 |
+
}
|
| 291 |
+
elsif ($? & 127) {
|
| 292 |
+
printf STDERR "Execution of: @_\n died with signal %d, %s coredump\n",
|
| 293 |
+
($? & 127), ($? & 128) ? 'with' : 'without';
|
| 294 |
+
exit(1);
|
| 295 |
+
}
|
| 296 |
+
else {
|
| 297 |
+
my $exitcode = $? >> 8;
|
| 298 |
+
print STDERR "Exit code: $exitcode\n" if $exitcode;
|
| 299 |
+
return ! $exitcode;
|
| 300 |
+
}
|
| 301 |
+
}
|
| 302 |
+
|
| 303 |
+
# look for the correct pwdcmd (pwd by default, pawd if it exists)
|
| 304 |
+
# I assume that pwd always exists
|
| 305 |
+
sub getPwdCmd(){
|
| 306 |
+
my $pwdcmd="pwd";
|
| 307 |
+
my $a;
|
| 308 |
+
chomp($a=`which pawd | head -1 | awk '{print $1}'`);
|
| 309 |
+
if ($a && -e $a){ $pwdcmd=$a; }
|
| 310 |
+
return $pwdcmd;
|
| 311 |
+
}
|
| 312 |
+
|
mosesdecoder/contrib/mert-sge-nosync/generic/qsub-wrapper-sge-nosync.pl
ADDED
|
@@ -0,0 +1,320 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
#! /usr/bin/perl
|
| 2 |
+
|
| 3 |
+
# $Id$
|
| 4 |
+
use strict;
|
| 5 |
+
|
| 6 |
+
#######################
|
| 7 |
+
#Default parameters
|
| 8 |
+
#parameters for submiiting processes through SGE
|
| 9 |
+
#NOTE: group name is ws06ossmt (with 2 's') and not ws06osmt (with 1 's')
|
| 10 |
+
my $queueparameters="";
|
| 11 |
+
|
| 12 |
+
# look for the correct pwdcmd
|
| 13 |
+
my $pwdcmd = getPwdCmd();
|
| 14 |
+
|
| 15 |
+
my $workingdir = `$pwdcmd`; chomp $workingdir;
|
| 16 |
+
|
| 17 |
+
my $uniqtime = `date +"%s%N"`; chomp $uniqtime;
|
| 18 |
+
my $uid = "$$".".".$uniqtime;
|
| 19 |
+
|
| 20 |
+
|
| 21 |
+
my $tmpdir="$workingdir/tmp$uid";
|
| 22 |
+
my $jobscript="$workingdir/job$uid.sh";
|
| 23 |
+
my $qsubout="$workingdir/out.job$uid";
|
| 24 |
+
my $qsuberr="$workingdir/err.job$uid";
|
| 25 |
+
|
| 26 |
+
|
| 27 |
+
$SIG{INT} = \&kill_all_and_quit; # catch exception for CTRL-C
|
| 28 |
+
|
| 29 |
+
my $help="";
|
| 30 |
+
my $dbg="";
|
| 31 |
+
my $version="";
|
| 32 |
+
my $qsubname="WR$uid";
|
| 33 |
+
my $cmd="";
|
| 34 |
+
my $cmdout=undef;
|
| 35 |
+
my $cmderr=undef;
|
| 36 |
+
my $jidfile=undef;
|
| 37 |
+
my $pidfile=undef;
|
| 38 |
+
my $prevjid=undef;
|
| 39 |
+
my $parameters="";
|
| 40 |
+
my $old_sge = 0; # assume grid engine < 6.0
|
| 41 |
+
my $prevjidarraysize = 0;
|
| 42 |
+
my @prevjidarray = ();
|
| 43 |
+
|
| 44 |
+
sub init(){
|
| 45 |
+
use Getopt::Long qw(:config pass_through);
|
| 46 |
+
GetOptions('version'=>\$version,
|
| 47 |
+
'help'=>\$help,
|
| 48 |
+
'debug'=>\$dbg,
|
| 49 |
+
'qsub-prefix=s'=> \$qsubname,
|
| 50 |
+
'command=s'=> \$cmd,
|
| 51 |
+
'stdout=s'=> \$cmdout,
|
| 52 |
+
'stderr=s'=> \$cmderr,
|
| 53 |
+
'jidfile=s'=> \$jidfile,
|
| 54 |
+
'prevjid=s'=> \$prevjid,
|
| 55 |
+
'queue-parameters=s'=> \$queueparameters,
|
| 56 |
+
'old-sge' => \$old_sge,
|
| 57 |
+
) or exit(1);
|
| 58 |
+
$parameters="@ARGV";
|
| 59 |
+
|
| 60 |
+
# print STDERR "INPUT prevjid =+$prevjid+\n";
|
| 61 |
+
$prevjid =~ s/^\s+|\s+$//g;
|
| 62 |
+
# print STDERR "TRIMMED prevjid =+$prevjid+\n";
|
| 63 |
+
|
| 64 |
+
@prevjidarray = split(/\s+/,$prevjid);
|
| 65 |
+
$prevjidarraysize = scalar(@prevjidarray);
|
| 66 |
+
|
| 67 |
+
# print STDERR "arraysize: $prevjidarraysize\n";
|
| 68 |
+
|
| 69 |
+
|
| 70 |
+
|
| 71 |
+
|
| 72 |
+
version() if $version;
|
| 73 |
+
usage() if $help;
|
| 74 |
+
print_parameters() if $dbg;
|
| 75 |
+
}
|
| 76 |
+
|
| 77 |
+
#######################
|
| 78 |
+
##print version
|
| 79 |
+
sub version(){
|
| 80 |
+
# print STDERR "version 1.0 (29-07-2006)\n";
|
| 81 |
+
print STDERR "version 1.1 (31-07-2006)\n";
|
| 82 |
+
exit(1);
|
| 83 |
+
}
|
| 84 |
+
|
| 85 |
+
#usage
|
| 86 |
+
sub usage(){
|
| 87 |
+
print STDERR "qsub-wrapper.pl [options]\n";
|
| 88 |
+
print STDERR "Options:\n";
|
| 89 |
+
print STDERR "-command <file> command to run\n";
|
| 90 |
+
print STDERR "-stdout <file> file to save stdout of cmd (optional)\n";
|
| 91 |
+
print STDERR "-stderr <file> file to save stderr of cmd (optional)\n";
|
| 92 |
+
print STDERR "-jidfile <file> file to save the submit jobid (for submit option)\n";
|
| 93 |
+
print STDERR "-prevjid <id> wait for the previous job with jobid=id to finish before starting (optional)\n";
|
| 94 |
+
print STDERR "-qsub-prefix <string> name for sumbitted jobs (optional)\n";
|
| 95 |
+
print STDERR "-queue-parameters <string> parameter for the queue (optional)\n";
|
| 96 |
+
print STDERR "-old-sge ... assume Sun Grid Engine < 6.0\n";
|
| 97 |
+
print STDERR "-debug debug\n";
|
| 98 |
+
print STDERR "-version print version of the script\n";
|
| 99 |
+
print STDERR "-help this help\n";
|
| 100 |
+
exit(1);
|
| 101 |
+
}
|
| 102 |
+
|
| 103 |
+
#printparameters
|
| 104 |
+
sub print_parameters(){
|
| 105 |
+
print STDERR "command: $cmd\n";
|
| 106 |
+
if (defined($cmdout)){ print STDERR "file for stdout: $cmdout\n"; }
|
| 107 |
+
else { print STDERR "file for stdout is not defined, stdout is discarded\n"; }
|
| 108 |
+
if (defined($cmderr)){ print STDERR "file for stdout: $cmderr\n"; }
|
| 109 |
+
else { print STDERR "file for stderr is not defined, stderr is discarded\n"; }
|
| 110 |
+
if (defined($jidfile)){ print STDERR "file for submit job id: $jidfile\n"; }
|
| 111 |
+
else { print STDERR "file for submit job id is not defined, jidfile is discarded\n"; }
|
| 112 |
+
print STDERR "Qsub name: $qsubname\n";
|
| 113 |
+
print STDERR "Queue parameters: $queueparameters\n";
|
| 114 |
+
print STDERR "parameters directly passed to cmd: $parameters\n";
|
| 115 |
+
exit(1);
|
| 116 |
+
}
|
| 117 |
+
|
| 118 |
+
#script creation
|
| 119 |
+
sub preparing_script(){
|
| 120 |
+
my $scriptheader="\#\!/bin/bash\n# the above line is ignored by qsub, unless parameter \"-b yes\" is set!\n\n";
|
| 121 |
+
$scriptheader.="uname -a\n\n";
|
| 122 |
+
|
| 123 |
+
$scriptheader.="cd $workingdir\n\n";
|
| 124 |
+
|
| 125 |
+
open (OUT, "> $jobscript");
|
| 126 |
+
print OUT $scriptheader;
|
| 127 |
+
|
| 128 |
+
print OUT "if $cmd $parameters > $tmpdir/cmdout$uid 2> $tmpdir/cmderr$uid ; then
|
| 129 |
+
echo 'succeeded'
|
| 130 |
+
else
|
| 131 |
+
echo failed with exit status \$\?
|
| 132 |
+
die=1
|
| 133 |
+
fi
|
| 134 |
+
";
|
| 135 |
+
|
| 136 |
+
if (defined $cmdout){
|
| 137 |
+
print OUT "mv -f $tmpdir/cmdout$uid $cmdout || echo failed to preserve the log: $tmpdir/cmdout$uid\n\n";
|
| 138 |
+
}
|
| 139 |
+
else{
|
| 140 |
+
print OUT "rm -f $tmpdir/cmdout$uid\n\n";
|
| 141 |
+
}
|
| 142 |
+
|
| 143 |
+
if (defined $cmderr){
|
| 144 |
+
print OUT "mv -f $tmpdir/cmderr$uid $cmderr || echo failed to preserve the log: $tmpdir/cmderr$uid\n\n";
|
| 145 |
+
}
|
| 146 |
+
else{
|
| 147 |
+
print OUT "rm -f $tmpdir/cmderr$uid\n\n";
|
| 148 |
+
}
|
| 149 |
+
print OUT "if [ x\$die == 1 ]; then exit 1; fi\n";
|
| 150 |
+
close(OUT);
|
| 151 |
+
|
| 152 |
+
#setting permissions of the script
|
| 153 |
+
chmod(oct(755),$jobscript);
|
| 154 |
+
}
|
| 155 |
+
|
| 156 |
+
#######################
|
| 157 |
+
#Script starts here
|
| 158 |
+
|
| 159 |
+
init();
|
| 160 |
+
|
| 161 |
+
usage() if $cmd eq "";
|
| 162 |
+
|
| 163 |
+
safesystem("mkdir -p $tmpdir") or die;
|
| 164 |
+
|
| 165 |
+
preparing_script();
|
| 166 |
+
|
| 167 |
+
# my $maysync = $old_sge ? "" : "-sync y";
|
| 168 |
+
# never run in syn mode
|
| 169 |
+
my $maysync = "";
|
| 170 |
+
|
| 171 |
+
my $qsubcmd = "";
|
| 172 |
+
# create the qsubcmd to submit to the queue with the parameter "-b yes"
|
| 173 |
+
#my $qsubcmd="qsub $queueparameters $maysync -V -o $qsubout -e $qsuberr -N $qsubname -b yes $jobscript > $jobscript.log 2>&1";
|
| 174 |
+
|
| 175 |
+
# add -b yes if not yet defined, otherwise leave empty
|
| 176 |
+
$queueparameters .= " -b yes " if (index($queueparameters," -b ")==-1);
|
| 177 |
+
|
| 178 |
+
|
| 179 |
+
if (defined $prevjid && $prevjid!=-1 && $prevjidarraysize == 1) {
|
| 180 |
+
$qsubcmd="qsub $queueparameters $maysync -V -hold_jid $prevjid -o $qsubout -e $qsuberr -N $qsubname $jobscript > $jobscript.log 2>&1";
|
| 181 |
+
} elsif (defined $prevjid && $prevjidarraysize > 1) {
|
| 182 |
+
my $hj = "-hold_jid " . join(" -hold_jid ", @prevjidarray);
|
| 183 |
+
# print STDERR "hj is $hj\n";
|
| 184 |
+
$qsubcmd="qsub $queueparameters $maysync -V $hj -o $qsubout -e $qsuberr -N $qsubname $jobscript > $jobscript.log 2>&1";
|
| 185 |
+
} else {
|
| 186 |
+
$qsubcmd="qsub $queueparameters $maysync -V -o $qsubout -e $qsuberr -N $qsubname $jobscript > $jobscript.log 2>&1";
|
| 187 |
+
}
|
| 188 |
+
|
| 189 |
+
print "submitting $qsubcmd\n";
|
| 190 |
+
|
| 191 |
+
#run the qsubcmd
|
| 192 |
+
|
| 193 |
+
safesystem($qsubcmd) or die;
|
| 194 |
+
|
| 195 |
+
#getting id of submitted job#############
|
| 196 |
+
my $res;
|
| 197 |
+
open (IN,"$jobscript.log") or die "Can't read main job id: $jobscript.log";
|
| 198 |
+
chomp($res=<IN>);
|
| 199 |
+
my @arrayStr = split(/\s+/,$res);
|
| 200 |
+
my $id=$arrayStr[2];
|
| 201 |
+
die "Failed to get job id from $jobscript.log, got: $res"
|
| 202 |
+
if $id !~ /^[0-9]+$/;
|
| 203 |
+
close(IN);
|
| 204 |
+
#########################################
|
| 205 |
+
print STDERR " res:$res\n";
|
| 206 |
+
print STDERR " id:$id\n";
|
| 207 |
+
|
| 208 |
+
open (JIDOUT,">$jidfile") or die "Can't open jid file to write";
|
| 209 |
+
print JIDOUT "$id\n";
|
| 210 |
+
close(JIDOUT);
|
| 211 |
+
|
| 212 |
+
open (PIDOUT,">$jidfile.pid") or die "Can't open id.pid file to write";
|
| 213 |
+
print PIDOUT "$uid\n";
|
| 214 |
+
close(PIDOUT);
|
| 215 |
+
|
| 216 |
+
if ($old_sge) {
|
| 217 |
+
# need to workaround -sync, add another job that will wait for the main one
|
| 218 |
+
# prepare a fake waiting script
|
| 219 |
+
my $syncscript = "$jobscript.sync_workaround_script.sh";
|
| 220 |
+
safesystem("echo 'date' > $syncscript") or die;
|
| 221 |
+
|
| 222 |
+
my $checkpointfile = "$jobscript.sync_workaround_checkpoint";
|
| 223 |
+
|
| 224 |
+
# ensure checkpoint does not exist
|
| 225 |
+
safesystem("\\rm -f $checkpointfile") or die;
|
| 226 |
+
|
| 227 |
+
# start the 'hold' job, i.e. the job that will wait
|
| 228 |
+
# $cmd="qsub -cwd $queueparameters -hold_jid $id -o $checkpointfile -e /dev/null -N $qsubname.W $syncscript >& $qsubname.W.log";
|
| 229 |
+
$cmd="qsub -cwd $queueparameters -hold_jid $id -o $checkpointfile -e /dev/null -N $qsubname.W $syncscript >& $qsubname.W.log";
|
| 230 |
+
safesystem($cmd) or die;
|
| 231 |
+
|
| 232 |
+
# and wait for checkpoint file to appear
|
| 233 |
+
my $nr=0;
|
| 234 |
+
while (!-e $checkpointfile) {
|
| 235 |
+
sleep(10);
|
| 236 |
+
$nr++;
|
| 237 |
+
print STDERR "w" if $nr % 3 == 0;
|
| 238 |
+
}
|
| 239 |
+
safesystem("\\rm -f $checkpointfile $syncscript") or die();
|
| 240 |
+
print STDERR "End of waiting workaround.\n";
|
| 241 |
+
}
|
| 242 |
+
|
| 243 |
+
|
| 244 |
+
|
| 245 |
+
|
| 246 |
+
# my $failure=&check_exit_status();
|
| 247 |
+
# print STDERR "check_exit_status returned $failure\n";
|
| 248 |
+
|
| 249 |
+
# &kill_all_and_quit() if $failure;
|
| 250 |
+
|
| 251 |
+
# &remove_temporary_files() if !$dbg;
|
| 252 |
+
|
| 253 |
+
|
| 254 |
+
|
| 255 |
+
|
| 256 |
+
|
| 257 |
+
|
| 258 |
+
|
| 259 |
+
sub check_exit_status(){
|
| 260 |
+
my $failure=0;
|
| 261 |
+
|
| 262 |
+
print STDERR "check_exit_status of submitted job $id\n";
|
| 263 |
+
open(IN,"$qsubout") or die "Can't read $qsubout";
|
| 264 |
+
while (<IN>){
|
| 265 |
+
$failure=1 if (/failed with exit status/);
|
| 266 |
+
}
|
| 267 |
+
close(IN);
|
| 268 |
+
return $failure;
|
| 269 |
+
}
|
| 270 |
+
|
| 271 |
+
sub kill_all_and_quit(){
|
| 272 |
+
print STDERR "kill_all_and_quit\n";
|
| 273 |
+
print STDERR "qdel $id\n";
|
| 274 |
+
safesystem("qdel $id");
|
| 275 |
+
|
| 276 |
+
print STDERR "The submitted jobs died not correctly\n";
|
| 277 |
+
print STDERR "Send qdel signal to the submitted jobs\n";
|
| 278 |
+
|
| 279 |
+
exit(1);
|
| 280 |
+
}
|
| 281 |
+
|
| 282 |
+
sub remove_temporary_files(){
|
| 283 |
+
#removing temporary files
|
| 284 |
+
|
| 285 |
+
unlink("${jobscript}");
|
| 286 |
+
unlink("${jobscript}.log");
|
| 287 |
+
unlink("$qsubout");
|
| 288 |
+
unlink("$qsuberr");
|
| 289 |
+
rmdir("$tmpdir");
|
| 290 |
+
}
|
| 291 |
+
|
| 292 |
+
sub safesystem {
|
| 293 |
+
print STDERR "Executing: @_\n";
|
| 294 |
+
system(@_);
|
| 295 |
+
if ($? == -1) {
|
| 296 |
+
print STDERR "Failed to execute: @_\n $!\n";
|
| 297 |
+
exit(1);
|
| 298 |
+
}
|
| 299 |
+
elsif ($? & 127) {
|
| 300 |
+
printf STDERR "Execution of: @_\n died with signal %d, %s coredump\n",
|
| 301 |
+
($? & 127), ($? & 128) ? 'with' : 'without';
|
| 302 |
+
exit(1);
|
| 303 |
+
}
|
| 304 |
+
else {
|
| 305 |
+
my $exitcode = $? >> 8;
|
| 306 |
+
print STDERR "Exit code: $exitcode\n" if $exitcode;
|
| 307 |
+
return ! $exitcode;
|
| 308 |
+
}
|
| 309 |
+
}
|
| 310 |
+
|
| 311 |
+
# look for the correct pwdcmd (pwd by default, pawd if it exists)
|
| 312 |
+
# I assume that pwd always exists
|
| 313 |
+
sub getPwdCmd(){
|
| 314 |
+
my $pwdcmd="pwd";
|
| 315 |
+
my $a;
|
| 316 |
+
chomp($a=`which pawd | head -1 | awk '{print $1}'`);
|
| 317 |
+
if ($a && -e $a){ $pwdcmd=$a; }
|
| 318 |
+
return $pwdcmd;
|
| 319 |
+
}
|
| 320 |
+
|
mosesdecoder/contrib/mert-sge-nosync/training/mert-moses-sge-nosync.pl
ADDED
|
@@ -0,0 +1,1633 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
#! /usr/bin/perl -w
|
| 2 |
+
# $Id$
|
| 3 |
+
# Usage:
|
| 4 |
+
# mert-moses.pl <foreign> <english> <decoder-executable> <decoder-config>
|
| 5 |
+
# For other options see below or run 'mert-moses.pl --help'
|
| 6 |
+
|
| 7 |
+
# Notes:
|
| 8 |
+
# <foreign> and <english> should be raw text files, one sentence per line
|
| 9 |
+
# <english> can be a prefix, in which case the files are <english>0, <english>1, etc. are used
|
| 10 |
+
|
| 11 |
+
# Excerpts from revision history
|
| 12 |
+
|
| 13 |
+
# Sept 2011 multi-threaded mert (Barry Haddow)
|
| 14 |
+
# 3 Aug 2011 Added random directions, historic best, pairwise ranked (PK)
|
| 15 |
+
# Jul 2011 simplifications (Ondrej Bojar)
|
| 16 |
+
# -- rely on moses' -show-weights instead of parsing moses.ini
|
| 17 |
+
# ... so moses is also run once *before* mert starts, checking
|
| 18 |
+
# the model to some extent
|
| 19 |
+
# -- got rid of the 'triples' mess;
|
| 20 |
+
# use --range to supply bounds for random starting values:
|
| 21 |
+
# --range tm:-3..3 --range lm:-3..3
|
| 22 |
+
# 5 Aug 2009 Handling with different reference length policies (shortest, average, closest) for BLEU
|
| 23 |
+
# and case-sensistive/insensitive evaluation (Nicola Bertoldi)
|
| 24 |
+
# 5 Jun 2008 Forked previous version to support new mert implementation.
|
| 25 |
+
# 13 Feb 2007 Better handling of default values for lambda, now works with multiple
|
| 26 |
+
# models and lexicalized reordering
|
| 27 |
+
# 11 Oct 2006 Handle different input types through parameter --inputype=[0|1]
|
| 28 |
+
# (0 for text, 1 for confusion network, default is 0) (Nicola Bertoldi)
|
| 29 |
+
# 10 Oct 2006 Allow skip of filtering of phrase tables (--no-filter-phrase-table)
|
| 30 |
+
# useful if binary phrase tables are used (Nicola Bertoldi)
|
| 31 |
+
# 28 Aug 2006 Use either closest or average or shortest (default) reference
|
| 32 |
+
# length as effective reference length
|
| 33 |
+
# Use either normalization or not (default) of texts (Nicola Bertoldi)
|
| 34 |
+
# 31 Jul 2006 move gzip run*.out to avoid failure wit restartings
|
| 35 |
+
# adding default paths
|
| 36 |
+
# 29 Jul 2006 run-filter, score-nbest and mert run on the queue (Nicola; Ondrej had to type it in again)
|
| 37 |
+
# 28 Jul 2006 attempt at foolproof usage, strong checking of input validity, merged the parallel and nonparallel version (Ondrej Bojar)
|
| 38 |
+
# 27 Jul 2006 adding the safesystem() function to handle with process failure
|
| 39 |
+
# 22 Jul 2006 fixed a bug about handling relative path of configuration file (Nicola Bertoldi)
|
| 40 |
+
# 21 Jul 2006 adapted for Moses-in-parallel (Nicola Bertoldi)
|
| 41 |
+
# 18 Jul 2006 adapted for Moses and cleaned up (PK)
|
| 42 |
+
# 21 Jan 2005 unified various versions, thorough cleanup (DWC)
|
| 43 |
+
# now indexing accumulated n-best list solely by feature vectors
|
| 44 |
+
# 14 Dec 2004 reimplemented find_threshold_points in C (NMD)
|
| 45 |
+
# 25 Oct 2004 Use either average or shortest (default) reference
|
| 46 |
+
# length as effective reference length (DWC)
|
| 47 |
+
# 13 Oct 2004 Use alternative decoders (DWC)
|
| 48 |
+
# Original version by Philipp Koehn
|
| 49 |
+
|
| 50 |
+
use strict;
|
| 51 |
+
use Net::OpenSSH::Compat::Perl;
|
| 52 |
+
use FindBin qw($Bin);
|
| 53 |
+
use File::Basename;
|
| 54 |
+
use File::Path;
|
| 55 |
+
use File::Spec;
|
| 56 |
+
use Cwd;
|
| 57 |
+
|
| 58 |
+
my $SCRIPTS_ROOTDIR = $Bin;
|
| 59 |
+
$SCRIPTS_ROOTDIR =~ s/\/training$//;
|
| 60 |
+
$SCRIPTS_ROOTDIR = $ENV{"SCRIPTS_ROOTDIR"} if defined($ENV{"SCRIPTS_ROOTDIR"});
|
| 61 |
+
|
| 62 |
+
## We preserve this bit of comments to keep the traditional weight ranges.
|
| 63 |
+
# "w" => [ [ 0.0, -1.0, 1.0 ] ], # word penalty
|
| 64 |
+
# "d" => [ [ 1.0, 0.0, 2.0 ] ], # lexicalized reordering model
|
| 65 |
+
# "lm" => [ [ 1.0, 0.0, 2.0 ] ], # language model
|
| 66 |
+
# "g" => [ [ 1.0, 0.0, 2.0 ], # generation model
|
| 67 |
+
# [ 1.0, 0.0, 2.0 ] ],
|
| 68 |
+
# "tm" => [ [ 0.3, 0.0, 0.5 ], # translation model
|
| 69 |
+
# [ 0.2, 0.0, 0.5 ],
|
| 70 |
+
# [ 0.3, 0.0, 0.5 ],
|
| 71 |
+
# [ 0.2, 0.0, 0.5 ],
|
| 72 |
+
# [ 0.0,-1.0, 1.0 ] ], # ... last weight is phrase penalty
|
| 73 |
+
# "lex"=> [ [ 0.1, 0.0, 0.2 ] ], # global lexical model
|
| 74 |
+
# "I" => [ [ 0.0,-1.0, 1.0 ] ], # input lattice scores
|
| 75 |
+
|
| 76 |
+
|
| 77 |
+
|
| 78 |
+
# moses.ini file uses FULL names for lambdas, while this training script
|
| 79 |
+
# internally (and on the command line) uses ABBR names.
|
| 80 |
+
my @ABBR_FULL_MAP = qw(d=weight-d lm=weight-l tm=weight-t w=weight-w
|
| 81 |
+
g=weight-generation lex=weight-lex I=weight-i);
|
| 82 |
+
my %ABBR2FULL = map {split/=/,$_,2} @ABBR_FULL_MAP;
|
| 83 |
+
my %FULL2ABBR = map {my ($a, $b) = split/=/,$_,2; ($b, $a);} @ABBR_FULL_MAP;
|
| 84 |
+
|
| 85 |
+
my $minimum_required_change_in_weights = 0.00001;
|
| 86 |
+
# stop if no lambda changes more than this
|
| 87 |
+
|
| 88 |
+
my $verbose = 0;
|
| 89 |
+
my $usage = 0; # request for --help
|
| 90 |
+
|
| 91 |
+
# We assume that if you don't specify working directory,
|
| 92 |
+
# we set the default is set to `pwd`/mert-work
|
| 93 |
+
|
| 94 |
+
my $___FIRSTJOBWAITID = undef; # wait for a job in the grid before first job starts
|
| 95 |
+
|
| 96 |
+
my $___WORKING_DIR = File::Spec->catfile(Cwd::getcwd(), "mert-work");
|
| 97 |
+
my $___DEV_F = undef; # required, input text to decode
|
| 98 |
+
my $___DEV_E = undef; # required, basename of files with references
|
| 99 |
+
my $___DECODER = undef; # required, pathname to the decoder executable
|
| 100 |
+
my $___CONFIG = undef; # required, pathname to startup ini file
|
| 101 |
+
my $___N_BEST_LIST_SIZE = 100;
|
| 102 |
+
my $___LATTICE_SAMPLES = 0;
|
| 103 |
+
my $queue_flags = "-hard"; # extra parameters for parallelizer
|
| 104 |
+
# the -l ws0ssmt was relevant only to JHU 2006 workshop
|
| 105 |
+
my $___JOBS = undef; # if parallel, number of jobs to use (undef or 0 -> serial)
|
| 106 |
+
my $___DECODER_FLAGS = ""; # additional parametrs to pass to the decoder
|
| 107 |
+
my $qsubprefix = "";
|
| 108 |
+
my $continue = 0; # should we try to continue from the last saved step?
|
| 109 |
+
my $skip_decoder = 0; # and should we skip the first decoder run (assuming we got interrupted during mert)
|
| 110 |
+
my $___FILTER_PHRASE_TABLE = 1; # filter phrase table
|
| 111 |
+
my $___PREDICTABLE_SEEDS = 0;
|
| 112 |
+
my $___START_WITH_HISTORIC_BESTS = 0; # use best settings from all previous iterations as starting points [Foster&Kuhn,2009]
|
| 113 |
+
my $___RANDOM_DIRECTIONS = 0; # search in random directions only
|
| 114 |
+
my $___NUM_RANDOM_DIRECTIONS = 0; # number of random directions, also works with default optimizer [Cer&al.,2008]
|
| 115 |
+
my $___PAIRWISE_RANKED_OPTIMIZER = 0; # use Hopkins&May[2011]
|
| 116 |
+
my $___PRO_STARTING_POINT = 0; # get a starting point from pairwise ranked optimizer
|
| 117 |
+
my $___RANDOM_RESTARTS = 20;
|
| 118 |
+
my $___HISTORIC_INTERPOLATION = 0; # interpolate optimize weights with previous iteration's weights [Hopkins&May,2011,5.4.3]
|
| 119 |
+
my $__THREADS = 0;
|
| 120 |
+
|
| 121 |
+
# Parameter for effective reference length when computing BLEU score
|
| 122 |
+
# Default is to use shortest reference
|
| 123 |
+
# Use "--shortest" to use shortest reference length
|
| 124 |
+
# Use "--average" to use average reference length
|
| 125 |
+
# Use "--closest" to use closest reference length
|
| 126 |
+
# Only one between --shortest, --average and --closest can be set
|
| 127 |
+
# If more than one choice the defualt (--shortest) is used
|
| 128 |
+
my $___SHORTEST = 0;
|
| 129 |
+
my $___AVERAGE = 0;
|
| 130 |
+
my $___CLOSEST = 0;
|
| 131 |
+
|
| 132 |
+
# Use "--nocase" to compute case-insensitive scores
|
| 133 |
+
my $___NOCASE = 0;
|
| 134 |
+
|
| 135 |
+
# Use "--nonorm" to non normalize translation before computing scores
|
| 136 |
+
my $___NONORM = 0;
|
| 137 |
+
|
| 138 |
+
# set 0 if input type is text, set 1 if input type is confusion network
|
| 139 |
+
my $___INPUTTYPE = 0;
|
| 140 |
+
|
| 141 |
+
|
| 142 |
+
my $mertdir = undef; # path to new mert directory
|
| 143 |
+
my $mertargs = undef; # args to pass through to mert & extractor
|
| 144 |
+
my $mertmertargs = undef; # args to pass through to mert only
|
| 145 |
+
my $extractorargs = undef; # args to pass through to extractor only
|
| 146 |
+
my $filtercmd = undef; # path to filter-model-given-input.pl
|
| 147 |
+
my $submithost = undef;
|
| 148 |
+
my $filterfile = undef;
|
| 149 |
+
my $qsubwrapper = undef;
|
| 150 |
+
my $qsubwrapper_exit = undef;
|
| 151 |
+
my $moses_parallel_cmd = undef;
|
| 152 |
+
my $poll_decoder_cmd = undef;
|
| 153 |
+
my $zipextcmd = undef;
|
| 154 |
+
my $zipextargs = undef;
|
| 155 |
+
my $processresultcmd = undef;
|
| 156 |
+
my $processresultargs = undef;
|
| 157 |
+
my $old_sge = 0; # assume sge<6.0
|
| 158 |
+
my $___CONFIG_ORIG = undef; # pathname to startup ini file before filtering
|
| 159 |
+
my $___ACTIVATE_FEATURES = undef; # comma-separated (or blank-separated) list of features to work on
|
| 160 |
+
# if undef work on all features
|
| 161 |
+
# (others are fixed to the starting values)
|
| 162 |
+
my $___RANGES = undef;
|
| 163 |
+
my $prev_aggregate_nbl_size = -1; # number of previous step to consider when loading data (default =-1)
|
| 164 |
+
# -1 means all previous, i.e. from iteration 1
|
| 165 |
+
# 0 means no previous data, i.e. from actual iteration
|
| 166 |
+
# 1 means 1 previous data , i.e. from the actual iteration and from the previous one
|
| 167 |
+
# and so on
|
| 168 |
+
my $maximum_iterations = 25;
|
| 169 |
+
my $cmd = undef;
|
| 170 |
+
|
| 171 |
+
#####################
|
| 172 |
+
my $processfeatlistcmd = undef;
|
| 173 |
+
my $processfeatlistargs = undef;
|
| 174 |
+
my $createconfigcmd = undef;
|
| 175 |
+
my $createconfigargs = undef;
|
| 176 |
+
my $decoderargs = undef;
|
| 177 |
+
#####################
|
| 178 |
+
|
| 179 |
+
use Getopt::Long;
|
| 180 |
+
GetOptions(
|
| 181 |
+
"prevjid=i" => \$___FIRSTJOBWAITID,
|
| 182 |
+
"working-dir=s" => \$___WORKING_DIR,
|
| 183 |
+
"input=s" => \$___DEV_F,
|
| 184 |
+
"inputtype=i" => \$___INPUTTYPE,
|
| 185 |
+
"refs=s" => \$___DEV_E,
|
| 186 |
+
"decoder=s" => \$___DECODER,
|
| 187 |
+
"config=s" => \$___CONFIG,
|
| 188 |
+
"nbest=i" => \$___N_BEST_LIST_SIZE,
|
| 189 |
+
"lattice-samples=i" => \$___LATTICE_SAMPLES,
|
| 190 |
+
"submithost=s" => \$submithost,
|
| 191 |
+
"queue-flags=s" => \$queue_flags,
|
| 192 |
+
"jobs=i" => \$___JOBS,
|
| 193 |
+
"decoder-flags=s" => \$___DECODER_FLAGS,
|
| 194 |
+
"continue" => \$continue,
|
| 195 |
+
"skip-decoder" => \$skip_decoder,
|
| 196 |
+
"shortest" => \$___SHORTEST,
|
| 197 |
+
"average" => \$___AVERAGE,
|
| 198 |
+
"closest" => \$___CLOSEST,
|
| 199 |
+
"nocase" => \$___NOCASE,
|
| 200 |
+
"nonorm" => \$___NONORM,
|
| 201 |
+
"help" => \$usage,
|
| 202 |
+
"verbose" => \$verbose,
|
| 203 |
+
"mertdir=s" => \$mertdir,
|
| 204 |
+
"mertargs=s" => \$mertargs,
|
| 205 |
+
"extractorargs=s" => \$extractorargs,
|
| 206 |
+
"mertmertargs=s" => \$mertmertargs,
|
| 207 |
+
"rootdir=s" => \$SCRIPTS_ROOTDIR,
|
| 208 |
+
"filtercmd=s" => \$filtercmd, # allow to override the default location
|
| 209 |
+
"filterfile=s" => \$filterfile, # input to filtering script (useful for lattices/confnets)
|
| 210 |
+
"qsubwrapper=s" => \$qsubwrapper, # allow to override the default location
|
| 211 |
+
"mosesparallelcmd=s" => \$moses_parallel_cmd, # allow to override the default location
|
| 212 |
+
"old-sge" => \$old_sge, #passed to moses-parallel
|
| 213 |
+
"filter-phrase-table!" => \$___FILTER_PHRASE_TABLE, # (dis)allow of phrase tables
|
| 214 |
+
"predictable-seeds" => \$___PREDICTABLE_SEEDS, # make random restarts deterministic
|
| 215 |
+
"historic-bests" => \$___START_WITH_HISTORIC_BESTS, # use best settings from all previous iterations as starting points
|
| 216 |
+
"random-directions" => \$___RANDOM_DIRECTIONS, # search only in random directions
|
| 217 |
+
"number-of-random-directions=i" => \$___NUM_RANDOM_DIRECTIONS, # number of random directions
|
| 218 |
+
"random-restarts=i" => \$___RANDOM_RESTARTS, # number of random restarts
|
| 219 |
+
"activate-features=s" => \$___ACTIVATE_FEATURES, #comma-separated (or blank-separated) list of features to work on (others are fixed to the starting values)
|
| 220 |
+
"range=s@" => \$___RANGES,
|
| 221 |
+
"prev-aggregate-nbestlist=i" => \$prev_aggregate_nbl_size, #number of previous step to consider when loading data (default =-1, i.e. all previous)
|
| 222 |
+
"maximum-iterations=i" => \$maximum_iterations,
|
| 223 |
+
"pairwise-ranked" => \$___PAIRWISE_RANKED_OPTIMIZER,
|
| 224 |
+
"pro-starting-point" => \$___PRO_STARTING_POINT,
|
| 225 |
+
"historic-interpolation=f" => \$___HISTORIC_INTERPOLATION,
|
| 226 |
+
"threads=i" => \$__THREADS
|
| 227 |
+
) or exit(1);
|
| 228 |
+
|
| 229 |
+
# the 4 required parameters can be supplied on the command line directly
|
| 230 |
+
# or using the --options
|
| 231 |
+
if (scalar @ARGV == 4) {
|
| 232 |
+
# required parameters: input_file references_basename decoder_executable
|
| 233 |
+
$___DEV_F = shift;
|
| 234 |
+
$___DEV_E = shift;
|
| 235 |
+
$___DECODER = shift;
|
| 236 |
+
$___CONFIG = shift;
|
| 237 |
+
}
|
| 238 |
+
|
| 239 |
+
if ($usage || !defined $___DEV_F || !defined $___DEV_E || !defined $___DECODER || !defined $___CONFIG) {
|
| 240 |
+
print STDERR "usage: $0 input-text references decoder-executable decoder.ini
|
| 241 |
+
Options:
|
| 242 |
+
--prevjid=i ... previous job SGE ID to wait before first job starts
|
| 243 |
+
--working-dir=mert-dir ... where all the files are created
|
| 244 |
+
--nbest=100 ... how big nbestlist to generate
|
| 245 |
+
--lattice-samples ... how many lattice samples (Chatterjee & Cancedda, emnlp 2010)
|
| 246 |
+
--jobs=N ... set this to anything to run moses in parallel
|
| 247 |
+
--mosesparallelcmd=STR ... use a different script instead of moses-parallel
|
| 248 |
+
--submithost=STRING ... submithost from where qsub operates
|
| 249 |
+
--queue-flags=STRING ... anything you with to pass to qsub, eg.
|
| 250 |
+
'-l ws06osssmt=true'. The default is: '-hard'
|
| 251 |
+
To reset the parameters, please use
|
| 252 |
+
--queue-flags=' '
|
| 253 |
+
(i.e. a space between the quotes).
|
| 254 |
+
--decoder-flags=STRING ... extra parameters for the decoder
|
| 255 |
+
--continue ... continue from the last successful iteration
|
| 256 |
+
--skip-decoder ... skip the decoder run for the first time,
|
| 257 |
+
assuming that we got interrupted during
|
| 258 |
+
optimization
|
| 259 |
+
--shortest --average --closest
|
| 260 |
+
... Use shortest/average/closest reference length
|
| 261 |
+
as effective reference length (mutually exclusive)
|
| 262 |
+
--nocase ... Do not preserve case information; i.e.
|
| 263 |
+
case-insensitive evaluation (default is false).
|
| 264 |
+
--nonorm ... Do not use text normalization (flag is not active,
|
| 265 |
+
i.e. text is NOT normalized)
|
| 266 |
+
--filtercmd=STRING ... path to filter-model-given-input.pl
|
| 267 |
+
--filterfile=STRING ... path to alternative to input-text for filtering
|
| 268 |
+
model. useful for lattice decoding
|
| 269 |
+
--rootdir=STRING ... where do helpers reside (if not given explicitly)
|
| 270 |
+
--mertdir=STRING ... path to new mert implementation
|
| 271 |
+
--mertargs=STRING ... extra args for both extractor and mert
|
| 272 |
+
--extractorargs=STRING ... extra args for extractor only
|
| 273 |
+
--mertmertargs=STRING ... extra args for mert only
|
| 274 |
+
--scorenbestcmd=STRING ... path to score-nbest.py
|
| 275 |
+
--old-sge ... passed to parallelizers, assume Grid Engine < 6.0
|
| 276 |
+
--inputtype=[0|1|2] ... Handle different input types: (0 for text,
|
| 277 |
+
1 for confusion network, 2 for lattices,
|
| 278 |
+
default is 0)
|
| 279 |
+
--no-filter-phrase-table ... disallow filtering of phrase tables
|
| 280 |
+
(useful if binary phrase tables are available)
|
| 281 |
+
--random-restarts=INT ... number of random restarts (default: 20)
|
| 282 |
+
--predictable-seeds ... provide predictable seeds to mert so that random
|
| 283 |
+
restarts are the same on every run
|
| 284 |
+
--range=tm:0..1,-1..1 ... specify min and max value for some features
|
| 285 |
+
--range can be repeated as needed.
|
| 286 |
+
The order of the various --range specifications
|
| 287 |
+
is important only within a feature name.
|
| 288 |
+
E.g.:
|
| 289 |
+
--range=tm:0..1,-1..1 --range=tm:0..2
|
| 290 |
+
is identical to:
|
| 291 |
+
--range=tm:0..1,-1..1,0..2
|
| 292 |
+
but not to:
|
| 293 |
+
--range=tm:0..2 --range=tm:0..1,-1..1
|
| 294 |
+
--activate-features=STRING ... comma-separated list of features to optimize,
|
| 295 |
+
others are fixed to the starting values
|
| 296 |
+
default: optimize all features
|
| 297 |
+
example: tm_0,tm_4,d_0
|
| 298 |
+
--prev-aggregate-nbestlist=INT ... number of previous step to consider when
|
| 299 |
+
loading data (default = $prev_aggregate_nbl_size)
|
| 300 |
+
-1 means all previous, i.e. from iteration 1
|
| 301 |
+
0 means no previous data, i.e. only the
|
| 302 |
+
current iteration
|
| 303 |
+
N means this and N previous iterations
|
| 304 |
+
|
| 305 |
+
--maximum-iterations=ITERS ... Maximum number of iterations. Default: $maximum_iterations
|
| 306 |
+
--random-directions ... search only in random directions
|
| 307 |
+
--number-of-random-directions=int ... number of random directions
|
| 308 |
+
(also works with regular optimizer, default: 0)
|
| 309 |
+
--pairwise-ranked ... Use PRO for optimisation (Hopkins and May, emnlp 2011)
|
| 310 |
+
--pro-starting-point ... Use PRO to get a starting point for MERT
|
| 311 |
+
--threads=NUMBER ... Use multi-threaded mert (must be compiled in).
|
| 312 |
+
--historic-interpolation ... Interpolate optimized weights with prior iterations' weight
|
| 313 |
+
(parameter sets factor [0;1] given to current weights)
|
| 314 |
+
";
|
| 315 |
+
exit 1;
|
| 316 |
+
}
|
| 317 |
+
|
| 318 |
+
|
| 319 |
+
# Check validity of input parameters and set defaults if needed
|
| 320 |
+
|
| 321 |
+
print STDERR "Using SCRIPTS_ROOTDIR: $SCRIPTS_ROOTDIR\n";
|
| 322 |
+
|
| 323 |
+
# path of script for filtering phrase tables and running the decoder
|
| 324 |
+
$filtercmd="$SCRIPTS_ROOTDIR/training/filter-model-given-input.pl" if !defined $filtercmd;
|
| 325 |
+
|
| 326 |
+
if ( ! -x $filtercmd && ! $___FILTER_PHRASE_TABLE) {
|
| 327 |
+
print STDERR "Filtering command not found: $filtercmd.\n";
|
| 328 |
+
print STDERR "Use --filtercmd=PATH to specify a valid one or --no-filter-phrase-table\n";
|
| 329 |
+
exit 1;
|
| 330 |
+
}
|
| 331 |
+
|
| 332 |
+
$qsubwrapper = "$SCRIPTS_ROOTDIR/generic/qsub-wrapper-sge-nosync.pl" if !defined $qsubwrapper;
|
| 333 |
+
|
| 334 |
+
$qsubwrapper_exit = "$SCRIPTS_ROOTDIR/generic/qsub-wrapper-exit-sge-nosync.pl" if !defined $qsubwrapper_exit;
|
| 335 |
+
|
| 336 |
+
$moses_parallel_cmd = "$SCRIPTS_ROOTDIR/generic/moses-parallel-sge-nosync.pl"
|
| 337 |
+
if !defined $moses_parallel_cmd;
|
| 338 |
+
|
| 339 |
+
if (!defined $mertdir) {
|
| 340 |
+
$mertdir = "$SCRIPTS_ROOTDIR/../mert";
|
| 341 |
+
print STDERR "Assuming --mertdir=$mertdir\n";
|
| 342 |
+
}
|
| 343 |
+
|
| 344 |
+
my $mert_extract_cmd = "$mertdir/extractor";
|
| 345 |
+
my $mert_mert_cmd = "$mertdir/mert";
|
| 346 |
+
my $mert_pro_cmd = "$mertdir/pro";
|
| 347 |
+
|
| 348 |
+
die "Not executable: $mert_extract_cmd" if ! -x $mert_extract_cmd;
|
| 349 |
+
die "Not executable: $mert_mert_cmd" if ! -x $mert_mert_cmd;
|
| 350 |
+
die "Not executable: $mert_pro_cmd" if ! -x $mert_pro_cmd;
|
| 351 |
+
|
| 352 |
+
my $pro_optimizer = "$mertdir/megam_i686.opt"; # or set to your installation
|
| 353 |
+
if (($___PAIRWISE_RANKED_OPTIMIZER || $___PRO_STARTING_POINT) && ! -x $pro_optimizer) {
|
| 354 |
+
print "did not find $pro_optimizer, installing it in $mertdir\n";
|
| 355 |
+
`cd $mertdir; wget http://www.cs.utah.edu/~hal/megam/megam_i686.opt.gz;`;
|
| 356 |
+
`gunzip $pro_optimizer.gz`;
|
| 357 |
+
`chmod +x $pro_optimizer`;
|
| 358 |
+
die("ERROR: Installation of megam_i686.opt failed! Install by hand from http://www.cs.utah.edu/~hal/megam/") unless -x $pro_optimizer;
|
| 359 |
+
}
|
| 360 |
+
|
| 361 |
+
$mertargs = "" if !defined $mertargs;
|
| 362 |
+
|
| 363 |
+
my $scconfig = undef;
|
| 364 |
+
if ($mertargs =~ /\-\-scconfig\s+(.+?)(\s|$)/){
|
| 365 |
+
$scconfig=$1;
|
| 366 |
+
$scconfig =~ s/\,/ /g;
|
| 367 |
+
$mertargs =~ s/\-\-scconfig\s+(.+?)(\s|$)//;
|
| 368 |
+
}
|
| 369 |
+
|
| 370 |
+
# handling reference lengh strategy
|
| 371 |
+
if (($___CLOSEST + $___AVERAGE + $___SHORTEST) > 1){
|
| 372 |
+
die "You can specify just ONE reference length strategy (closest or shortest or average) not both\n";
|
| 373 |
+
}
|
| 374 |
+
|
| 375 |
+
if ($___SHORTEST){
|
| 376 |
+
$scconfig .= " reflen:shortest";
|
| 377 |
+
}elsif ($___AVERAGE){
|
| 378 |
+
$scconfig .= " reflen:average";
|
| 379 |
+
}elsif ($___CLOSEST){
|
| 380 |
+
$scconfig .= " reflen:closest";
|
| 381 |
+
}
|
| 382 |
+
|
| 383 |
+
# handling case-insensitive flag
|
| 384 |
+
if ($___NOCASE) {
|
| 385 |
+
$scconfig .= " case:false";
|
| 386 |
+
}else{
|
| 387 |
+
$scconfig .= " case:true";
|
| 388 |
+
}
|
| 389 |
+
$scconfig =~ s/^\s+//;
|
| 390 |
+
$scconfig =~ s/\s+$//;
|
| 391 |
+
$scconfig =~ s/\s+/,/g;
|
| 392 |
+
|
| 393 |
+
$scconfig = "--scconfig $scconfig" if ($scconfig);
|
| 394 |
+
|
| 395 |
+
my $mert_extract_args=$mertargs;
|
| 396 |
+
$mert_extract_args .=" $scconfig";
|
| 397 |
+
$mert_extract_args .=" $extractorargs";
|
| 398 |
+
|
| 399 |
+
$mertmertargs = "" if !defined $mertmertargs;
|
| 400 |
+
|
| 401 |
+
my $mert_mert_args="$mertargs $mertmertargs";
|
| 402 |
+
$mert_mert_args =~ s/\-+(binary|b)\b//;
|
| 403 |
+
$mert_mert_args .=" $scconfig";
|
| 404 |
+
if ($___ACTIVATE_FEATURES){ $mert_mert_args .=" -o \"$___ACTIVATE_FEATURES\""; }
|
| 405 |
+
|
| 406 |
+
my ($just_cmd_filtercmd,$x) = split(/ /,$filtercmd);
|
| 407 |
+
die "Not executable: $just_cmd_filtercmd" if ! -x $just_cmd_filtercmd;
|
| 408 |
+
die "Not executable: $moses_parallel_cmd" if defined $___JOBS && ! -x $moses_parallel_cmd;
|
| 409 |
+
die "Not executable: $qsubwrapper" if defined $___JOBS && ! -x $qsubwrapper;
|
| 410 |
+
die "Not executable: $___DECODER" if ! -x $___DECODER;
|
| 411 |
+
|
| 412 |
+
my $input_abs = ensure_full_path($___DEV_F);
|
| 413 |
+
die "File not found: $___DEV_F (interpreted as $input_abs)."
|
| 414 |
+
if ! -e $input_abs;
|
| 415 |
+
$___DEV_F = $input_abs;
|
| 416 |
+
|
| 417 |
+
# Option to pass to qsubwrapper and moses-parallel
|
| 418 |
+
my $pass_old_sge = $old_sge ? "-old-sge" : "";
|
| 419 |
+
|
| 420 |
+
my $decoder_abs = ensure_full_path($___DECODER);
|
| 421 |
+
die "File not executable: $___DECODER (interpreted as $decoder_abs)."
|
| 422 |
+
if ! -x $decoder_abs;
|
| 423 |
+
$___DECODER = $decoder_abs;
|
| 424 |
+
|
| 425 |
+
my $ref_abs = ensure_full_path($___DEV_E);
|
| 426 |
+
# check if English dev set (reference translations) exist and store a list of all references
|
| 427 |
+
my @references;
|
| 428 |
+
if (-e $ref_abs) {
|
| 429 |
+
push @references, $ref_abs;
|
| 430 |
+
}
|
| 431 |
+
else {
|
| 432 |
+
# if multiple file, get a full list of the files
|
| 433 |
+
my $part = 0;
|
| 434 |
+
if (! -e $ref_abs."0" && -e $ref_abs.".ref0") {
|
| 435 |
+
$ref_abs .= ".ref";
|
| 436 |
+
}
|
| 437 |
+
while (-e $ref_abs.$part) {
|
| 438 |
+
push @references, $ref_abs.$part;
|
| 439 |
+
$part++;
|
| 440 |
+
}
|
| 441 |
+
die("Reference translations not found: $___DEV_E (interpreted as $ref_abs)") unless $part;
|
| 442 |
+
}
|
| 443 |
+
|
| 444 |
+
my $config_abs = ensure_full_path($___CONFIG);
|
| 445 |
+
die "File not found: $___CONFIG (interpreted as $config_abs)."
|
| 446 |
+
if ! -e $config_abs;
|
| 447 |
+
$___CONFIG = $config_abs;
|
| 448 |
+
|
| 449 |
+
# moses should use our config
|
| 450 |
+
if ($___DECODER_FLAGS =~ /(^|\s)-(config|f) /
|
| 451 |
+
|| $___DECODER_FLAGS =~ /(^|\s)-(ttable-file|t) /
|
| 452 |
+
|| $___DECODER_FLAGS =~ /(^|\s)-(distortion-file) /
|
| 453 |
+
|| $___DECODER_FLAGS =~ /(^|\s)-(generation-file) /
|
| 454 |
+
|| $___DECODER_FLAGS =~ /(^|\s)-(lmodel-file) /
|
| 455 |
+
|| $___DECODER_FLAGS =~ /(^|\s)-(global-lexical-file) /
|
| 456 |
+
) {
|
| 457 |
+
die "It is forbidden to supply any of -config, -ttable-file, -distortion-file, -generation-file or -lmodel-file in the --decoder-flags.\nPlease use only the --config option to give the config file that lists all the supplementary files.";
|
| 458 |
+
}
|
| 459 |
+
|
| 460 |
+
# as weights are normalized in the next steps (by cmert)
|
| 461 |
+
# normalize initial LAMBDAs, too
|
| 462 |
+
my $need_to_normalize = 1;
|
| 463 |
+
|
| 464 |
+
#store current directory and create the working directory (if needed)
|
| 465 |
+
my $cwd = `pawd 2>/dev/null`;
|
| 466 |
+
if(!$cwd){$cwd = `pwd`;}
|
| 467 |
+
chomp($cwd);
|
| 468 |
+
|
| 469 |
+
mkpath($___WORKING_DIR);
|
| 470 |
+
|
| 471 |
+
{
|
| 472 |
+
# open local scope
|
| 473 |
+
|
| 474 |
+
#chdir to the working directory
|
| 475 |
+
chdir($___WORKING_DIR) or die "Can't chdir to $___WORKING_DIR";
|
| 476 |
+
|
| 477 |
+
# fixed file names
|
| 478 |
+
my $mert_outfile = "mert.out";
|
| 479 |
+
my $mert_logfile = "mert.log";
|
| 480 |
+
my $weights_in_file = "init.opt";
|
| 481 |
+
my $weights_out_file = "weights.txt";
|
| 482 |
+
|
| 483 |
+
# set start run
|
| 484 |
+
my $start_run = 1; ## START FROM run>1 is not supported
|
| 485 |
+
my $bestpoint = undef;
|
| 486 |
+
my $devbleu = undef;
|
| 487 |
+
my $sparse_weights_file = undef;
|
| 488 |
+
my $jobid = -1;
|
| 489 |
+
|
| 490 |
+
my $prev_feature_file = undef;
|
| 491 |
+
my $prev_score_file = undef;
|
| 492 |
+
my $prev_init_file = undef;
|
| 493 |
+
|
| 494 |
+
|
| 495 |
+
#########################
|
| 496 |
+
# set jobid to trace different jobs
|
| 497 |
+
my $prevjid = undef;
|
| 498 |
+
|
| 499 |
+
|
| 500 |
+
##################################################
|
| 501 |
+
# STEP 1: FILTER PHRASE TABLE ####################
|
| 502 |
+
##################################################
|
| 503 |
+
|
| 504 |
+
if ($___FILTER_PHRASE_TABLE) {
|
| 505 |
+
my $outdir = "filtered";
|
| 506 |
+
if (-e "$outdir/moses.ini") {
|
| 507 |
+
print STDERR "Assuming the tables are already filtered, reusing $outdir/moses.ini\n";
|
| 508 |
+
}
|
| 509 |
+
else {
|
| 510 |
+
# filter the phrase tables with respect to input, use --decoder-flags
|
| 511 |
+
print STDERR "filtering the phrase tables... ".`date`;
|
| 512 |
+
my $___FILTER_F = $___DEV_F;
|
| 513 |
+
$___FILTER_F = $filterfile if (defined $filterfile);
|
| 514 |
+
$cmd = "$filtercmd ./$outdir $___CONFIG $___FILTER_F";
|
| 515 |
+
if (!defined $___FIRSTJOBWAITID) {
|
| 516 |
+
# &submit_or_exec($cmd,"filterphrases.out","filterphrases.err","filterphrases.id");
|
| 517 |
+
$qsubprefix = "filph";
|
| 518 |
+
&submit_or_exec_thu_host($submithost,"","",$cmd,"","filterphrases.out","filterphrases.err","filterphrases.id");
|
| 519 |
+
} else {
|
| 520 |
+
# &submit_or_exec($cmd,"filterphrases.out","filterphrases.err","filterphrases.id",$___FIRSTJOBWAITID);
|
| 521 |
+
$qsubprefix = "filph";
|
| 522 |
+
&submit_or_exec_thu_host($submithost,"","",$cmd,"","filterphrases.out","filterphrases.err","filterphrases.id",$___FIRSTJOBWAITID);
|
| 523 |
+
}
|
| 524 |
+
chomp($jobid=`tail -n 1 filterphrases.id`);
|
| 525 |
+
$prevjid = $jobid;
|
| 526 |
+
print STDERR "JOBID for filterphrases is $prevjid\n";
|
| 527 |
+
## clear up tmp
|
| 528 |
+
&exit_submit_thu_host($submithost,"","","","filterphrases.out","filterphrases.err","filterphrases.id","filterphrases.id.pid",$prevjid);
|
| 529 |
+
}
|
| 530 |
+
|
| 531 |
+
# make a backup copy of startup ini filepath
|
| 532 |
+
$___CONFIG_ORIG = $___CONFIG;
|
| 533 |
+
# the decoder should now use the filtered model
|
| 534 |
+
$___CONFIG = "$outdir/moses.ini";
|
| 535 |
+
}
|
| 536 |
+
else{
|
| 537 |
+
# do not filter phrase tables (useful if binary phrase tables are available)
|
| 538 |
+
# use the original configuration file
|
| 539 |
+
$___CONFIG_ORIG = $___CONFIG;
|
| 540 |
+
}
|
| 541 |
+
|
| 542 |
+
#################################################
|
| 543 |
+
######## STEP 2: CHECK moses.ini ################
|
| 544 |
+
#################################################
|
| 545 |
+
|
| 546 |
+
|
| 547 |
+
# path of script for filtering phrase tables and running the decoder ------------
|
| 548 |
+
$processfeatlistcmd="$SCRIPTS_ROOTDIR/training/sge-nosync/process-featlist-sge-nosync.pl" if !defined $processfeatlistcmd;
|
| 549 |
+
|
| 550 |
+
$processfeatlistargs = "" if !defined $processfeatlistargs;
|
| 551 |
+
$processfeatlistargs = "$processfeatlistargs --range $___RANGES" if (defined $___RANGES);
|
| 552 |
+
$processfeatlistargs = "$processfeatlistargs --decoder-flags $___DECODER_FLAGS" if (!$___DECODER_FLAGS eq "");
|
| 553 |
+
|
| 554 |
+
$cmd = "$processfeatlistcmd $___DECODER $___CONFIG --inputtype $___INPUTTYPE $processfeatlistargs";
|
| 555 |
+
|
| 556 |
+
if (defined $prevjid) {
|
| 557 |
+
$qsubprefix = "proclist";
|
| 558 |
+
&submit_or_exec_thu_host($submithost,"","",$cmd,"","processfeatlist.out","processfeatlist.err","processfeatlist.id",$prevjid);
|
| 559 |
+
} else {
|
| 560 |
+
$qsubprefix = "proclist";
|
| 561 |
+
&submit_or_exec_thu_host($submithost,"","",$cmd,"","processfeatlist.out","processfeatlist.err","processfeatlist.id");
|
| 562 |
+
}
|
| 563 |
+
chomp($jobid=`tail -n 1 processfeatlist.id`);
|
| 564 |
+
$prevjid = $jobid;
|
| 565 |
+
#----------------------------------------------------------------------------------
|
| 566 |
+
## clear up tmp
|
| 567 |
+
&exit_submit_thu_host($submithost,"","","","processfeatlist.out","processfeatlist.err","processfeatlist.id","processfeatlist.id.pid",$prevjid);
|
| 568 |
+
|
| 569 |
+
# we run moses to check validity of moses.ini and to obtain all the feature
|
| 570 |
+
# names
|
| 571 |
+
##COPIED# my $featlist = get_featlist_from_moses($___CONFIG);
|
| 572 |
+
##COPIED#$featlist = insert_ranges_to_featlist($featlist, $___RANGES);
|
| 573 |
+
##COPIED#
|
| 574 |
+
##COPIED## Mark which features are disabled:
|
| 575 |
+
##COPIED#if (defined $___ACTIVATE_FEATURES) {
|
| 576 |
+
##COPIED# my %enabled = map { ($_, 1) } split /[, ]+/, $___ACTIVATE_FEATURES;
|
| 577 |
+
##COPIED# my %cnt;
|
| 578 |
+
##COPIED# for(my $i=0; $i<scalar(@{$featlist->{"names"}}); $i++) {
|
| 579 |
+
##COPIED# my $name = $featlist->{"names"}->[$i];
|
| 580 |
+
##COPIED# $cnt{$name} = 0 if !defined $cnt{$name};
|
| 581 |
+
##COPIED# $featlist->{"enabled"}->[$i] = $enabled{$name."_".$cnt{$name}};
|
| 582 |
+
##COPIED# $cnt{$name}++;
|
| 583 |
+
##COPIED# }
|
| 584 |
+
##COPIED#} else {
|
| 585 |
+
##COPIED# # all enabled
|
| 586 |
+
##COPIED# for(my $i=0; $i<scalar(@{$featlist->{"names"}}); $i++) {
|
| 587 |
+
##COPIED# $featlist->{"enabled"}->[$i] = 1;
|
| 588 |
+
##COPIED# }
|
| 589 |
+
##COPIED#}
|
| 590 |
+
##COPIED#
|
| 591 |
+
##COPIED#print STDERR "MERT starting values and ranges for random generation:\n";
|
| 592 |
+
##COPIED#for(my $i=0; $i<scalar(@{$featlist->{"names"}}); $i++) {
|
| 593 |
+
##COPIED# my $name = $featlist->{"names"}->[$i];
|
| 594 |
+
##COPIED# my $val = $featlist->{"values"}->[$i];
|
| 595 |
+
##COPIED# my $min = $featlist->{"mins"}->[$i];
|
| 596 |
+
##COPIED# my $max = $featlist->{"maxs"}->[$i];
|
| 597 |
+
##COPIED# my $enabled = $featlist->{"enabled"}->[$i];
|
| 598 |
+
##COPIED# printf STDERR " %5s = %7.3f", $name, $val;
|
| 599 |
+
##COPIED# if ($enabled) {
|
| 600 |
+
##COPIED# printf STDERR " (%5.2f .. %5.2f)\n", $min, $max;
|
| 601 |
+
##COPIED# } else {
|
| 602 |
+
##COPIED# print STDERR " --- inactive, not optimized ---\n";
|
| 603 |
+
##COPIED# }
|
| 604 |
+
##COPIED#}
|
| 605 |
+
|
| 606 |
+
##############################################################
|
| 607 |
+
# if continue from last section ######
|
| 608 |
+
######################################
|
| 609 |
+
##!#if ($continue) {
|
| 610 |
+
##!# # getting the last finished step
|
| 611 |
+
##!# print STDERR "Trying to continue an interrupted optimization.\n";
|
| 612 |
+
##!# open IN, "finished_step.txt" or die "Failed to find the step number, failed to read finished_step.txt";
|
| 613 |
+
##!# my $step = <IN>;
|
| 614 |
+
##!# chomp $step;
|
| 615 |
+
##!# close IN;
|
| 616 |
+
##!#
|
| 617 |
+
##!# print STDERR "Last finished step is $step\n";
|
| 618 |
+
##!#
|
| 619 |
+
##!# # getting the first needed step
|
| 620 |
+
##!# my $firststep;
|
| 621 |
+
##!# if ($prev_aggregate_nbl_size==-1){
|
| 622 |
+
##!# $firststep=1;
|
| 623 |
+
##!# }
|
| 624 |
+
##!# else{
|
| 625 |
+
##!# $firststep=$step-$prev_aggregate_nbl_size+1;
|
| 626 |
+
##!# $firststep=($firststep>0)?$firststep:1;
|
| 627 |
+
##!# }
|
| 628 |
+
##!#
|
| 629 |
+
##!##checking if all needed data are available
|
| 630 |
+
##!## get $prev_feature_file, $prev_score_file, $prev_init_file
|
| 631 |
+
##!# if ($firststep<=$step){
|
| 632 |
+
##!# print STDERR "First previous needed data index is $firststep\n";
|
| 633 |
+
##!# print STDERR "Checking whether all needed data (from step $firststep to step $step) are available\n";
|
| 634 |
+
##!#
|
| 635 |
+
##!# for (my $prevstep=$firststep; $prevstep<=$step;$prevstep++){
|
| 636 |
+
##!# print STDERR "Checking whether data of step $prevstep are available\n";
|
| 637 |
+
##!# if (! -e "run$prevstep.features.dat"){
|
| 638 |
+
##!# die "Can't start from step $step, because run$prevstep.features.dat was not found!";
|
| 639 |
+
##!# }else{
|
| 640 |
+
##!# if (defined $prev_feature_file){
|
| 641 |
+
##!# $prev_feature_file = "${prev_feature_file},run$prevstep.features.dat";
|
| 642 |
+
##!# }
|
| 643 |
+
##!# else{
|
| 644 |
+
##!# $prev_feature_file = "run$prevstep.features.dat";
|
| 645 |
+
##!# }
|
| 646 |
+
##!# }
|
| 647 |
+
##!# if (! -e "run$prevstep.scores.dat"){
|
| 648 |
+
##!# die "Can't start from step $step, because run$prevstep.scores.dat was not found!";
|
| 649 |
+
##!# }else{
|
| 650 |
+
##!# if (defined $prev_score_file){
|
| 651 |
+
##!# $prev_score_file = "${prev_score_file},run$prevstep.scores.dat";
|
| 652 |
+
##!# }
|
| 653 |
+
##!# else{
|
| 654 |
+
##!# $prev_score_file = "run$prevstep.scores.dat";
|
| 655 |
+
##!# }
|
| 656 |
+
##!# }
|
| 657 |
+
##!# if (! -e "run$prevstep.${weights_in_file}"){
|
| 658 |
+
##!# die "Can't start from step $step, because run$prevstep.${weights_in_file} was not found!";
|
| 659 |
+
##!# }else{
|
| 660 |
+
##!# if (defined $prev_init_file){
|
| 661 |
+
##!# $prev_init_file = "${prev_init_file},run$prevstep.${weights_in_file}";
|
| 662 |
+
##!# }
|
| 663 |
+
##!# else{
|
| 664 |
+
##!# $prev_init_file = "run$prevstep.${weights_in_file}";
|
| 665 |
+
##!# }
|
| 666 |
+
##!# }
|
| 667 |
+
##!# }
|
| 668 |
+
##!# if (! -e "run$step.weights.txt"){
|
| 669 |
+
##!# die "Can't start from step $step, because run$step.weights.txt was not found!";
|
| 670 |
+
##!# }
|
| 671 |
+
##!# if (! -e "run$step.$mert_logfile"){
|
| 672 |
+
##!# die "Can't start from step $step, because run$step.$mert_logfile was not found!";
|
| 673 |
+
##!# }
|
| 674 |
+
##!# if (! -e "run$step.best$___N_BEST_LIST_SIZE.out.gz"){
|
| 675 |
+
##!# die "Can't start from step $step, because run$step.best$___N_BEST_LIST_SIZE.out.gz was not found!";
|
| 676 |
+
##!# }
|
| 677 |
+
##!# print STDERR "All needed data are available\n";
|
| 678 |
+
##!#
|
| 679 |
+
##!# print STDERR "Loading information from last step ($step)\n";
|
| 680 |
+
##!# my %dummy; # sparse features
|
| 681 |
+
##!# ($bestpoint,$devbleu) = &get_weights_from_mert("run$step.$mert_outfile","run$step.$mert_logfile",scalar @{$featlist->{"names"}},\%dummy);
|
| 682 |
+
##!# die "Failed to parse mert.log, missed Best point there."
|
| 683 |
+
##!# if !defined $bestpoint || !defined $devbleu;
|
| 684 |
+
##!# print "($step) BEST at $step $bestpoint => $devbleu at ".`date`;
|
| 685 |
+
##!# my @newweights = split /\s+/, $bestpoint;
|
| 686 |
+
##!#
|
| 687 |
+
##!# # Sanity check: order of lambdas must match
|
| 688 |
+
##!# sanity_check_order_of_lambdas($featlist,
|
| 689 |
+
##!# "gunzip -c < run$step.best$___N_BEST_LIST_SIZE.out.gz |");
|
| 690 |
+
##!#
|
| 691 |
+
##!# # update my cache of lambda values
|
| 692 |
+
##!# $featlist->{"values"} = \@newweights;
|
| 693 |
+
##!# }
|
| 694 |
+
##!# else{
|
| 695 |
+
##!# print STDERR "No previous data are needed\n";
|
| 696 |
+
##!# }
|
| 697 |
+
##!#
|
| 698 |
+
##!# $start_run = $step +1;
|
| 699 |
+
##!# }
|
| 700 |
+
#####################################
|
| 701 |
+
## If continue from last section ####
|
| 702 |
+
#####################################
|
| 703 |
+
|
| 704 |
+
|
| 705 |
+
print STDERR "I am about to start main loop!!!\n";
|
| 706 |
+
|
| 707 |
+
### load featlist when needed
|
| 708 |
+
# my $featlist = get_featlist_from_moses($___CONFIG);
|
| 709 |
+
# my $featlist = undef;
|
| 710 |
+
###### MERT MAIN LOOP
|
| 711 |
+
|
| 712 |
+
|
| 713 |
+
|
| 714 |
+
my $run=$start_run-1;
|
| 715 |
+
|
| 716 |
+
my $oldallsorted = undef;
|
| 717 |
+
my $allsorted = undef;
|
| 718 |
+
|
| 719 |
+
my $nbest_file=undef;
|
| 720 |
+
my $lsamp_file=undef; #Lattice samples
|
| 721 |
+
my $orig_nbest_file=undef; # replaced if lattice sampling
|
| 722 |
+
|
| 723 |
+
|
| 724 |
+
|
| 725 |
+
# ------------------------------------------------------------------------
|
| 726 |
+
# ------ get_featlist_and_create_config (only for run 1) -----------------
|
| 727 |
+
# ------------------------------------------------------------------------
|
| 728 |
+
$createconfigcmd="$SCRIPTS_ROOTDIR/training/sge-nosync/create-config-sge-nosync.pl" if !defined $createconfigcmd;
|
| 729 |
+
|
| 730 |
+
$createconfigargs = "" if !defined $createconfigargs;
|
| 731 |
+
$createconfigargs = "$createconfigargs --range $___RANGES" if (defined $___RANGES);
|
| 732 |
+
$createconfigargs = "$createconfigargs --decoder-flags $___DECODER_FLAGS" if (!$___DECODER_FLAGS eq "");
|
| 733 |
+
$createconfigargs = "$createconfigargs --devbleu $devbleu" if (defined $devbleu);
|
| 734 |
+
$createconfigargs = "$createconfigargs --sparse_weights_file $sparse_weights_file" if (defined $sparse_weights_file);
|
| 735 |
+
$createconfigargs = "$createconfigargs --working-dir $___WORKING_DIR" if (defined $___WORKING_DIR);
|
| 736 |
+
|
| 737 |
+
my $cmd = "$createconfigcmd $___DEV_F $___DECODER $___CONFIG first --inputtype $___INPUTTYPE $createconfigargs";
|
| 738 |
+
|
| 739 |
+
if (defined $prevjid) {
|
| 740 |
+
$qsubprefix = "firstcfg";
|
| 741 |
+
&submit_or_exec_thu_host($submithost,"","",$cmd,"","createconfigfirstrun.out","createconfigfirstrun.err","createconfigfirstrun.id",$prevjid);
|
| 742 |
+
} else {
|
| 743 |
+
$qsubprefix = "firstcfg";
|
| 744 |
+
&submit_or_exec_thu_host($submithost,"","",$cmd,"","createconfigfirstrun.out","createconfigfirstrun.err","createconfigfirstrun.id");
|
| 745 |
+
}
|
| 746 |
+
chomp($jobid=`tail -n 1 createconfigfirstrun.id`);
|
| 747 |
+
$prevjid = $jobid;
|
| 748 |
+
## clear up tmp
|
| 749 |
+
&exit_submit_thu_host($submithost,"","","","createconfigfirstrun.out","createconfigfirstrun.err","createconfigfirstrun.id","createconfigfirstrun.id.pid",$prevjid);
|
| 750 |
+
|
| 751 |
+
##COPIED# create_config($___CONFIG, "./run$run.moses.ini", $featlist, $run, (defined$devbleu?$devbleu:"--not-estimated--"),$sparse_weights_file);
|
| 752 |
+
# -------------------------------------------------------------------------
|
| 753 |
+
# -------------------------------------------------------------------------
|
| 754 |
+
print "create config for first run is done!\n";
|
| 755 |
+
|
| 756 |
+
|
| 757 |
+
while(1) {
|
| 758 |
+
$run++;
|
| 759 |
+
if ($maximum_iterations && $run > $maximum_iterations) {
|
| 760 |
+
print "Maximum number of iterations exceeded - stopping\n";
|
| 761 |
+
last;
|
| 762 |
+
}
|
| 763 |
+
# run beamdecoder with option to output nbestlists
|
| 764 |
+
# the end result should be (1) @NBEST_LIST, a list of lists; (2) @SCORE, a list of lists of lists
|
| 765 |
+
|
| 766 |
+
print "run $run start at ".`date`;
|
| 767 |
+
|
| 768 |
+
|
| 769 |
+
|
| 770 |
+
|
| 771 |
+
###################################################
|
| 772 |
+
# step 3: decode
|
| 773 |
+
###################################################
|
| 774 |
+
|
| 775 |
+
# path of script for running the decoder ------------
|
| 776 |
+
$moses_parallel_cmd="$SCRIPTS_ROOTDIR/generic/moses-parallel-sge-nosync.pl" if !defined $moses_parallel_cmd;
|
| 777 |
+
my $decoder_cmd;
|
| 778 |
+
|
| 779 |
+
if (defined $___JOBS && $___JOBS > 0 ) {
|
| 780 |
+
# not support -lattice-samples
|
| 781 |
+
# $decoder_cmd = "$moses_parallel_cmd $pass_old_sge -config $___CONFIG -inputtype $___INPUTTYPE -queue-parameters \"$queue_flags\" -decoder-flags $___DECODER_FLAGS -lattice-samples $___LATTICE_SAMPLES -n-best-list-size $___N_BEST_LIST_SIZE -input-file $___DEV_F -jobs $___JOBS -decoder $___DECODER -run $run -need-to-normalize $need_to_normalize -working-dir $___WORKING_DIR -qsubwrapper $qsubwrapper > run$run.out";
|
| 782 |
+
|
| 783 |
+
$decoderargs = "";
|
| 784 |
+
### DO NOT pass $___DECODER_FLAGS!! load the latest decoding parameter from inside the script
|
| 785 |
+
# $decoderargs = "-decoder-flags $___DECODER_FLAGS " if (!$___DECODER_FLAGS eq "");
|
| 786 |
+
$decoderargs = "-script-rootdir $SCRIPTS_ROOTDIR " if (!$SCRIPTS_ROOTDIR eq "");
|
| 787 |
+
$decoderargs = "$decoderargs -lattice-samples $___LATTICE_SAMPLES " if ($___LATTICE_SAMPLES != 0);
|
| 788 |
+
|
| 789 |
+
$decoder_cmd = "$moses_parallel_cmd $pass_old_sge -config $___CONFIG -inputtype $___INPUTTYPE -submithost \"$submithost\" -queue-parameters \"$queue_flags\" $decoderargs -n-best-list-size $___N_BEST_LIST_SIZE -input-file $___DEV_F -jobs $___JOBS -decoder $___DECODER -run $run -need-to-normalize $need_to_normalize -working-dir $___WORKING_DIR -qsubwrapper $qsubwrapper -qsubwrapper-exit $qsubwrapper_exit > run$run.out";
|
| 790 |
+
} else {
|
| 791 |
+
print STDERR "Execute without going through grid is not supported!\n";
|
| 792 |
+
exit(1);
|
| 793 |
+
}
|
| 794 |
+
|
| 795 |
+
if (defined $prevjid) {
|
| 796 |
+
$qsubprefix="decode$run";
|
| 797 |
+
&submit_or_exec_thu_host($submithost,"","",$decoder_cmd,"","decode$run.out","decode$run.err","decode$run.id",$prevjid);
|
| 798 |
+
} else {
|
| 799 |
+
$qsubprefix="decode$run";
|
| 800 |
+
&submit_or_exec_thu_host($submithost,"","",$decoder_cmd,"","decode$run.out","decode$run.err","decode$run.id");
|
| 801 |
+
}
|
| 802 |
+
## may have to change to decode$run.last.id to retrieve later job id.
|
| 803 |
+
$need_to_normalize = 0;
|
| 804 |
+
chomp($jobid=`tail -n 1 decode$run.id`);
|
| 805 |
+
$prevjid = $jobid;
|
| 806 |
+
|
| 807 |
+
# safesystem($decode_cmd) or die "The decoder died. CONFIG WAS $decoder_config \n";
|
| 808 |
+
|
| 809 |
+
###################################################
|
| 810 |
+
# step 4: define wait job
|
| 811 |
+
###################################################
|
| 812 |
+
$poll_decoder_cmd="$SCRIPTS_ROOTDIR/training/sge-nosync/poll-decoder.pl -poll-target decode$run.W.out";
|
| 813 |
+
|
| 814 |
+
if (defined $prevjid) {
|
| 815 |
+
$qsubprefix = "poll$run";
|
| 816 |
+
&submit_or_exec_thu_host($submithost,"","",$poll_decoder_cmd,"","decode$run.POLL.out","decode$run.POLL.err","decode$run.POLL.id",$prevjid);
|
| 817 |
+
} else {
|
| 818 |
+
die "Step 4 (poll_decoder): Cannot find previous process for sequential submit\n";
|
| 819 |
+
}
|
| 820 |
+
|
| 821 |
+
chomp($jobid=`tail -n 1 decode$run.POLL.id`);
|
| 822 |
+
$prevjid = $jobid;
|
| 823 |
+
|
| 824 |
+
##################################################
|
| 825 |
+
# clear-up (step 3 and step 4)
|
| 826 |
+
##################################################
|
| 827 |
+
# job for moses-parallel-sge-nosync.pl
|
| 828 |
+
&exit_submit_thu_host($submithost,"","","","decode$run.out","decode$run.err","decode$run.id","decode$run.id.pid",$prevjid);
|
| 829 |
+
## waitall.sh job (cannot submit here because pid not established)
|
| 830 |
+
##&exit_submit("decode$run.W.out","decode$run.W.err","decode$run.W.id","decode$run.W.id.pid",$prevjid);
|
| 831 |
+
# polling job
|
| 832 |
+
&exit_submit_thu_host($submithost,"","","","decode$run.POLL.out","decode$run.POLL.err","decode$run.POLL.id","decode$run.POLL.id.pid",$prevjid);
|
| 833 |
+
|
| 834 |
+
|
| 835 |
+
|
| 836 |
+
###################################################
|
| 837 |
+
# step 5: zip and extract
|
| 838 |
+
###################################################
|
| 839 |
+
$zipextcmd="$SCRIPTS_ROOTDIR/training/sge-nosync/zipextract-decoder-result.pl" if !defined $zipextcmd;
|
| 840 |
+
$zipextargs=" -run $run";
|
| 841 |
+
$zipextargs.=" -mertdir $mertdir" if defined $mertdir;
|
| 842 |
+
$zipextargs.=" $___DEV_E ./run$run.moses.ini";
|
| 843 |
+
|
| 844 |
+
$cmd = "$zipextcmd $zipextargs";
|
| 845 |
+
|
| 846 |
+
if (defined $prevjid){
|
| 847 |
+
$qsubprefix="zip$run";
|
| 848 |
+
&submit_or_exec_thu_host($submithost,"","",$cmd,"","zipext$run.out","zipext$run.err","zipext$run.id",$prevjid);
|
| 849 |
+
} else {
|
| 850 |
+
die "Step 5 (zip extract): Cannot find previous process for sequential submit\n";
|
| 851 |
+
}
|
| 852 |
+
chomp($jobid=`tail -n 1 zipext$run.id`);
|
| 853 |
+
$prevjid = $jobid;
|
| 854 |
+
|
| 855 |
+
## clear-up tmp ###
|
| 856 |
+
&exit_submit_thu_host($submithost,"","","","zipext$run.out","zipext$run.err","zipext$run.id","zipext$run.id.pid",$prevjid);
|
| 857 |
+
|
| 858 |
+
####################################################
|
| 859 |
+
# step 6: process results (mert)
|
| 860 |
+
####################################################
|
| 861 |
+
$processresultcmd="$SCRIPTS_ROOTDIR/training/sge-nosync/process-moses-result-sge-nosync.pl" if !defined $processresultcmd;
|
| 862 |
+
$processresultargs=" -run $run -submithost $submithost -queue-flags \"$queue_flags\"";
|
| 863 |
+
$processresultargs.=" -inputtype $___INPUTTYPE";
|
| 864 |
+
$processresultargs.=" -mertdir $mertdir" if defined $mertdir;
|
| 865 |
+
# $processresultargs.=" $___DEV_F $___DECODER ./run$run.moses.ini";
|
| 866 |
+
$processresultargs.=" $___DEV_F $___DECODER $___CONFIG";
|
| 867 |
+
|
| 868 |
+
$cmd = "$processresultcmd $processresultargs";
|
| 869 |
+
|
| 870 |
+
if (defined $prevjid){
|
| 871 |
+
$qsubprefix="MERT$run";
|
| 872 |
+
&submit_or_exec_thu_host($submithost,"","",$cmd,"","processmoses$run.out","processmoses$run.err","processmoses$run.id",$prevjid);
|
| 873 |
+
} else {
|
| 874 |
+
die "Step 6 (process results - (mert)): Cannot find previous process for sequential submit\n";
|
| 875 |
+
}
|
| 876 |
+
chomp($jobid=`tail -n 1 processmoses$run.id`);
|
| 877 |
+
$prevjid = $jobid;
|
| 878 |
+
|
| 879 |
+
## clear-up tmp ##
|
| 880 |
+
&exit_submit_thu_host($submithost,"","","","processmoses$run.out","processmoses$run.err","processmoses$run.id","processmoses$run.id.pid",$prevjid);
|
| 881 |
+
|
| 882 |
+
### sleep to prevent batch select in short time
|
| 883 |
+
sleep(1);
|
| 884 |
+
|
| 885 |
+
##!# else {
|
| 886 |
+
##!# $nbest_file="run$run.best$___N_BEST_LIST_SIZE.out.gz";
|
| 887 |
+
##!# print "skipped decoder run $run\n";
|
| 888 |
+
##!# $skip_decoder = 0;
|
| 889 |
+
##!# $need_to_normalize = 0;
|
| 890 |
+
##!# }
|
| 891 |
+
}
|
| 892 |
+
|
| 893 |
+
|
| 894 |
+
#################################################
|
| 895 |
+
# step 7: write out the final files
|
| 896 |
+
#################################################
|
| 897 |
+
$createconfigcmd="$SCRIPTS_ROOTDIR/training/sge-nosync/create-config-sge-nosync.pl" if !defined $createconfigcmd;
|
| 898 |
+
|
| 899 |
+
$createconfigargs = "" if !defined $createconfigargs;
|
| 900 |
+
$createconfigargs = "$createconfigargs --range $___RANGES" if (defined $___RANGES);
|
| 901 |
+
$createconfigargs = "$createconfigargs --decoder-flags $___DECODER_FLAGS" if (!$___DECODER_FLAGS eq "");
|
| 902 |
+
$createconfigargs = "$createconfigargs --devbleu $devbleu" if (defined $devbleu);
|
| 903 |
+
$createconfigargs = "$createconfigargs --sparse_weights_file $sparse_weights_file" if (defined $sparse_weights_file);
|
| 904 |
+
$createconfigargs = "$createconfigargs --working-dir $___WORKING_DIR" if (defined $___WORKING_DIR);
|
| 905 |
+
|
| 906 |
+
my $cmd = "$createconfigcmd $___DEV_F $___DECODER $___CONFIG_ORIG final --inputtype $___INPUTTYPE $createconfigargs";
|
| 907 |
+
|
| 908 |
+
if (defined $prevjid) {
|
| 909 |
+
$qsubprefix = "finalcfg";
|
| 910 |
+
&submit_or_exec_thu_host($submithost,"","",$cmd,"","createconfigfinal.out","createconfigfinal.err","createconfigfinal.id",$prevjid);
|
| 911 |
+
} else {
|
| 912 |
+
$qsubprefix = "finalcfg";
|
| 913 |
+
&submit_or_exec_thu_host($submithost,"","",$cmd,"","createconfigfinal.out","createconfigfinal.err","createconfigfinal.id");
|
| 914 |
+
}
|
| 915 |
+
chomp($jobid=`tail -n 1 createconfigfinal.id`);
|
| 916 |
+
$prevjid = $jobid;
|
| 917 |
+
# clear up tmp
|
| 918 |
+
&exit_submit_thu_host($submithost,"","","","createconfigfinal.out","createconfigfinal.err","createconfigfinal.id","createconfigfinal.id.pid",$prevjid);
|
| 919 |
+
## -------------------------------------------------------------------------
|
| 920 |
+
print "create config for last run is done!\n";
|
| 921 |
+
|
| 922 |
+
|
| 923 |
+
###### STEP 8: clear job ######
|
| 924 |
+
my $clearcmd = "";
|
| 925 |
+
$clearcmd = "$SCRIPTS_ROOTDIR/training/sge-nosync/cleartmpfiles.pl";
|
| 926 |
+
|
| 927 |
+
|
| 928 |
+
if (defined $prevjid){
|
| 929 |
+
$qsubprefix="Clearjob";
|
| 930 |
+
&submit_or_exec_thu_host($submithost,"","",$clearcmd,"","clear.out","clear.err","clear.id",$prevjid);
|
| 931 |
+
} else {
|
| 932 |
+
die "Step 7 (clear job): Cannot find previous process for sequential submit\n";
|
| 933 |
+
}
|
| 934 |
+
chomp($jobid=`tail -n 1 clear.id`);
|
| 935 |
+
$prevjid = $jobid;
|
| 936 |
+
|
| 937 |
+
## clear-up tmp ##
|
| 938 |
+
&exit_submit_thu_host($submithost,"","","","clear.out","clear.err","clear.id","clear.id.pid",$prevjid);
|
| 939 |
+
|
| 940 |
+
print "Tuning finished at ".`date`;
|
| 941 |
+
|
| 942 |
+
chdir($cwd);
|
| 943 |
+
|
| 944 |
+
} # end of local scope
|
| 945 |
+
|
| 946 |
+
sub get_weights_from_mert {
|
| 947 |
+
my ($outfile,$logfile,$weight_count,$sparse_weights) = @_;
|
| 948 |
+
my ($bestpoint,$devbleu);
|
| 949 |
+
if ($___PAIRWISE_RANKED_OPTIMIZER || ($___PRO_STARTING_POINT && $logfile =~ /pro/)) {
|
| 950 |
+
open(IN,$outfile) or die "Can't open $outfile";
|
| 951 |
+
my (@WEIGHT,$sum);
|
| 952 |
+
for(my $i=0;$i<$weight_count;$i++) { push @WEIGHT, 0; }
|
| 953 |
+
while(<IN>) {
|
| 954 |
+
# regular features
|
| 955 |
+
if (/^F(\d+) ([\-\.\de]+)/) {
|
| 956 |
+
$WEIGHT[$1] = $2;
|
| 957 |
+
$sum += abs($2);
|
| 958 |
+
}
|
| 959 |
+
# sparse features
|
| 960 |
+
elsif(/^(.+_.+) ([\-\.\de]+)/) {
|
| 961 |
+
$$sparse_weights{$1} = $2;
|
| 962 |
+
}
|
| 963 |
+
}
|
| 964 |
+
$devbleu = "unknown";
|
| 965 |
+
foreach (@WEIGHT) { $_ /= $sum; }
|
| 966 |
+
foreach (keys %{$sparse_weights}) { $$sparse_weights{$_} /= $sum; }
|
| 967 |
+
$bestpoint = join(" ",@WEIGHT);
|
| 968 |
+
close IN;
|
| 969 |
+
}
|
| 970 |
+
else {
|
| 971 |
+
open(IN,$logfile) or die "Can't open $logfile";
|
| 972 |
+
while (<IN>) {
|
| 973 |
+
if (/Best point:\s*([\s\d\.\-e]+?)\s*=> ([\-\d\.]+)/) {
|
| 974 |
+
$bestpoint = $1;
|
| 975 |
+
$devbleu = $2;
|
| 976 |
+
last;
|
| 977 |
+
}
|
| 978 |
+
}
|
| 979 |
+
close IN;
|
| 980 |
+
}
|
| 981 |
+
return ($bestpoint,$devbleu);
|
| 982 |
+
}
|
| 983 |
+
|
| 984 |
+
##COPIED# sub run_decoder {
|
| 985 |
+
##COPIED# my ($featlist, $run, $need_to_normalize) = @_;
|
| 986 |
+
##COPIED# my $filename_template = "run%d.best$___N_BEST_LIST_SIZE.out";
|
| 987 |
+
##COPIED# my $filename = sprintf($filename_template, $run);
|
| 988 |
+
##COPIED# my $lsamp_filename = undef;
|
| 989 |
+
##COPIED# if ($___LATTICE_SAMPLES) {
|
| 990 |
+
##COPIED# my $lsamp_filename_template = "run%d.lsamp$___LATTICE_SAMPLES.out";
|
| 991 |
+
##COPIED# $lsamp_filename = sprintf($lsamp_filename_template, $run);
|
| 992 |
+
##COPIED# }
|
| 993 |
+
##COPIED#
|
| 994 |
+
##COPIED# # user-supplied parameters
|
| 995 |
+
##COPIED# print "params = $___DECODER_FLAGS\n";
|
| 996 |
+
##COPIED#
|
| 997 |
+
##COPIED# # parameters to set all model weights (to override moses.ini)
|
| 998 |
+
##COPIED# my @vals = @{$featlist->{"values"}};
|
| 999 |
+
##COPIED# if ($need_to_normalize) {
|
| 1000 |
+
##COPIED# print STDERR "Normalizing lambdas: @vals\n";
|
| 1001 |
+
##COPIED# my $totlambda=0;
|
| 1002 |
+
##COPIED# grep($totlambda+=abs($_),@vals);
|
| 1003 |
+
##COPIED# grep($_/=$totlambda,@vals);
|
| 1004 |
+
##COPIED# }
|
| 1005 |
+
##COPIED# # moses now does not seem accept "-tm X -tm Y" but needs "-tm X Y"
|
| 1006 |
+
##COPIED# my %model_weights;
|
| 1007 |
+
##COPIED# for(my $i=0; $i<scalar(@{$featlist->{"names"}}); $i++) {
|
| 1008 |
+
##COPIED# my $name = $featlist->{"names"}->[$i];
|
| 1009 |
+
##COPIED# $model_weights{$name} = "-$name" if !defined $model_weights{$name};
|
| 1010 |
+
##COPIED# $model_weights{$name} .= sprintf " %.6f", $vals[$i];
|
| 1011 |
+
##COPIED# }
|
| 1012 |
+
##COPIED# my $decoder_config = join(" ", values %model_weights);
|
| 1013 |
+
##COPIED# $decoder_config .= " -weight-file run$run.sparse-weights" if -e "run$run.sparse-weights";
|
| 1014 |
+
##COPIED# print STDERR "DECODER_CFG = $decoder_config\n";
|
| 1015 |
+
##COPIED# print "decoder_config = $decoder_config\n";
|
| 1016 |
+
##COPIED#
|
| 1017 |
+
##COPIED#
|
| 1018 |
+
##COPIED# # run the decoder
|
| 1019 |
+
##COPIED# my $decoder_cmd;
|
| 1020 |
+
##COPIED# my $lsamp_cmd = "";
|
| 1021 |
+
##COPIED# if ($___LATTICE_SAMPLES) {
|
| 1022 |
+
##COPIED# $lsamp_cmd = " -lattice-samples $lsamp_filename $___LATTICE_SAMPLES ";
|
| 1023 |
+
##COPIED# }
|
| 1024 |
+
##COPIED#
|
| 1025 |
+
##COPIED# ####### RUN moses_parallel #################################
|
| 1026 |
+
##COPIED# # need to gather:
|
| 1027 |
+
##COPIED# ### $run
|
| 1028 |
+
##COPIED# ### $lsamp_cmd
|
| 1029 |
+
##COPIED# ### $filename
|
| 1030 |
+
##COPIED# ###########################################################
|
| 1031 |
+
##COPIED#
|
| 1032 |
+
##COPIED# if (defined $___JOBS && $___JOBS > 0) {
|
| 1033 |
+
##COPIED# $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";
|
| 1034 |
+
##COPIED# } else {
|
| 1035 |
+
##COPIED# $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";
|
| 1036 |
+
##COPIED# }
|
| 1037 |
+
##COPIED#
|
| 1038 |
+
##COPIED# safesystem($decoder_cmd) or die "The decoder died. CONFIG WAS $decoder_config \n";
|
| 1039 |
+
##COPIED#
|
| 1040 |
+
##COPIED# sanity_check_order_of_lambdas($featlist, $filename);
|
| 1041 |
+
##COPIED# return ($filename, $lsamp_filename);
|
| 1042 |
+
##COPIED# }
|
| 1043 |
+
|
| 1044 |
+
|
| 1045 |
+
##COPIED# sub insert_ranges_to_featlist {
|
| 1046 |
+
##COPIED# my $featlist = shift;
|
| 1047 |
+
##COPIED# my $ranges = shift;
|
| 1048 |
+
##COPIED#
|
| 1049 |
+
##COPIED# $ranges = [] if !defined $ranges;
|
| 1050 |
+
##COPIED#
|
| 1051 |
+
##COPIED# # first collect the ranges from options
|
| 1052 |
+
##COPIED# my $niceranges;
|
| 1053 |
+
##COPIED# foreach my $range (@$ranges) {
|
| 1054 |
+
##COPIED# my $name = undef;
|
| 1055 |
+
##COPIED# foreach my $namedpair (split /,/, $range) {
|
| 1056 |
+
##COPIED# if ($namedpair =~ /^(.*?):/) {
|
| 1057 |
+
##COPIED# $name = $1;
|
| 1058 |
+
##COPIED# $namedpair =~ s/^.*?://;
|
| 1059 |
+
##COPIED# die "Unrecognized name '$name' in --range=$range"
|
| 1060 |
+
##COPIED# if !defined $ABBR2FULL{$name};
|
| 1061 |
+
##COPIED# }
|
| 1062 |
+
##COPIED# my ($min, $max) = split /\.\./, $namedpair;
|
| 1063 |
+
##COPIED# die "Bad min '$min' in --range=$range" if $min !~ /^-?[0-9.]+$/;
|
| 1064 |
+
##COPIED# die "Bad max '$max' in --range=$range" if $min !~ /^-?[0-9.]+$/;
|
| 1065 |
+
##COPIED# die "No name given in --range=$range" if !defined $name;
|
| 1066 |
+
##COPIED# push @{$niceranges->{$name}}, [$min, $max];
|
| 1067 |
+
##COPIED# }
|
| 1068 |
+
##COPIED# }
|
| 1069 |
+
##COPIED#
|
| 1070 |
+
##COPIED# # now populate featlist
|
| 1071 |
+
##COPIED# my $seen = undef;
|
| 1072 |
+
##COPIED# for(my $i=0; $i<scalar(@{$featlist->{"names"}}); $i++) {
|
| 1073 |
+
##COPIED# my $name = $featlist->{"names"}->[$i];
|
| 1074 |
+
##COPIED# $seen->{$name} ++;
|
| 1075 |
+
##COPIED# my $min = 0.0;
|
| 1076 |
+
##COPIED# my $max = 1.0;
|
| 1077 |
+
##COPIED# if (defined $niceranges->{$name}) {
|
| 1078 |
+
##COPIED# my $minmax = shift @{$niceranges->{$name}};
|
| 1079 |
+
##COPIED# ($min, $max) = @$minmax if defined $minmax;
|
| 1080 |
+
##COPIED# }
|
| 1081 |
+
##COPIED# $featlist->{"mins"}->[$i] = $min;
|
| 1082 |
+
##COPIED# $featlist->{"maxs"}->[$i] = $max;
|
| 1083 |
+
##COPIED# }
|
| 1084 |
+
##COPIED# return $featlist;
|
| 1085 |
+
##COPIED# }
|
| 1086 |
+
|
| 1087 |
+
##COPIED# sub sanity_check_order_of_lambdas {
|
| 1088 |
+
##COPIED# my $featlist = shift;
|
| 1089 |
+
##COPIED# my $filename_or_stream = shift;
|
| 1090 |
+
##COPIED#
|
| 1091 |
+
##COPIED# my @expected_lambdas = @{$featlist->{"names"}};
|
| 1092 |
+
##COPIED# my @got = get_order_of_scores_from_nbestlist($filename_or_stream);
|
| 1093 |
+
##COPIED# die "Mismatched lambdas. Decoder returned @got, we expected @expected_lambdas"
|
| 1094 |
+
##COPIED# if "@got" ne "@expected_lambdas";
|
| 1095 |
+
##COPIED# }
|
| 1096 |
+
|
| 1097 |
+
#### get_featlist_from_moses(): also used in process-featlist-sge-nosync.pl #####
|
| 1098 |
+
###########################################################################
|
| 1099 |
+
sub get_featlist_from_moses {
|
| 1100 |
+
# run moses with the given config file and return the list of features and
|
| 1101 |
+
# their initial values
|
| 1102 |
+
my $configfn = shift;
|
| 1103 |
+
my $featlistfn = "./features.list";
|
| 1104 |
+
if (-e $featlistfn) {
|
| 1105 |
+
print STDERR "Using cached features list: $featlistfn\n";
|
| 1106 |
+
} else {
|
| 1107 |
+
print STDERR "Asking moses for feature names and values from $___CONFIG\n";
|
| 1108 |
+
my $cmd = "$___DECODER $___DECODER_FLAGS -config $configfn -inputtype $___INPUTTYPE -show-weights > $featlistfn";
|
| 1109 |
+
safesystem($cmd) or die "Failed to run moses with the config $configfn";
|
| 1110 |
+
}
|
| 1111 |
+
|
| 1112 |
+
# read feature list
|
| 1113 |
+
my @names = ();
|
| 1114 |
+
my @startvalues = ();
|
| 1115 |
+
open(INI,$featlistfn) or die "Can't read $featlistfn";
|
| 1116 |
+
my $nr = 0;
|
| 1117 |
+
my @errs = ();
|
| 1118 |
+
while (<INI>) {
|
| 1119 |
+
$nr++;
|
| 1120 |
+
chomp;
|
| 1121 |
+
/^(.+) (\S+) (\S+)$/ || die("invalid feature: $_");
|
| 1122 |
+
my ($longname, $feature, $value) = ($1,$2,$3);
|
| 1123 |
+
next if $value eq "sparse";
|
| 1124 |
+
push @errs, "$featlistfn:$nr:Bad initial value of $feature: $value\n"
|
| 1125 |
+
if $value !~ /^[+-]?[0-9.e]+$/;
|
| 1126 |
+
push @errs, "$featlistfn:$nr:Unknown feature '$feature', please add it to \@ABBR_FULL_MAP\n"
|
| 1127 |
+
if !defined $ABBR2FULL{$feature};
|
| 1128 |
+
push @names, $feature;
|
| 1129 |
+
push @startvalues, $value;
|
| 1130 |
+
}
|
| 1131 |
+
close INI;
|
| 1132 |
+
if (scalar @errs) {
|
| 1133 |
+
print STDERR join("", @errs);
|
| 1134 |
+
exit 1;
|
| 1135 |
+
}
|
| 1136 |
+
return {"names"=>\@names, "values"=>\@startvalues};
|
| 1137 |
+
}
|
| 1138 |
+
#### get_featlist_from_moses() ends #####################################
|
| 1139 |
+
|
| 1140 |
+
sub get_order_of_scores_from_nbestlist {
|
| 1141 |
+
# read the first line and interpret the ||| label: num num num label2: num ||| column in nbestlist
|
| 1142 |
+
# return the score labels in order
|
| 1143 |
+
my $fname_or_source = shift;
|
| 1144 |
+
# print STDERR "Peeking at the beginning of nbestlist to get order of scores: $fname_or_source\n";
|
| 1145 |
+
open IN, $fname_or_source or die "Failed to get order of scores from nbestlist '$fname_or_source'";
|
| 1146 |
+
my $line = <IN>;
|
| 1147 |
+
close IN;
|
| 1148 |
+
die "Line empty in nbestlist '$fname_or_source'" if !defined $line;
|
| 1149 |
+
my ($sent, $hypo, $scores, $total) = split /\|\|\|/, $line;
|
| 1150 |
+
$scores =~ s/^\s*|\s*$//g;
|
| 1151 |
+
die "No scores in line: $line" if $scores eq "";
|
| 1152 |
+
|
| 1153 |
+
my @order = ();
|
| 1154 |
+
my $label = undef;
|
| 1155 |
+
my $sparse = 0; # we ignore sparse features here
|
| 1156 |
+
foreach my $tok (split /\s+/, $scores) {
|
| 1157 |
+
if ($tok =~ /.+_.+:/) {
|
| 1158 |
+
$sparse = 1;
|
| 1159 |
+
} elsif ($tok =~ /^([a-z][0-9a-z]*):/i) {
|
| 1160 |
+
$label = $1;
|
| 1161 |
+
} elsif ($tok =~ /^-?[-0-9.e]+$/) {
|
| 1162 |
+
if (!$sparse) {
|
| 1163 |
+
# a score found, remember it
|
| 1164 |
+
die "Found a score but no label before it! Bad nbestlist '$fname_or_source'!"
|
| 1165 |
+
if !defined $label;
|
| 1166 |
+
push @order, $label;
|
| 1167 |
+
}
|
| 1168 |
+
$sparse = 0;
|
| 1169 |
+
} else {
|
| 1170 |
+
die "Not a label, not a score '$tok'. Failed to parse the scores string: '$scores' of nbestlist '$fname_or_source'";
|
| 1171 |
+
}
|
| 1172 |
+
}
|
| 1173 |
+
print STDERR "The decoder returns the scores in this order: @order\n";
|
| 1174 |
+
return @order;
|
| 1175 |
+
}
|
| 1176 |
+
|
| 1177 |
+
##COPIED#sub create_config {
|
| 1178 |
+
##COPIED# my $infn = shift; # source config
|
| 1179 |
+
##COPIED# my $outfn = shift; # where to save the config
|
| 1180 |
+
##COPIED# my $featlist = shift; # the lambdas we should write
|
| 1181 |
+
##COPIED# my $iteration = shift; # just for verbosity
|
| 1182 |
+
##COPIED# my $bleu_achieved = shift; # just for verbosity
|
| 1183 |
+
##COPIED# my $sparse_weights_file = shift; # only defined when optimizing sparse features
|
| 1184 |
+
##COPIED#
|
| 1185 |
+
##COPIED# my %P; # the hash of all parameters we wish to override
|
| 1186 |
+
##COPIED#
|
| 1187 |
+
##COPIED# # first convert the command line parameters to the hash
|
| 1188 |
+
##COPIED# { # ensure local scope of vars
|
| 1189 |
+
##COPIED# my $parameter=undef;
|
| 1190 |
+
##COPIED# print "Parsing --decoder-flags: |$___DECODER_FLAGS|\n";
|
| 1191 |
+
##COPIED# $___DECODER_FLAGS =~ s/^\s*|\s*$//;
|
| 1192 |
+
##COPIED# $___DECODER_FLAGS =~ s/\s+/ /;
|
| 1193 |
+
##COPIED# foreach (split(/ /,$___DECODER_FLAGS)) {
|
| 1194 |
+
##COPIED# if (/^\-([^\d].*)$/) {
|
| 1195 |
+
##COPIED# $parameter = $1;
|
| 1196 |
+
##COPIED# $parameter = $ABBR2FULL{$parameter} if defined($ABBR2FULL{$parameter});
|
| 1197 |
+
##COPIED# }
|
| 1198 |
+
##COPIED# else {
|
| 1199 |
+
##COPIED# die "Found value with no -paramname before it: $_"
|
| 1200 |
+
##COPIED# if !defined $parameter;
|
| 1201 |
+
##COPIED# push @{$P{$parameter}},$_;
|
| 1202 |
+
##COPIED# }
|
| 1203 |
+
##COPIED# }
|
| 1204 |
+
##COPIED# }
|
| 1205 |
+
##COPIED#
|
| 1206 |
+
##COPIED# # First delete all weights params from the input, we're overwriting them.
|
| 1207 |
+
##COPIED# # Delete both short and long-named version.
|
| 1208 |
+
##COPIED# for(my $i=0; $i<scalar(@{$featlist->{"names"}}); $i++) {
|
| 1209 |
+
##COPIED# my $name = $featlist->{"names"}->[$i];
|
| 1210 |
+
##COPIED# delete($P{$name});
|
| 1211 |
+
##COPIED# delete($P{$ABBR2FULL{$name}});
|
| 1212 |
+
##COPIED# }
|
| 1213 |
+
##COPIED#
|
| 1214 |
+
##COPIED# # Convert weights to elements in P
|
| 1215 |
+
##COPIED# for(my $i=0; $i<scalar(@{$featlist->{"names"}}); $i++) {
|
| 1216 |
+
##COPIED# my $name = $featlist->{"names"}->[$i];
|
| 1217 |
+
##COPIED# my $val = $featlist->{"values"}->[$i];
|
| 1218 |
+
##COPIED# $name = defined $ABBR2FULL{$name} ? $ABBR2FULL{$name} : $name;
|
| 1219 |
+
##COPIED# # ensure long name
|
| 1220 |
+
##COPIED# push @{$P{$name}}, $val;
|
| 1221 |
+
##COPIED# }
|
| 1222 |
+
##COPIED#
|
| 1223 |
+
##COPIED# if (defined($sparse_weights_file)) {
|
| 1224 |
+
##COPIED# push @{$P{"weights-file"}}, $___WORKING_DIR."/".$sparse_weights_file;
|
| 1225 |
+
##COPIED# }
|
| 1226 |
+
##COPIED#
|
| 1227 |
+
##COPIED# # create new moses.ini decoder config file by cloning and overriding the original one
|
| 1228 |
+
##COPIED# open(INI,$infn) or die "Can't read $infn";
|
| 1229 |
+
##COPIED# delete($P{"config"}); # never output
|
| 1230 |
+
##COPIED# print "Saving new config to: $outfn\n";
|
| 1231 |
+
##COPIED# open(OUT,"> $outfn") or die "Can't write $outfn";
|
| 1232 |
+
##COPIED# print OUT "# MERT optimized configuration\n";
|
| 1233 |
+
##COPIED# print OUT "# decoder $___DECODER\n";
|
| 1234 |
+
##COPIED# print OUT "# BLEU $bleu_achieved on dev $___DEV_F\n";
|
| 1235 |
+
##COPIED# print OUT "# We were before running iteration $iteration\n";
|
| 1236 |
+
##COPIED# print OUT "# finished ".`date`;
|
| 1237 |
+
##COPIED# my $line = <INI>;
|
| 1238 |
+
##COPIED# while(1) {
|
| 1239 |
+
##COPIED# last unless $line;
|
| 1240 |
+
##COPIED#
|
| 1241 |
+
##COPIED# # skip until hit [parameter]
|
| 1242 |
+
##COPIED# if ($line !~ /^\[(.+)\]\s*$/) {
|
| 1243 |
+
##COPIED# $line = <INI>;
|
| 1244 |
+
##COPIED# print OUT $line if $line =~ /^\#/ || $line =~ /^\s+$/;
|
| 1245 |
+
##COPIED# next;
|
| 1246 |
+
##COPIED# }
|
| 1247 |
+
##COPIED#
|
| 1248 |
+
##COPIED# # parameter name
|
| 1249 |
+
##COPIED# my $parameter = $1;
|
| 1250 |
+
##COPIED# $parameter = $ABBR2FULL{$parameter} if defined($ABBR2FULL{$parameter});
|
| 1251 |
+
##COPIED# print OUT "[$parameter]\n";
|
| 1252 |
+
##COPIED#
|
| 1253 |
+
##COPIED# # change parameter, if new values
|
| 1254 |
+
##COPIED# if (defined($P{$parameter})) {
|
| 1255 |
+
##COPIED# # write new values
|
| 1256 |
+
##COPIED# foreach (@{$P{$parameter}}) {
|
| 1257 |
+
##COPIED# print OUT $_."\n";
|
| 1258 |
+
##COPIED# }
|
| 1259 |
+
##COPIED# delete($P{$parameter});
|
| 1260 |
+
##COPIED# # skip until new parameter, only write comments
|
| 1261 |
+
##COPIED# while($line = <INI>) {
|
| 1262 |
+
##COPIED# print OUT $line if $line =~ /^\#/ || $line =~ /^\s+$/;
|
| 1263 |
+
##COPIED# last if $line =~ /^\[/;
|
| 1264 |
+
##COPIED# last unless $line;
|
| 1265 |
+
##COPIED# }
|
| 1266 |
+
##COPIED# next;
|
| 1267 |
+
##COPIED# }
|
| 1268 |
+
##COPIED#
|
| 1269 |
+
##COPIED# # unchanged parameter, write old
|
| 1270 |
+
##COPIED# while($line = <INI>) {
|
| 1271 |
+
##COPIED# last if $line =~ /^\[/;
|
| 1272 |
+
##COPIED# print OUT $line;
|
| 1273 |
+
##COPIED# }
|
| 1274 |
+
##COPIED# }
|
| 1275 |
+
##COPIED#
|
| 1276 |
+
##COPIED# # write all additional parameters
|
| 1277 |
+
##COPIED# foreach my $parameter (keys %P) {
|
| 1278 |
+
##COPIED# print OUT "\n[$parameter]\n";
|
| 1279 |
+
##COPIED# foreach (@{$P{$parameter}}) {
|
| 1280 |
+
##COPIED# print OUT $_."\n";
|
| 1281 |
+
##COPIED# }
|
| 1282 |
+
##COPIED# }
|
| 1283 |
+
##COPIED#
|
| 1284 |
+
##COPIED# close(INI);
|
| 1285 |
+
##COPIED# close(OUT);
|
| 1286 |
+
##COPIED# print STDERR "Saved: $outfn\n";
|
| 1287 |
+
##COPIED#}
|
| 1288 |
+
|
| 1289 |
+
sub safesystem {
|
| 1290 |
+
print STDERR "Executing: @_\n";
|
| 1291 |
+
system(@_);
|
| 1292 |
+
if ($? == -1) {
|
| 1293 |
+
print STDERR "Failed to execute: @_\n $!\n";
|
| 1294 |
+
exit(1);
|
| 1295 |
+
}
|
| 1296 |
+
elsif ($? & 127) {
|
| 1297 |
+
printf STDERR "Execution of: @_\n died with signal %d, %s coredump\n",
|
| 1298 |
+
($? & 127), ($? & 128) ? 'with' : 'without';
|
| 1299 |
+
exit(1);
|
| 1300 |
+
}
|
| 1301 |
+
else {
|
| 1302 |
+
my $exitcode = $? >> 8;
|
| 1303 |
+
print STDERR "Exit code: $exitcode\n" if $exitcode;
|
| 1304 |
+
return ! $exitcode;
|
| 1305 |
+
}
|
| 1306 |
+
}
|
| 1307 |
+
sub ensure_full_path {
|
| 1308 |
+
my $PATH = shift;
|
| 1309 |
+
$PATH =~ s/\/nfsmnt//;
|
| 1310 |
+
return $PATH if $PATH =~ /^\//;
|
| 1311 |
+
my $dir = `pawd 2>/dev/null`;
|
| 1312 |
+
if(!$dir){$dir = `pwd`;}
|
| 1313 |
+
chomp($dir);
|
| 1314 |
+
$PATH = $dir."/".$PATH;
|
| 1315 |
+
$PATH =~ s/[\r\n]//g;
|
| 1316 |
+
$PATH =~ s/\/\.\//\//g;
|
| 1317 |
+
$PATH =~ s/\/+/\//g;
|
| 1318 |
+
my $sanity = 0;
|
| 1319 |
+
while($PATH =~ /\/\.\.\// && $sanity++<10) {
|
| 1320 |
+
$PATH =~ s/\/+/\//g;
|
| 1321 |
+
$PATH =~ s/\/[^\/]+\/\.\.\//\//g;
|
| 1322 |
+
}
|
| 1323 |
+
$PATH =~ s/\/[^\/]+\/\.\.$//;
|
| 1324 |
+
$PATH =~ s/\/+$//;
|
| 1325 |
+
$PATH =~ s/\/nfsmnt//;
|
| 1326 |
+
return $PATH;
|
| 1327 |
+
}
|
| 1328 |
+
|
| 1329 |
+
sub submit_or_exec {
|
| 1330 |
+
|
| 1331 |
+
my $argvlen = @_;
|
| 1332 |
+
my $cmd = undef;
|
| 1333 |
+
my $stdout = undef;
|
| 1334 |
+
my $stderr = undef;
|
| 1335 |
+
my $jidfile = undef;
|
| 1336 |
+
my $prevjid = undef;
|
| 1337 |
+
|
| 1338 |
+
# if supply 3 arguments, exec without submit
|
| 1339 |
+
# if supply 4 arguments, then submit new job
|
| 1340 |
+
# if supply 5 arguments, wait for the previous job to finish
|
| 1341 |
+
if ($argvlen == 3){
|
| 1342 |
+
($cmd,$stdout,$stderr) = @_;
|
| 1343 |
+
} elsif ($argvlen == 4){
|
| 1344 |
+
($cmd,$stdout,$stderr,$jidfile) = @_;
|
| 1345 |
+
} elsif ($argvlen == 5){
|
| 1346 |
+
($cmd,$stdout,$stderr,$jidfile,$prevjid) = @_;
|
| 1347 |
+
}
|
| 1348 |
+
|
| 1349 |
+
print STDERR "exec: $cmd\n";
|
| 1350 |
+
if (defined $___JOBS && $___JOBS > 0 && $argvlen==5) {
|
| 1351 |
+
safesystem("$qsubwrapper $pass_old_sge -command='$cmd' -queue-parameters=\"$queue_flags\" -stdout=$stdout -stderr=$stderr -jidfile=$jidfile -prevjid=$prevjid" )
|
| 1352 |
+
or die "ERROR: Failed to submit '$cmd' (via $qsubwrapper)";
|
| 1353 |
+
}
|
| 1354 |
+
elsif (defined $___JOBS && $___JOBS > 0 && $argvlen==4) {
|
| 1355 |
+
safesystem("$qsubwrapper $pass_old_sge -command='$cmd' -queue-parameters=\"$queue_flags\" -stdout=$stdout -stderr=$stderr -jidfile=$jidfile" )
|
| 1356 |
+
or die "ERROR: Failed to submit '$cmd' (via $qsubwrapper)";
|
| 1357 |
+
} else {
|
| 1358 |
+
safesystem("$cmd > $stdout 2> $stderr") or die "ERROR: Failed to run '$cmd'.";
|
| 1359 |
+
}
|
| 1360 |
+
}
|
| 1361 |
+
|
| 1362 |
+
sub exit_submit {
|
| 1363 |
+
|
| 1364 |
+
my $argvlen = @_;
|
| 1365 |
+
my $cmd = undef;
|
| 1366 |
+
my $stdout = undef;
|
| 1367 |
+
my $stderr = undef;
|
| 1368 |
+
my $jidfile = undef;
|
| 1369 |
+
my $pidfile = undef;
|
| 1370 |
+
my $prevjid = undef;
|
| 1371 |
+
my $prevjidarraysize = 0;
|
| 1372 |
+
my @prevjidarray = ();
|
| 1373 |
+
my $pid = undef;
|
| 1374 |
+
my $qsubcmd="";
|
| 1375 |
+
my $hj="";
|
| 1376 |
+
|
| 1377 |
+
# if supply 4 arguments, then submit new job
|
| 1378 |
+
# if supply 5 arguments, wait for the previous job to finish
|
| 1379 |
+
if ($argvlen == 2) {
|
| 1380 |
+
($stdout,$stderr) = @_;
|
| 1381 |
+
} elsif ($argvlen == 4){
|
| 1382 |
+
($stdout,$stderr,$jidfile,$pidfile) = @_;
|
| 1383 |
+
} elsif ($argvlen == 5){
|
| 1384 |
+
($stdout,$stderr,$jidfile,$pidfile,$prevjid) = @_;
|
| 1385 |
+
}
|
| 1386 |
+
|
| 1387 |
+
# parse prevjid ########################
|
| 1388 |
+
$prevjid =~ s/^\s+|\s+$//g;
|
| 1389 |
+
@prevjidarray = split(/\s+/,$prevjid);
|
| 1390 |
+
$prevjidarraysize = scalar(@prevjidarray);
|
| 1391 |
+
########################################
|
| 1392 |
+
|
| 1393 |
+
|
| 1394 |
+
# print STDERR "exec: $stdout\n";
|
| 1395 |
+
|
| 1396 |
+
# read pid from file, and draft exit script ##################
|
| 1397 |
+
chomp ($pid=`tail -n 1 $pidfile`);
|
| 1398 |
+
open (OUT, ">exitjob$pid.sh");
|
| 1399 |
+
|
| 1400 |
+
my $scriptheader="\#\!/bin/bash\n\#\$ -S /bin/sh\n# Both lines are needed to invoke base\n#the above line is ignored by qsub, unless parameter \"-b yes\" is set!\n\n";
|
| 1401 |
+
$scriptheader .="uname -a\n\n";
|
| 1402 |
+
$scriptheader .="cd $___WORKING_DIR\n\n";
|
| 1403 |
+
|
| 1404 |
+
print OUT $scriptheader;
|
| 1405 |
+
|
| 1406 |
+
print OUT "if $qsubwrapper_exit -stdout=$stdout -stderr=$stderr -jidfile=$jidfile -pidfile=$pidfile > exitjob$pid.out 2> exitjob$pid.err ; then
|
| 1407 |
+
echo 'succeeded'
|
| 1408 |
+
else
|
| 1409 |
+
echo failed with exit status \$\?
|
| 1410 |
+
die=1
|
| 1411 |
+
fi
|
| 1412 |
+
";
|
| 1413 |
+
print OUT "\n\n";
|
| 1414 |
+
|
| 1415 |
+
close (OUT);
|
| 1416 |
+
# setting permissions of the script
|
| 1417 |
+
chmod(oct(755),"exitjob$pid.sh");
|
| 1418 |
+
##############################################################
|
| 1419 |
+
|
| 1420 |
+
|
| 1421 |
+
if (defined $___JOBS && $___JOBS > 0 && $argvlen==5) {
|
| 1422 |
+
if (defined $prevjid && $prevjid!=-1 && $prevjidarraysize == 1){
|
| 1423 |
+
$hj = "-hold_jid $prevjid";
|
| 1424 |
+
} elsif (defined $prevjid && $prevjidarraysize > 1){
|
| 1425 |
+
$hj = "-hold_jid " . join(" -hold_jid ", @prevjidarray);
|
| 1426 |
+
}
|
| 1427 |
+
$qsubcmd="qsub $queue_flags -o /dev/null -e /dev/null -V $hj exitjob$pid.sh > exitjob$pid.log 2>&1";
|
| 1428 |
+
safesystem($qsubcmd) or die "ERROR: Failed to exit-submit $pid (via $qsubwrapper_exit)";
|
| 1429 |
+
} elsif (defined $___JOBS && $___JOBS > 0 && $argvlen==4) {
|
| 1430 |
+
$qsubcmd="qsub $queue_flags -o /dev/null -e /dev/null -V exitjob$pid.sh > exitjob$pid.log 2>&1";
|
| 1431 |
+
safesystem($qsubcmd) or die "ERROR: Failed to exit-submit $pid (via $qsubwrapper_exit)";
|
| 1432 |
+
} else {
|
| 1433 |
+
safesystem("rm $stdout") or die "ERROR: Failed to remove '$stdout'.";
|
| 1434 |
+
safesystem("rm $stderr") or die "ERROR: Failed to remove '$stderr'.";
|
| 1435 |
+
}
|
| 1436 |
+
}
|
| 1437 |
+
|
| 1438 |
+
|
| 1439 |
+
|
| 1440 |
+
|
| 1441 |
+
|
| 1442 |
+
|
| 1443 |
+
|
| 1444 |
+
sub create_extractor_script()
|
| 1445 |
+
{
|
| 1446 |
+
my ($cmd, $outdir) = @_;
|
| 1447 |
+
my $script_path = File::Spec->catfile($outdir, "extractor.sh");
|
| 1448 |
+
|
| 1449 |
+
open my $out, '>', $script_path
|
| 1450 |
+
or die "Couldn't open $script_path for writing: $!\n";
|
| 1451 |
+
print $out "#!/bin/bash\n";
|
| 1452 |
+
print $out "cd $outdir\n";
|
| 1453 |
+
print $out "$cmd\n";
|
| 1454 |
+
close($out);
|
| 1455 |
+
|
| 1456 |
+
`chmod +x $script_path`;
|
| 1457 |
+
|
| 1458 |
+
return $script_path;
|
| 1459 |
+
}
|
| 1460 |
+
|
| 1461 |
+
|
| 1462 |
+
sub submit_or_exec_thu_host {
|
| 1463 |
+
# use Net::OpenSSH::Compat::Perl;
|
| 1464 |
+
|
| 1465 |
+
my $argvlen = @_;
|
| 1466 |
+
my $submithost = undef;
|
| 1467 |
+
my $run = -1;
|
| 1468 |
+
my $idx = "";
|
| 1469 |
+
my $batch_and_join = "";
|
| 1470 |
+
my $my_username = undef;
|
| 1471 |
+
my $cmd = undef;
|
| 1472 |
+
my $qsubwrapcmd = undef;
|
| 1473 |
+
my $stdout = undef;
|
| 1474 |
+
my $stderr = undef;
|
| 1475 |
+
my $jidfile = undef;
|
| 1476 |
+
my $prevjid = undef;
|
| 1477 |
+
|
| 1478 |
+
my $qsubname = undef;
|
| 1479 |
+
|
| 1480 |
+
# if supply 7 arguments, exec without submit
|
| 1481 |
+
# if supply 8 arguments, then submit new job
|
| 1482 |
+
# if supply 9 arguments, wait for the previous job to finish
|
| 1483 |
+
if ($argvlen == 7){
|
| 1484 |
+
($submithost,$run,$idx,$cmd,$batch_and_join,$stdout,$stderr) = @_;
|
| 1485 |
+
} elsif ($argvlen == 8){
|
| 1486 |
+
($submithost,$run,$idx,$cmd,$batch_and_join,$stdout,$stderr,$jidfile) = @_;
|
| 1487 |
+
} elsif ($argvlen == 9){
|
| 1488 |
+
($submithost,$run,$idx,$cmd,$batch_and_join,$stdout,$stderr,$jidfile,$prevjid) = @_;
|
| 1489 |
+
}
|
| 1490 |
+
|
| 1491 |
+
|
| 1492 |
+
|
| 1493 |
+
# chomp($my_username = `whoami`);
|
| 1494 |
+
# my $ssh = Net::OpenSSH::Compat::Perl->new($submithost, debug=>0);
|
| 1495 |
+
#
|
| 1496 |
+
# print STDERR "submithost = $submithost\n";
|
| 1497 |
+
# print STDERR "my username = $my_username\n";
|
| 1498 |
+
# print STDERR "qusbwrapper at = $qsubwrapper\n";
|
| 1499 |
+
#
|
| 1500 |
+
# $ssh->login("$my_username",`cat /home/$my_username/accpw`);
|
| 1501 |
+
my $ssh = Net::OpenSSH::Compat::Perl->new($submithost, debug=>0);
|
| 1502 |
+
|
| 1503 |
+
print STDERR "submithost = $submithost\n";
|
| 1504 |
+
print STDERR "qusbwrapper at = $qsubwrapper\n";
|
| 1505 |
+
|
| 1506 |
+
$ssh->login();
|
| 1507 |
+
|
| 1508 |
+
#### extra for mert-moses-sge-nosync.pl ####
|
| 1509 |
+
if ($qsubprefix eq ""){
|
| 1510 |
+
$qsubname = $stdout;
|
| 1511 |
+
} else {
|
| 1512 |
+
$qsubname = $qsubprefix;
|
| 1513 |
+
}
|
| 1514 |
+
my $queueparameters = $queue_flags;
|
| 1515 |
+
############################################
|
| 1516 |
+
|
| 1517 |
+
# $cmd="qsub $queueparameters $batch_and_join -o $qsubout$idx -e $qsuberr$idx -N $qsubname$idx ${jobscript}${idx}.bash > ${jobscript}${idx}.log 2>&1";
|
| 1518 |
+
# -o qsubout
|
| 1519 |
+
# -e qsuberr
|
| 1520 |
+
if ($argvlen == 9) {
|
| 1521 |
+
$qsubwrapcmd = "$qsubwrapper -command='$cmd' -queue-parameter=\"$queueparameters $batch_and_join\" -qsub-prefix='$qsubname$idx' -stdout=$stdout -stderr=$stderr -jidfile=$jidfile -prevjid='$prevjid'";
|
| 1522 |
+
} elsif ($argvlen == 8) {
|
| 1523 |
+
# $qsubwrapcmd = "$qsubwrapper -command='${jobscript}${idx}.bash' -queue-parameter=\"$queueparameters $batch_and_join\" -qsub-prefix='$qsubname$idx' -stdout=$stdout -stderr=$stderr -jidfile=$jidfile";
|
| 1524 |
+
$qsubwrapcmd = "$qsubwrapper -command='$cmd' -queue-parameter=\"$queueparameters $batch_and_join\" -qsub-prefix='$qsubname$idx' -stdout=$stdout -stderr=$stderr -jidfile=$jidfile";
|
| 1525 |
+
}
|
| 1526 |
+
print STDERR "Executing $qsubwrapcmd in $___WORKING_DIR\n";
|
| 1527 |
+
$ssh->cmd("cd $___WORKING_DIR && $qsubwrapcmd");
|
| 1528 |
+
|
| 1529 |
+
}
|
| 1530 |
+
|
| 1531 |
+
sub exit_submit_thu_host {
|
| 1532 |
+
|
| 1533 |
+
my $argvlen = @_;
|
| 1534 |
+
my $submithost = undef;
|
| 1535 |
+
my $run = -1;
|
| 1536 |
+
my $idx = "";
|
| 1537 |
+
my $batch_and_join = "";
|
| 1538 |
+
my $my_username = undef;
|
| 1539 |
+
my $cmd = undef;
|
| 1540 |
+
my $stdout = undef;
|
| 1541 |
+
my $stderr = undef;
|
| 1542 |
+
my $jidfile = undef;
|
| 1543 |
+
my $pidfile = undef;
|
| 1544 |
+
my $prevjid = undef;
|
| 1545 |
+
my $prevjidarraysize = 0;
|
| 1546 |
+
my @prevjidarray = ();
|
| 1547 |
+
my $pid = undef;
|
| 1548 |
+
my $qsubcmd="";
|
| 1549 |
+
my $hj="";
|
| 1550 |
+
|
| 1551 |
+
# if supply 8 arguments, then submit new job
|
| 1552 |
+
# if supply 9 arguments, wait for the previous job to finish
|
| 1553 |
+
if ($argvlen == 6){
|
| 1554 |
+
($submithost,$run,$idx,$batch_and_join,$stdout,$stderr) = @_;
|
| 1555 |
+
} elsif ($argvlen == 8){
|
| 1556 |
+
($submithost,$run,$idx,$batch_and_join,$stdout,$stderr,$jidfile,$pidfile) = @_;
|
| 1557 |
+
} elsif ($argvlen == 9){
|
| 1558 |
+
($submithost,$run,$idx,$batch_and_join,$stdout,$stderr,$jidfile,$pidfile,$prevjid) = @_;
|
| 1559 |
+
}
|
| 1560 |
+
|
| 1561 |
+
# parse prevjid ########################
|
| 1562 |
+
$prevjid =~ s/^\s+|\s+$//g;
|
| 1563 |
+
@prevjidarray = split(/\s+/,$prevjid);
|
| 1564 |
+
$prevjidarraysize = scalar(@prevjidarray);
|
| 1565 |
+
########################################
|
| 1566 |
+
|
| 1567 |
+
#### extra for mert-moses-sge-nosync.pl ####
|
| 1568 |
+
my $queueparameters = $queue_flags;
|
| 1569 |
+
############################################
|
| 1570 |
+
|
| 1571 |
+
|
| 1572 |
+
|
| 1573 |
+
# print STDERR "exec: $stdout\n";
|
| 1574 |
+
|
| 1575 |
+
# read pid from file, and draft exit script ##################
|
| 1576 |
+
chomp ($pid=`tail -n 1 $pidfile`);
|
| 1577 |
+
open (OUT, ">exitjob$pid.sh");
|
| 1578 |
+
|
| 1579 |
+
my $scriptheader="\#\!/bin/bash\n\#\$ -S /bin/sh\n# Both lines are needed to invoke base\n#the above line is ignored by qsub, unless parameter \"-b yes\" is set!\n\n";
|
| 1580 |
+
$scriptheader .="uname -a\n\n";
|
| 1581 |
+
$scriptheader .="cd $___WORKING_DIR\n\n";
|
| 1582 |
+
|
| 1583 |
+
print OUT $scriptheader;
|
| 1584 |
+
|
| 1585 |
+
print OUT "if $qsubwrapper_exit -submithost=$submithost -stdout=$stdout -stderr=$stderr -jidfile=$jidfile -pidfile=$pidfile > exitjob$pid.out 2> exitjob$pid.err ; then
|
| 1586 |
+
echo 'succeeded'
|
| 1587 |
+
else
|
| 1588 |
+
echo failed with exit status \$\?
|
| 1589 |
+
die=1
|
| 1590 |
+
fi
|
| 1591 |
+
";
|
| 1592 |
+
print OUT "\n\n";
|
| 1593 |
+
|
| 1594 |
+
close (OUT);
|
| 1595 |
+
# setting permissions of the script
|
| 1596 |
+
chmod(oct(755),"exitjob$pid.sh");
|
| 1597 |
+
##############################################################
|
| 1598 |
+
|
| 1599 |
+
# log in submit host #########################################
|
| 1600 |
+
# chomp($my_username = `whoami`);
|
| 1601 |
+
# my $ssh = Net::OpenSSH::Compat::Perl->new($submithost, debug=>0);
|
| 1602 |
+
#
|
| 1603 |
+
# print STDERR "submithost = $submithost\n";
|
| 1604 |
+
# print STDERR "my username = $my_username\n";
|
| 1605 |
+
# print STDERR "qusbwrapper at = $qsubwrapper\n";
|
| 1606 |
+
#
|
| 1607 |
+
# $ssh->login("$my_username",`cat /home/$my_username/accpw`);
|
| 1608 |
+
##############################################################
|
| 1609 |
+
my $ssh = Net::OpenSSH::Compat::Perl->new($submithost, debug=>0);
|
| 1610 |
+
|
| 1611 |
+
print STDERR "submithost = $submithost\n";
|
| 1612 |
+
print STDERR "qusbwrapper at = $qsubwrapper\n";
|
| 1613 |
+
|
| 1614 |
+
$ssh->login();
|
| 1615 |
+
|
| 1616 |
+
|
| 1617 |
+
if ($argvlen==9) {
|
| 1618 |
+
if (defined $prevjid && $prevjid!=-1 && $prevjidarraysize == 1){
|
| 1619 |
+
$hj = "-hold_jid $prevjid";
|
| 1620 |
+
} elsif (defined $prevjid && $prevjidarraysize > 1){
|
| 1621 |
+
$hj = "-hold_jid " . join(" -hold_jid ", @prevjidarray);
|
| 1622 |
+
}
|
| 1623 |
+
$qsubcmd="qsub $queueparameters -o /dev/null -e /dev/null $hj exitjob$pid.sh > exitjob$pid.log 2>&1";
|
| 1624 |
+
$ssh->cmd("cd $___WORKING_DIR && $qsubcmd");
|
| 1625 |
+
} elsif ($argvlen==8) {
|
| 1626 |
+
$qsubcmd="qsub $queueparameters -o /dev/null -e /dev/null exitjob$pid.sh > exitjob$pid.log 2>&1";
|
| 1627 |
+
$ssh->cmd("cd $___WORKING_DIR && $qsubcmd");
|
| 1628 |
+
}
|
| 1629 |
+
print STDERR "Executing $qsubcmd in $___WORKING_DIR\n";
|
| 1630 |
+
|
| 1631 |
+
}
|
| 1632 |
+
|
| 1633 |
+
|
mosesdecoder/contrib/mert-sge-nosync/training/sge-nosync/cleartmpfiles.pl
ADDED
|
@@ -0,0 +1,64 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
#!/usr/bin/perl
|
| 2 |
+
|
| 3 |
+
|
| 4 |
+
my @filename_id = "";
|
| 5 |
+
my $this_id = "";
|
| 6 |
+
|
| 7 |
+
# remove exitjob and forceexitjob
|
| 8 |
+
chomp(my @rddfile_list = `ls exitjob* forceexitjob*`);
|
| 9 |
+
foreach my $rddfile (@rddfile_list) {
|
| 10 |
+
unlink("$rddfile");
|
| 11 |
+
}
|
| 12 |
+
|
| 13 |
+
chomp(@filename_id = `ls *.id | grep -v 'clear'`);
|
| 14 |
+
open (OUT, "> all.id.all");
|
| 15 |
+
print OUT "==Combine log at ".`date`;
|
| 16 |
+
print OUT `tail -n +1 *.id`;
|
| 17 |
+
print OUT "==LOG combined ".`date`;
|
| 18 |
+
close(OUT);
|
| 19 |
+
foreach $this_id (@filename_id) {
|
| 20 |
+
# print OUT `cat $this_id`;
|
| 21 |
+
unlink("$this_id");
|
| 22 |
+
}
|
| 23 |
+
|
| 24 |
+
chomp (@filename_id = `ls *.id.pid | grep -v 'clear'`);
|
| 25 |
+
open (OUT, "> all.id.pid.all");
|
| 26 |
+
print OUT "==Combine log at ".`date`;
|
| 27 |
+
print OUT `tail -n +1 *.id.pid`;
|
| 28 |
+
print OUT "==Log combined ".`date`;
|
| 29 |
+
close(OUT);
|
| 30 |
+
foreach $this_id (@filename_id) {
|
| 31 |
+
# print OUT `cat $this_id`;
|
| 32 |
+
unlink("$this_id");
|
| 33 |
+
}
|
| 34 |
+
|
| 35 |
+
|
| 36 |
+
|
| 37 |
+
chomp(@filename_id = `ls *.out | grep -v 'clear'`);
|
| 38 |
+
open (OUT, "> all.out.all");
|
| 39 |
+
print OUT "==Combine log at ".`date`;
|
| 40 |
+
print OUT `tail -n +1 *.out`;
|
| 41 |
+
print OUT "==Log combined ".`date`;
|
| 42 |
+
close(OUT);
|
| 43 |
+
foreach $this_id (@filename_id) {
|
| 44 |
+
# print OUT `cat $this_id`;
|
| 45 |
+
unlink("$this_id");
|
| 46 |
+
}
|
| 47 |
+
|
| 48 |
+
chomp(@filename_id = `ls *.err | grep -v 'clear'`);
|
| 49 |
+
open (OUT, "> all.err.all");
|
| 50 |
+
print OUT "==Combine log at ".`date`;
|
| 51 |
+
print OUT `tail -n +1 *.err`;
|
| 52 |
+
print OUT "==Log combined ".`date`;
|
| 53 |
+
close(OUT);
|
| 54 |
+
foreach $this_id (@filename_id) {
|
| 55 |
+
# print OUT `cat $this_id`;
|
| 56 |
+
unlink("$this_id");
|
| 57 |
+
}
|
| 58 |
+
|
| 59 |
+
# waitall.sh which cannot be deleted inside moses-parallel-sge-nosync.pl
|
| 60 |
+
chomp(@filename_id = `ls *waitall.sh`);
|
| 61 |
+
foreach $this_id (@filename_id) {
|
| 62 |
+
unlink("$this_id");
|
| 63 |
+
}
|
| 64 |
+
|
mosesdecoder/contrib/mert-sge-nosync/training/sge-nosync/create-config-sge-nosync.pl
ADDED
|
@@ -0,0 +1,426 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
#!/usr/bin/perl -w
|
| 2 |
+
|
| 3 |
+
# $Id$
|
| 4 |
+
# after filter-mode-given-input.pl, process the feature list
|
| 5 |
+
|
| 6 |
+
# original code by Philipp Koehn
|
| 7 |
+
# changes by Ondrej Bojar
|
| 8 |
+
# adapted for hierarchical models by Phil Williams
|
| 9 |
+
|
| 10 |
+
use strict;
|
| 11 |
+
|
| 12 |
+
use FindBin qw($Bin);
|
| 13 |
+
use Getopt::Long;
|
| 14 |
+
|
| 15 |
+
|
| 16 |
+
|
| 17 |
+
my $SCRIPTS_ROOTDIR;
|
| 18 |
+
if (defined($ENV{"SCRIPTS_ROOTDIR"})) {
|
| 19 |
+
$SCRIPTS_ROOTDIR = $ENV{"SCRIPTS_ROOTDIR"};
|
| 20 |
+
} else {
|
| 21 |
+
$SCRIPTS_ROOTDIR = $Bin;
|
| 22 |
+
if ($SCRIPTS_ROOTDIR eq '') {
|
| 23 |
+
$SCRIPTS_ROOTDIR = dirname(__FILE__);
|
| 24 |
+
}
|
| 25 |
+
$SCRIPTS_ROOTDIR =~ s/\/training$//;
|
| 26 |
+
$ENV{"SCRIPTS_ROOTDIR"} = $SCRIPTS_ROOTDIR;
|
| 27 |
+
}
|
| 28 |
+
|
| 29 |
+
|
| 30 |
+
# moses.ini file uses FULL names for lambdas, while this training script
|
| 31 |
+
# internally (and on the command line) uses ABBR names.
|
| 32 |
+
my @ABBR_FULL_MAP = qw(d=weight-d lm=weight-l tm=weight-t w=weight-w
|
| 33 |
+
g=weight-generation lex=weight-lex I=weight-i);
|
| 34 |
+
my %ABBR2FULL = map {split/=/,$_,2} @ABBR_FULL_MAP;
|
| 35 |
+
my %FULL2ABBR = map {my ($a, $b) = split/=/,$_,2; ($b, $a);} @ABBR_FULL_MAP;
|
| 36 |
+
|
| 37 |
+
|
| 38 |
+
|
| 39 |
+
my $verbose = 0;
|
| 40 |
+
my $usage = 0; # request for --help
|
| 41 |
+
|
| 42 |
+
|
| 43 |
+
|
| 44 |
+
|
| 45 |
+
##!# # consider phrases in input up to $MAX_LENGTH
|
| 46 |
+
##!# # in other words, all phrase-tables will be truncated at least to 10 words per
|
| 47 |
+
##!# # phrase.
|
| 48 |
+
##!# my $MAX_LENGTH = 10;
|
| 49 |
+
|
| 50 |
+
# utilities
|
| 51 |
+
##!# my $ZCAT = "gzip -cd";
|
| 52 |
+
|
| 53 |
+
# get optional parameters
|
| 54 |
+
##!# my $opt_hierarchical = 0;
|
| 55 |
+
##!# my $binarizer = undef;
|
| 56 |
+
##!# my $opt_min_non_initial_rule_count = undef;
|
| 57 |
+
##!# my $opt_gzip = 1; # gzip output files (so far only phrase-based ttable until someone tests remaining models and formats)
|
| 58 |
+
|
| 59 |
+
my $___RANGES = undef;
|
| 60 |
+
my $___ACTIVATE_FEATURES = undef; # comma-separated (or blank-separated) list of features to work on
|
| 61 |
+
# if undef work on all features
|
| 62 |
+
# (others are fixed to the starting values)
|
| 63 |
+
my $___DECODER_FLAGS = ""; # additional parametrs to pass to the decoder
|
| 64 |
+
|
| 65 |
+
my $devbleu = undef;
|
| 66 |
+
my $___WORKING_DIR = undef;
|
| 67 |
+
my $___DEV_F = undef;
|
| 68 |
+
my $run = undef; # either first or final
|
| 69 |
+
my $runid_final = undef;
|
| 70 |
+
my $runid_finalplus=0;
|
| 71 |
+
my $sparse_weights_file = undef;
|
| 72 |
+
|
| 73 |
+
|
| 74 |
+
# set 0 if input type is text, set 1 if input type is confusion network
|
| 75 |
+
my $___INPUTTYPE = 0;
|
| 76 |
+
|
| 77 |
+
my $___DECODER = undef; # required, pathname to the decoder executable
|
| 78 |
+
my $___CONFIG = undef; # required, pathname to startup ini file
|
| 79 |
+
|
| 80 |
+
|
| 81 |
+
GetOptions(
|
| 82 |
+
"activate-features=s" => \$___ACTIVATE_FEATURES, #comma-separated (or blank-separated) list of features to work on (others are fixed to the starting values)
|
| 83 |
+
"range=s@" => \$___RANGES,
|
| 84 |
+
"decoder-flags=s" => \$___DECODER_FLAGS,
|
| 85 |
+
"inputtype=i" => \$___INPUTTYPE,
|
| 86 |
+
"devbleu=s" => \$devbleu,
|
| 87 |
+
"sparse_weight_file=s" => \$sparse_weights_file,
|
| 88 |
+
"working-dir=s" => \$___WORKING_DIR,
|
| 89 |
+
) or exit(1);
|
| 90 |
+
|
| 91 |
+
##!# GetOptions(
|
| 92 |
+
##!# "gzip!" => \$opt_gzip,
|
| 93 |
+
##!# "Hierarchical" => \$opt_hierarchical,
|
| 94 |
+
##!# "Binarizer=s" => \$binarizer,
|
| 95 |
+
##!# "MinNonInitialRuleCount=i" => \$opt_min_non_initial_rule_count
|
| 96 |
+
##!# ) or exit(1);
|
| 97 |
+
|
| 98 |
+
|
| 99 |
+
# the ?? required parameters can be supplied on the command line directly
|
| 100 |
+
# or using the --options
|
| 101 |
+
if (scalar @ARGV == 4) {
|
| 102 |
+
# required parameters: options
|
| 103 |
+
$___DEV_F = shift;
|
| 104 |
+
$___DECODER = shift;
|
| 105 |
+
$___CONFIG = shift;
|
| 106 |
+
$run = shift; # first or final
|
| 107 |
+
}
|
| 108 |
+
|
| 109 |
+
if ($usage || !defined $___DECODER || !defined $___CONFIG) {
|
| 110 |
+
print STDERR "usage: $0 \$___DECODER \$___CONFIG(decoder.ini)
|
| 111 |
+
Options:
|
| 112 |
+
--activate-features=STRING ... comma-separated list of features to optimize,
|
| 113 |
+
others are fixed to the starting values
|
| 114 |
+
default: optimize all features
|
| 115 |
+
example: tm_0,tm_4,d_0
|
| 116 |
+
--range=tm:0..1,-1..1 ... specify min and max value for some features
|
| 117 |
+
--range can be repeated as needed.
|
| 118 |
+
The order of the various --range specifications
|
| 119 |
+
is important only within a feature name.
|
| 120 |
+
E.g.:
|
| 121 |
+
--range=tm:0..1,-1..1 --range=tm:0..2
|
| 122 |
+
is identical to:
|
| 123 |
+
--range=tm:0..1,-1..1,0..2
|
| 124 |
+
but not to:
|
| 125 |
+
--range=tm:0..2 --range=tm:0..1,-1..1
|
| 126 |
+
--decoder-flags=STRING ... extra parameters for the decoder
|
| 127 |
+
--inputtype=[0|1|2] ... Handle different input types: (0 for text,
|
| 128 |
+
1 for confusion network, 2 for lattices,
|
| 129 |
+
default is 0)
|
| 130 |
+
";
|
| 131 |
+
exit 1;
|
| 132 |
+
}
|
| 133 |
+
|
| 134 |
+
|
| 135 |
+
|
| 136 |
+
##!# # get command line parameters
|
| 137 |
+
##!# my $dir = shift;
|
| 138 |
+
##!# my $config = shift;
|
| 139 |
+
##!# my $input = shift;
|
| 140 |
+
|
| 141 |
+
##!# $dir = ensure_full_path($dir);
|
| 142 |
+
|
| 143 |
+
############################################################
|
| 144 |
+
############################################################
|
| 145 |
+
############################################################
|
| 146 |
+
|
| 147 |
+
# main
|
| 148 |
+
|
| 149 |
+
# we run moses to check validity of moses.ini and to obtain all the feature
|
| 150 |
+
# names
|
| 151 |
+
|
| 152 |
+
if (($run eq "first")){
|
| 153 |
+
my $featlist = get_featlist_from_moses($___CONFIG,$___CONFIG,"first");
|
| 154 |
+
$featlist = insert_ranges_to_featlist($featlist, $___RANGES);
|
| 155 |
+
create_config($___CONFIG,"$___WORKING_DIR/run1.moses.ini",$featlist,1,(defined$devbleu?$devbleu:"--not-estimated--"),$sparse_weights_file);
|
| 156 |
+
} else { # $run eq "final"
|
| 157 |
+
chomp ($runid_final = `cat $___WORKING_DIR/finished_step.txt | tail -n 1`);
|
| 158 |
+
$runid_finalplus = $runid_final + 1;
|
| 159 |
+
`mv run${runid_finalplus}.moses.ini run_final.moses.ini`;
|
| 160 |
+
chomp ($devbleu = `cat $___WORKING_DIR/run_final.moses.ini | tail -n +3 | head -n 1 | gawk '{print \$3}'`);
|
| 161 |
+
my $featlist = get_featlist_from_moses($___CONFIG,"$___WORKING_DIR/run_final.moses.ini","final");
|
| 162 |
+
$featlist = insert_ranges_to_featlist($featlist, $___RANGES);
|
| 163 |
+
create_config($___CONFIG,"$___WORKING_DIR/moses.ini",$featlist,$runid_finalplus,$devbleu,$sparse_weights_file);
|
| 164 |
+
}
|
| 165 |
+
|
| 166 |
+
##COPIED## Mark which features are disabled:
|
| 167 |
+
##COPIED#if (defined $___ACTIVATE_FEATURES) {
|
| 168 |
+
##COPIED# my %enabled = map { ($_, 1) } split /[, ]+/, $___ACTIVATE_FEATURES;
|
| 169 |
+
##COPIED# my %cnt;
|
| 170 |
+
##COPIED# for(my $i=0; $i<scalar(@{$featlist->{"names"}}); $i++) {
|
| 171 |
+
##COPIED# my $name = $featlist->{"names"}->[$i];
|
| 172 |
+
##COPIED# $cnt{$name} = 0 if !defined $cnt{$name};
|
| 173 |
+
##COPIED# $featlist->{"enabled"}->[$i] = $enabled{$name."_".$cnt{$name}};
|
| 174 |
+
##COPIED# $cnt{$name}++;
|
| 175 |
+
##COPIED# }
|
| 176 |
+
##COPIED#} else {
|
| 177 |
+
##COPIED# # all enabled
|
| 178 |
+
##COPIED# for(my $i=0; $i<scalar(@{$featlist->{"names"}}); $i++) {
|
| 179 |
+
##COPIED# $featlist->{"enabled"}->[$i] = 1;
|
| 180 |
+
##COPIED# }
|
| 181 |
+
##COPIED#}
|
| 182 |
+
##COPIED#
|
| 183 |
+
##COPIED#print STDERR "MERT starting values and ranges for random generation:\n";
|
| 184 |
+
##COPIED#for(my $i=0; $i<scalar(@{$featlist->{"names"}}); $i++) {
|
| 185 |
+
##COPIED# my $name = $featlist->{"names"}->[$i];
|
| 186 |
+
##COPIED# my $val = $featlist->{"values"}->[$i];
|
| 187 |
+
##COPIED# my $min = $featlist->{"mins"}->[$i];
|
| 188 |
+
##COPIED# my $max = $featlist->{"maxs"}->[$i];
|
| 189 |
+
##COPIED# my $enabled = $featlist->{"enabled"}->[$i];
|
| 190 |
+
##COPIED# printf STDERR " %5s = %7.3f", $name, $val;
|
| 191 |
+
##COPIED# if ($enabled) {
|
| 192 |
+
##COPIED# printf STDERR " (%5.2f .. %5.2f)\n", $min, $max;
|
| 193 |
+
##COPIED# } else {
|
| 194 |
+
##COPIED# print STDERR " --- inactive, not optimized ---\n";
|
| 195 |
+
##COPIED# }
|
| 196 |
+
##COPIED#}
|
| 197 |
+
|
| 198 |
+
|
| 199 |
+
|
| 200 |
+
|
| 201 |
+
|
| 202 |
+
sub get_featlist_from_moses {
|
| 203 |
+
# run moses with the given config file and return the list of features and
|
| 204 |
+
# their initial values
|
| 205 |
+
my $configfn = shift;
|
| 206 |
+
my $config_score = shift;
|
| 207 |
+
my $run = shift;
|
| 208 |
+
|
| 209 |
+
my $featlistfn = "";
|
| 210 |
+
if ($run eq 'first') {
|
| 211 |
+
$featlistfn = "./features.list"; # given feature list
|
| 212 |
+
} elsif ($run eq "final") {
|
| 213 |
+
$featlistfn = "./features.list.run_final";
|
| 214 |
+
}
|
| 215 |
+
if (-e $featlistfn) {
|
| 216 |
+
print STDERR "Using cached features list: $featlistfn\n";
|
| 217 |
+
} else {
|
| 218 |
+
print STDERR "Asking moses for feature names and values from $config_score\n";
|
| 219 |
+
my $cmd = "$___DECODER $___DECODER_FLAGS -config $config_score -inputtype $___INPUTTYPE -show-weights > $featlistfn";
|
| 220 |
+
print STDERR "$cmd\n"; #DEBUG
|
| 221 |
+
safesystem($cmd) or die "Failed to run moses with the config $config_score";
|
| 222 |
+
}
|
| 223 |
+
|
| 224 |
+
# read feature list
|
| 225 |
+
my @names = ();
|
| 226 |
+
my @startvalues = ();
|
| 227 |
+
open(INI,$featlistfn) or die "Can't read $featlistfn";
|
| 228 |
+
my $nr = 0;
|
| 229 |
+
my @errs = ();
|
| 230 |
+
while (<INI>) {
|
| 231 |
+
$nr++;
|
| 232 |
+
chomp;
|
| 233 |
+
/^(.+) (\S+) (\S+)$/ || die("invalid feature: $_");
|
| 234 |
+
my ($longname, $feature, $value) = ($1,$2,$3);
|
| 235 |
+
next if $value eq "sparse";
|
| 236 |
+
push @errs, "$featlistfn:$nr:Bad initial value of $feature: $value\n"
|
| 237 |
+
if $value !~ /^[+-]?[0-9.e]+$/;
|
| 238 |
+
push @errs, "$featlistfn:$nr:Unknown feature '$feature', please add it to \@ABBR_FULL_MAP\n"
|
| 239 |
+
if !defined $ABBR2FULL{$feature};
|
| 240 |
+
push @names, $feature;
|
| 241 |
+
push @startvalues, $value;
|
| 242 |
+
}
|
| 243 |
+
close INI;
|
| 244 |
+
if (scalar @errs) {
|
| 245 |
+
print STDERR join("", @errs);
|
| 246 |
+
exit 1;
|
| 247 |
+
}
|
| 248 |
+
return {"names"=>\@names, "values"=>\@startvalues};
|
| 249 |
+
}
|
| 250 |
+
|
| 251 |
+
|
| 252 |
+
sub insert_ranges_to_featlist {
|
| 253 |
+
my $featlist = shift;
|
| 254 |
+
my $ranges = shift;
|
| 255 |
+
|
| 256 |
+
$ranges = [] if !defined $ranges;
|
| 257 |
+
|
| 258 |
+
# first collect the ranges from options
|
| 259 |
+
my $niceranges;
|
| 260 |
+
foreach my $range (@$ranges) {
|
| 261 |
+
my $name = undef;
|
| 262 |
+
foreach my $namedpair (split /,/, $range) {
|
| 263 |
+
if ($namedpair =~ /^(.*?):/) {
|
| 264 |
+
$name = $1;
|
| 265 |
+
$namedpair =~ s/^.*?://;
|
| 266 |
+
die "Unrecognized name '$name' in --range=$range"
|
| 267 |
+
if !defined $ABBR2FULL{$name};
|
| 268 |
+
}
|
| 269 |
+
my ($min, $max) = split /\.\./, $namedpair;
|
| 270 |
+
die "Bad min '$min' in --range=$range" if $min !~ /^-?[0-9.]+$/;
|
| 271 |
+
die "Bad max '$max' in --range=$range" if $min !~ /^-?[0-9.]+$/;
|
| 272 |
+
die "No name given in --range=$range" if !defined $name;
|
| 273 |
+
push @{$niceranges->{$name}}, [$min, $max];
|
| 274 |
+
}
|
| 275 |
+
}
|
| 276 |
+
|
| 277 |
+
# now populate featlist
|
| 278 |
+
my $seen = undef;
|
| 279 |
+
for(my $i=0; $i<scalar(@{$featlist->{"names"}}); $i++) {
|
| 280 |
+
my $name = $featlist->{"names"}->[$i];
|
| 281 |
+
$seen->{$name} ++;
|
| 282 |
+
my $min = 0.0;
|
| 283 |
+
my $max = 1.0;
|
| 284 |
+
if (defined $niceranges->{$name}) {
|
| 285 |
+
my $minmax = shift @{$niceranges->{$name}};
|
| 286 |
+
($min, $max) = @$minmax if defined $minmax;
|
| 287 |
+
}
|
| 288 |
+
$featlist->{"mins"}->[$i] = $min;
|
| 289 |
+
$featlist->{"maxs"}->[$i] = $max;
|
| 290 |
+
}
|
| 291 |
+
return $featlist;
|
| 292 |
+
}
|
| 293 |
+
|
| 294 |
+
sub safesystem {
|
| 295 |
+
print STDERR "Executing: @_\n";
|
| 296 |
+
system(@_);
|
| 297 |
+
if ($? == -1) {
|
| 298 |
+
print STDERR "Failed to execute: @_\n $!\n";
|
| 299 |
+
exit(1);
|
| 300 |
+
}
|
| 301 |
+
elsif ($? & 127) {
|
| 302 |
+
printf STDERR "Execution of: @_\n died with signal %d, %s coredump\n",
|
| 303 |
+
($? & 127), ($? & 128) ? 'with' : 'without';
|
| 304 |
+
exit(1);
|
| 305 |
+
}
|
| 306 |
+
else {
|
| 307 |
+
my $exitcode = $? >> 8;
|
| 308 |
+
print STDERR "Exit code: $exitcode\n" if $exitcode;
|
| 309 |
+
return ! $exitcode;
|
| 310 |
+
}
|
| 311 |
+
}
|
| 312 |
+
|
| 313 |
+
|
| 314 |
+
|
| 315 |
+
sub create_config {
|
| 316 |
+
my $infn = shift; # source config
|
| 317 |
+
my $outfn = shift; # where to save the config
|
| 318 |
+
my $featlist = shift; # the lambdas we should write
|
| 319 |
+
my $iteration = shift; # just for verbosity
|
| 320 |
+
my $bleu_achieved = shift; # just for verbosity
|
| 321 |
+
my $sparse_weights_file = shift; # only defined when optimizing sparse features
|
| 322 |
+
|
| 323 |
+
my %P; # the hash of all parameters we wish to override
|
| 324 |
+
|
| 325 |
+
# first convert the command line parameters to the hash
|
| 326 |
+
{ # ensure local scope of vars
|
| 327 |
+
my $parameter=undef;
|
| 328 |
+
print "Parsing --decoder-flags: |$___DECODER_FLAGS|\n";
|
| 329 |
+
$___DECODER_FLAGS =~ s/^\s*|\s*$//;
|
| 330 |
+
$___DECODER_FLAGS =~ s/\s+/ /;
|
| 331 |
+
foreach (split(/ /,$___DECODER_FLAGS)) {
|
| 332 |
+
if (/^\-([^\d].*)$/) {
|
| 333 |
+
$parameter = $1;
|
| 334 |
+
$parameter = $ABBR2FULL{$parameter} if defined($ABBR2FULL{$parameter});
|
| 335 |
+
}
|
| 336 |
+
else {
|
| 337 |
+
die "Found value with no -paramname before it: $_"
|
| 338 |
+
if !defined $parameter;
|
| 339 |
+
push @{$P{$parameter}},$_;
|
| 340 |
+
}
|
| 341 |
+
}
|
| 342 |
+
}
|
| 343 |
+
|
| 344 |
+
# First delete all weights params from the input, we're overwriting them.
|
| 345 |
+
# Delete both short and long-named version.
|
| 346 |
+
for(my $i=0; $i<scalar(@{$featlist->{"names"}}); $i++) {
|
| 347 |
+
my $name = $featlist->{"names"}->[$i];
|
| 348 |
+
delete($P{$name});
|
| 349 |
+
delete($P{$ABBR2FULL{$name}});
|
| 350 |
+
}
|
| 351 |
+
|
| 352 |
+
# Convert weights to elements in P
|
| 353 |
+
for(my $i=0; $i<scalar(@{$featlist->{"names"}}); $i++) {
|
| 354 |
+
my $name = $featlist->{"names"}->[$i];
|
| 355 |
+
my $val = $featlist->{"values"}->[$i];
|
| 356 |
+
$name = defined $ABBR2FULL{$name} ? $ABBR2FULL{$name} : $name;
|
| 357 |
+
# ensure long name
|
| 358 |
+
push @{$P{$name}}, $val;
|
| 359 |
+
}
|
| 360 |
+
|
| 361 |
+
if (defined($sparse_weights_file)) {
|
| 362 |
+
push @{$P{"weights-file"}}, $___WORKING_DIR."/".$sparse_weights_file;
|
| 363 |
+
}
|
| 364 |
+
|
| 365 |
+
# create new moses.ini decoder config file by cloning and overriding the original one
|
| 366 |
+
open(INI,$infn) or die "Can't read $infn";
|
| 367 |
+
delete($P{"config"}); # never output
|
| 368 |
+
print "Saving new config to: $outfn\n";
|
| 369 |
+
open(OUT,"> $outfn") or die "Can't write $outfn";
|
| 370 |
+
print OUT "# MERT optimized configuration\n";
|
| 371 |
+
print OUT "# decoder $___DECODER\n";
|
| 372 |
+
print OUT "# BLEU $bleu_achieved on dev $___DEV_F\n";
|
| 373 |
+
print OUT "# We were before running iteration $iteration\n";
|
| 374 |
+
print OUT "# finished ".`date`;
|
| 375 |
+
my $line = <INI>;
|
| 376 |
+
while(1) {
|
| 377 |
+
last unless $line;
|
| 378 |
+
|
| 379 |
+
# skip until hit [parameter]
|
| 380 |
+
if ($line !~ /^\[(.+)\]\s*$/) {
|
| 381 |
+
$line = <INI>;
|
| 382 |
+
print OUT $line if $line =~ /^\#/ || $line =~ /^\s+$/;
|
| 383 |
+
next;
|
| 384 |
+
}
|
| 385 |
+
|
| 386 |
+
# parameter name
|
| 387 |
+
my $parameter = $1;
|
| 388 |
+
$parameter = $ABBR2FULL{$parameter} if defined($ABBR2FULL{$parameter});
|
| 389 |
+
print OUT "[$parameter]\n";
|
| 390 |
+
|
| 391 |
+
# change parameter, if new values
|
| 392 |
+
if (defined($P{$parameter})) {
|
| 393 |
+
# write new values
|
| 394 |
+
foreach (@{$P{$parameter}}) {
|
| 395 |
+
print OUT $_."\n";
|
| 396 |
+
}
|
| 397 |
+
delete($P{$parameter});
|
| 398 |
+
# skip until new parameter, only write comments
|
| 399 |
+
while($line = <INI>) {
|
| 400 |
+
print OUT $line if $line =~ /^\#/ || $line =~ /^\s+$/;
|
| 401 |
+
last if $line =~ /^\[/;
|
| 402 |
+
last unless $line;
|
| 403 |
+
}
|
| 404 |
+
next;
|
| 405 |
+
}
|
| 406 |
+
# unchanged parameter, write old
|
| 407 |
+
while($line = <INI>) {
|
| 408 |
+
last if $line =~ /^\[/;
|
| 409 |
+
print OUT $line;
|
| 410 |
+
}
|
| 411 |
+
}
|
| 412 |
+
|
| 413 |
+
# write all additional parameters
|
| 414 |
+
foreach my $parameter (keys %P) {
|
| 415 |
+
print OUT "\n[$parameter]\n";
|
| 416 |
+
foreach (@{$P{$parameter}}) {
|
| 417 |
+
print OUT $_."\n";
|
| 418 |
+
}
|
| 419 |
+
}
|
| 420 |
+
|
| 421 |
+
close(INI);
|
| 422 |
+
close(OUT);
|
| 423 |
+
print STDERR "Saved: $outfn\n";
|
| 424 |
+
}
|
| 425 |
+
|
| 426 |
+
|
mosesdecoder/contrib/mert-sge-nosync/training/sge-nosync/moses-parallel-postdecode-sge-nosync.pl
ADDED
|
@@ -0,0 +1,235 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
#!/usr/bin/perl
|
| 2 |
+
|
| 3 |
+
|
| 4 |
+
my $logflag="";
|
| 5 |
+
my $logfile="";
|
| 6 |
+
my $alifile=undef;
|
| 7 |
+
my $nbestflag=0;
|
| 8 |
+
my $processid=0;
|
| 9 |
+
my $idxliststr="";
|
| 10 |
+
my $workingdir="";
|
| 11 |
+
my $inputfile="";
|
| 12 |
+
my $tmpdir="";
|
| 13 |
+
my $splitpfx="";
|
| 14 |
+
my $jobscript="";
|
| 15 |
+
my $qsubout="";
|
| 16 |
+
my $qsuberr="";
|
| 17 |
+
my $nbestfile=undef;
|
| 18 |
+
my $nbestlist=undef;
|
| 19 |
+
my $outnbest="";
|
| 20 |
+
my $lsamp_filename="";
|
| 21 |
+
my @idxlist=();
|
| 22 |
+
|
| 23 |
+
|
| 24 |
+
###############################
|
| 25 |
+
# Script starts here
|
| 26 |
+
|
| 27 |
+
init();
|
| 28 |
+
|
| 29 |
+
|
| 30 |
+
|
| 31 |
+
#concatenating translations and removing temporary files
|
| 32 |
+
concatenate_1best();
|
| 33 |
+
concatenate_logs() if $logflag;
|
| 34 |
+
concatenate_ali() if defined $alifile;
|
| 35 |
+
concatenate_nbest() if $nbestflag;
|
| 36 |
+
safesystem("cat nbest$$ >> /dev/stdout") if $nbestlist[0] eq '-';
|
| 37 |
+
|
| 38 |
+
|
| 39 |
+
print STDERR "Not support searchgraphflag for sync mert\n" if $searchgraphflag;
|
| 40 |
+
# concatenate_searchgraph() if $searchgraphflag;
|
| 41 |
+
# safesystem("cat searchgraph$$ >> /dev/stdout") if $searchgraphlist eq '-';
|
| 42 |
+
|
| 43 |
+
print STDERR "Not support wordgraphflag for sync mert\n" if $searchgraphflag;
|
| 44 |
+
# concatenate_wordgraph() if $wordgraphflag;
|
| 45 |
+
# safesystem("cat wordgraph$$ >> /dev/stdout") if $wordgraphlist[0] eq '-';
|
| 46 |
+
|
| 47 |
+
remove_temporary_files();
|
| 48 |
+
####
|
| 49 |
+
#### ### ending scripts in run_decoder() ##############
|
| 50 |
+
#### sanity_check_order_of_lambdas($featlist, $filename);
|
| 51 |
+
#### ## how to do return???
|
| 52 |
+
#### return ($filename, $lsamp_filename);
|
| 53 |
+
######################################################
|
| 54 |
+
|
| 55 |
+
|
| 56 |
+
|
| 57 |
+
|
| 58 |
+
sub init(){
|
| 59 |
+
use strict;
|
| 60 |
+
use Getopt::Long qw(:config pass_through no_ignore_case permute);
|
| 61 |
+
|
| 62 |
+
GetOptions('alignment-output-file=s'=>\$alifile,
|
| 63 |
+
'process-id=s'=>\$processid,
|
| 64 |
+
'idxliststr=s'=>\$idxliststr,
|
| 65 |
+
'logfile=s'=>\$logfile,
|
| 66 |
+
'nbestfile=s'=>\$nbestfile,
|
| 67 |
+
'outnbest=s'=>\$outnbest,
|
| 68 |
+
'lsamp-filename=s'=>\$lsamp_filename,
|
| 69 |
+
'input-file=s'=>\$inputfile
|
| 70 |
+
) or exit(1);
|
| 71 |
+
|
| 72 |
+
if ($logfile){ $logflag=1; }
|
| 73 |
+
|
| 74 |
+
if (defined $nbestfile) { $nbestflag=1; }
|
| 75 |
+
|
| 76 |
+
$idxliststr =~ s/^\s+|\s+$//g;
|
| 77 |
+
@idxlist = split(/\s+/,$idxliststr);
|
| 78 |
+
|
| 79 |
+
my $pwdcmd = getPwdCmd();
|
| 80 |
+
|
| 81 |
+
$workingdir = `$pwdcmd`; chomp $workingdir;
|
| 82 |
+
$tmpdir="$workingdir/tmp$processid";
|
| 83 |
+
$splitpfx="split$processid";
|
| 84 |
+
|
| 85 |
+
$jobscript="$workingdir/job$processid";
|
| 86 |
+
$qsubout="$workingdir/out.job$processid";
|
| 87 |
+
$qsuberr="$workingdir/err.job$processid";
|
| 88 |
+
|
| 89 |
+
# print STDERR "$idxliststr\n";
|
| 90 |
+
|
| 91 |
+
}
|
| 92 |
+
|
| 93 |
+
|
| 94 |
+
sub concatenate_nbest(){
|
| 95 |
+
my $oldcode="";
|
| 96 |
+
my $newcode=-1;
|
| 97 |
+
my %inplength = ();
|
| 98 |
+
my $offset = 0;
|
| 99 |
+
|
| 100 |
+
# get the list of feature and set a fictitious string with zero scores
|
| 101 |
+
open (IN, "${nbestfile}.${splitpfx}$idxlist[0]");
|
| 102 |
+
my $str = <IN>;
|
| 103 |
+
chomp($str);
|
| 104 |
+
close(IN);
|
| 105 |
+
my ($code,$trans,$featurescores,$globalscore)=split(/\|\|\|/,$str);
|
| 106 |
+
|
| 107 |
+
my $emptytrans = " ";
|
| 108 |
+
my $emptyglobalscore = " 0.0";
|
| 109 |
+
my $emptyfeaturescores = $featurescores;
|
| 110 |
+
$emptyfeaturescores =~ s/[-0-9\.]+/0/g;
|
| 111 |
+
|
| 112 |
+
if ($outnbest eq '-'){ $outnbest="nbest$processid"; }
|
| 113 |
+
|
| 114 |
+
# my $outnbest=$nbestlist[0];
|
| 115 |
+
# if ($nbestlist[0] eq '-'){ $outnbest="nbest$$"; }
|
| 116 |
+
|
| 117 |
+
open (OUT, "> $outnbest");
|
| 118 |
+
foreach my $idx (@idxlist){
|
| 119 |
+
|
| 120 |
+
#computing the length of each input file
|
| 121 |
+
# print STDERR "this idx: $idx\n";
|
| 122 |
+
|
| 123 |
+
my @in=();
|
| 124 |
+
open (IN, "${inputfile}.${splitpfx}${idx}.trans");
|
| 125 |
+
@in=<IN>;
|
| 126 |
+
close(IN);
|
| 127 |
+
$inplength{$idx} = scalar(@in);
|
| 128 |
+
|
| 129 |
+
open (IN, "${nbestfile}.${splitpfx}${idx}");
|
| 130 |
+
while (<IN>){
|
| 131 |
+
my ($code,@extra)=split(/\|\|\|/,$_);
|
| 132 |
+
$code += $offset;
|
| 133 |
+
if ($code ne $oldcode){
|
| 134 |
+
# if there is a jump between two consecutive codes
|
| 135 |
+
# it means that an input sentence is not translated
|
| 136 |
+
# fill this hole with a "fictitious" list of translation
|
| 137 |
+
# comprising just one "emtpy translation" with zero scores
|
| 138 |
+
while ($code - $oldcode > 1){
|
| 139 |
+
$oldcode++;
|
| 140 |
+
print OUT join("\|\|\|",($oldcode,$emptytrans,$emptyfeaturescores,$emptyglobalscore)),"\n";
|
| 141 |
+
}
|
| 142 |
+
}
|
| 143 |
+
$oldcode=$code;
|
| 144 |
+
print OUT join("\|\|\|",($oldcode,@extra));
|
| 145 |
+
}
|
| 146 |
+
close(IN);
|
| 147 |
+
$offset += $inplength{$idx};
|
| 148 |
+
|
| 149 |
+
while ($offset - $oldcode > 1){
|
| 150 |
+
$oldcode++;
|
| 151 |
+
print OUT join("\|\|\|",($oldcode,$emptytrans,$emptyfeaturescores,$emptyglobalscore)),"\n";
|
| 152 |
+
}
|
| 153 |
+
}
|
| 154 |
+
close(OUT);
|
| 155 |
+
}
|
| 156 |
+
|
| 157 |
+
|
| 158 |
+
sub concatenate_1best(){
|
| 159 |
+
foreach my $idx (@idxlist){
|
| 160 |
+
# print STDERR "reading 1best file ${inputfile}.${splitpfx}$idx.trans\n";
|
| 161 |
+
my @in=();
|
| 162 |
+
open (IN, "${inputfile}.${splitpfx}${idx}.trans");
|
| 163 |
+
@in=<IN>;
|
| 164 |
+
# print STDERR "in array is : @in";
|
| 165 |
+
print STDOUT "@in";
|
| 166 |
+
close(IN);
|
| 167 |
+
}
|
| 168 |
+
}
|
| 169 |
+
|
| 170 |
+
sub concatenate_logs(){
|
| 171 |
+
open (OUT, "> ${logfile}");
|
| 172 |
+
foreach my $idx (@idxlist){
|
| 173 |
+
my @in=();
|
| 174 |
+
open (IN, "$qsubout$idx");
|
| 175 |
+
@in=<IN>;
|
| 176 |
+
print OUT "@in";
|
| 177 |
+
close(IN);
|
| 178 |
+
}
|
| 179 |
+
close(OUT);
|
| 180 |
+
}
|
| 181 |
+
|
| 182 |
+
sub concatenate_ali(){
|
| 183 |
+
open (OUT, "> ${alifile}");
|
| 184 |
+
foreach my $idx (@idxlist){
|
| 185 |
+
my @in=();
|
| 186 |
+
open (IN, "$alifile.$splitpfx$idx");
|
| 187 |
+
@in=<IN>;
|
| 188 |
+
print OUT "@in";
|
| 189 |
+
close(IN);
|
| 190 |
+
}
|
| 191 |
+
close(OUT);
|
| 192 |
+
}
|
| 193 |
+
|
| 194 |
+
|
| 195 |
+
|
| 196 |
+
|
| 197 |
+
# look for the correct pwdcmd (pwd by default, pawd if it exists)
|
| 198 |
+
# I assume that pwd always exists
|
| 199 |
+
sub getPwdCmd(){
|
| 200 |
+
my $pwdcmd="pwd";
|
| 201 |
+
my $a;
|
| 202 |
+
chomp($a=`which pawd | head -1 | awk '{print $1}'`);
|
| 203 |
+
if ($a && -e $a){ $pwdcmd=$a; }
|
| 204 |
+
return $pwdcmd;
|
| 205 |
+
}
|
| 206 |
+
|
| 207 |
+
|
| 208 |
+
sub remove_temporary_files(){
|
| 209 |
+
# removing temporary files
|
| 210 |
+
foreach my $idx (@idxlist){
|
| 211 |
+
unlink("${inputfile}.${splitpfx}${idx}.trans");
|
| 212 |
+
unlink("${inputfile}.${splitpfx}${idx}");
|
| 213 |
+
if (defined $alifile){ unlink("${alifile}.${splitpfx}${idx}"); }
|
| 214 |
+
if ($nbestflag){ unlink("${nbestfile}.${splitpfx}${idx}"); }
|
| 215 |
+
if ($searchgraphflag){ unlink("${searchgraphfile}.${splitpfx}${idx}"); }
|
| 216 |
+
if ($wordgraphflag){ unlink("${wordgraphfile}.${splitpfx}${idx}"); }
|
| 217 |
+
|
| 218 |
+
# print STDERR "Deleting ${jobscript}${idx}.bash\n";
|
| 219 |
+
unlink("${jobscript}${idx}.bash");
|
| 220 |
+
unlink("${jobscript}${idx}.log");
|
| 221 |
+
unlink("$qsubname.W.log");
|
| 222 |
+
unlink("$qsubout$idx");
|
| 223 |
+
unlink("$qsuberr$idx");
|
| 224 |
+
rmdir("$tmpdir");
|
| 225 |
+
}
|
| 226 |
+
# unlink("${jobscript}.sync_workaround_script.sh");
|
| 227 |
+
if ($nbestflag && $nbestlist[0] eq '-'){ unlink("${nbestfile}$$"); };
|
| 228 |
+
if ($searchgraphflag && $searchgraphlist eq '-'){ unlink("${searchgraphfile}$$"); };
|
| 229 |
+
if ($wordgraphflag && $wordgraphlist eq '-'){ unlink("${wordgraphfile}$$"); };
|
| 230 |
+
}
|
| 231 |
+
|
| 232 |
+
|
| 233 |
+
|
| 234 |
+
|
| 235 |
+
|
mosesdecoder/contrib/mert-sge-nosync/training/sge-nosync/poll-decoder.pl
ADDED
|
@@ -0,0 +1,30 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
#!/usr/bin/perl
|
| 2 |
+
|
| 3 |
+
use Getopt::Long qw(:config pass_through no_ignore_case permute);
|
| 4 |
+
|
| 5 |
+
my $poll_target = undef;
|
| 6 |
+
my $working_dir = undef;
|
| 7 |
+
|
| 8 |
+
GetOptions('poll-target=s'=> \$poll_target,
|
| 9 |
+
'working-dir'=> \$working_dir
|
| 10 |
+
) or exit(1);
|
| 11 |
+
|
| 12 |
+
|
| 13 |
+
if (defined $working_dir) {
|
| 14 |
+
chdir($working_dir);
|
| 15 |
+
}
|
| 16 |
+
|
| 17 |
+
my $cnt = 1;
|
| 18 |
+
|
| 19 |
+
print STDERR "Wait for file: $poll_target\n";
|
| 20 |
+
|
| 21 |
+
while (1) {
|
| 22 |
+
if (-e $poll_target){
|
| 23 |
+
print STDERR "\n File found!!\n";
|
| 24 |
+
last;
|
| 25 |
+
} else {
|
| 26 |
+
sleep(10);
|
| 27 |
+
print STDERR ".";
|
| 28 |
+
}
|
| 29 |
+
}
|
| 30 |
+
|
mosesdecoder/contrib/mert-sge-nosync/training/sge-nosync/process-featlist-sge-nosync.pl
ADDED
|
@@ -0,0 +1,283 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
#!/usr/bin/perl -w
|
| 2 |
+
|
| 3 |
+
# $Id$
|
| 4 |
+
# after filter-mode-given-input.pl, process the feature list
|
| 5 |
+
|
| 6 |
+
# original code by Philipp Koehn
|
| 7 |
+
# changes by Ondrej Bojar
|
| 8 |
+
# adapted for hierarchical models by Phil Williams
|
| 9 |
+
|
| 10 |
+
use strict;
|
| 11 |
+
|
| 12 |
+
use FindBin qw($Bin);
|
| 13 |
+
use Getopt::Long;
|
| 14 |
+
|
| 15 |
+
|
| 16 |
+
|
| 17 |
+
my $SCRIPTS_ROOTDIR;
|
| 18 |
+
if (defined($ENV{"SCRIPTS_ROOTDIR"})) {
|
| 19 |
+
$SCRIPTS_ROOTDIR = $ENV{"SCRIPTS_ROOTDIR"};
|
| 20 |
+
} else {
|
| 21 |
+
$SCRIPTS_ROOTDIR = $Bin;
|
| 22 |
+
if ($SCRIPTS_ROOTDIR eq '') {
|
| 23 |
+
$SCRIPTS_ROOTDIR = dirname(__FILE__);
|
| 24 |
+
}
|
| 25 |
+
$SCRIPTS_ROOTDIR =~ s/\/training$//;
|
| 26 |
+
$ENV{"SCRIPTS_ROOTDIR"} = $SCRIPTS_ROOTDIR;
|
| 27 |
+
}
|
| 28 |
+
|
| 29 |
+
|
| 30 |
+
# moses.ini file uses FULL names for lambdas, while this training script
|
| 31 |
+
# internally (and on the command line) uses ABBR names.
|
| 32 |
+
my @ABBR_FULL_MAP = qw(d=weight-d lm=weight-l tm=weight-t w=weight-w
|
| 33 |
+
g=weight-generation lex=weight-lex I=weight-i);
|
| 34 |
+
my %ABBR2FULL = map {split/=/,$_,2} @ABBR_FULL_MAP;
|
| 35 |
+
my %FULL2ABBR = map {my ($a, $b) = split/=/,$_,2; ($b, $a);} @ABBR_FULL_MAP;
|
| 36 |
+
|
| 37 |
+
|
| 38 |
+
|
| 39 |
+
my $verbose = 0;
|
| 40 |
+
my $usage = 0; # request for --help
|
| 41 |
+
|
| 42 |
+
|
| 43 |
+
|
| 44 |
+
|
| 45 |
+
##!# # consider phrases in input up to $MAX_LENGTH
|
| 46 |
+
##!# # in other words, all phrase-tables will be truncated at least to 10 words per
|
| 47 |
+
##!# # phrase.
|
| 48 |
+
##!# my $MAX_LENGTH = 10;
|
| 49 |
+
|
| 50 |
+
# utilities
|
| 51 |
+
##!# my $ZCAT = "gzip -cd";
|
| 52 |
+
|
| 53 |
+
# get optional parameters
|
| 54 |
+
##!# my $opt_hierarchical = 0;
|
| 55 |
+
##!# my $binarizer = undef;
|
| 56 |
+
##!# my $opt_min_non_initial_rule_count = undef;
|
| 57 |
+
##!# my $opt_gzip = 1; # gzip output files (so far only phrase-based ttable until someone tests remaining models and formats)
|
| 58 |
+
|
| 59 |
+
my $___RANGES = undef;
|
| 60 |
+
my $___ACTIVATE_FEATURES = undef; # comma-separated (or blank-separated) list of features to work on
|
| 61 |
+
# if undef work on all features
|
| 62 |
+
# (others are fixed to the starting values)
|
| 63 |
+
my $___DECODER_FLAGS = ""; # additional parametrs to pass to the decoder
|
| 64 |
+
|
| 65 |
+
# set 0 if input type is text, set 1 if input type is confusion network
|
| 66 |
+
my $___INPUTTYPE = 0;
|
| 67 |
+
|
| 68 |
+
my $___DECODER = undef; # required, pathname to the decoder executable
|
| 69 |
+
my $___CONFIG = undef; # required, pathname to startup ini file
|
| 70 |
+
|
| 71 |
+
|
| 72 |
+
GetOptions(
|
| 73 |
+
"activate-features=s" => \$___ACTIVATE_FEATURES, #comma-separated (or blank-separated) list of features to work on (others are fixed to the starting values)
|
| 74 |
+
"range=s@" => \$___RANGES,
|
| 75 |
+
"decoder-flags=s" => \$___DECODER_FLAGS,
|
| 76 |
+
"inputtype=i" => \$___INPUTTYPE
|
| 77 |
+
) or exit(1);
|
| 78 |
+
|
| 79 |
+
##!# GetOptions(
|
| 80 |
+
##!# "gzip!" => \$opt_gzip,
|
| 81 |
+
##!# "Hierarchical" => \$opt_hierarchical,
|
| 82 |
+
##!# "Binarizer=s" => \$binarizer,
|
| 83 |
+
##!# "MinNonInitialRuleCount=i" => \$opt_min_non_initial_rule_count
|
| 84 |
+
##!# ) or exit(1);
|
| 85 |
+
|
| 86 |
+
|
| 87 |
+
# the ?? required parameters can be supplied on the command line directly
|
| 88 |
+
# or using the --options
|
| 89 |
+
if (scalar @ARGV == 2) {
|
| 90 |
+
# required parameters: options
|
| 91 |
+
$___DECODER = shift;
|
| 92 |
+
$___CONFIG = shift;
|
| 93 |
+
}
|
| 94 |
+
|
| 95 |
+
if ($usage || !defined $___DECODER || !defined $___CONFIG) {
|
| 96 |
+
print STDERR "usage: $0 \$___DECODER \$___CONFIG(decoder.ini)
|
| 97 |
+
Options:
|
| 98 |
+
--activate-features=STRING ... comma-separated list of features to optimize,
|
| 99 |
+
others are fixed to the starting values
|
| 100 |
+
default: optimize all features
|
| 101 |
+
example: tm_0,tm_4,d_0
|
| 102 |
+
--range=tm:0..1,-1..1 ... specify min and max value for some features
|
| 103 |
+
--range can be repeated as needed.
|
| 104 |
+
The order of the various --range specifications
|
| 105 |
+
is important only within a feature name.
|
| 106 |
+
E.g.:
|
| 107 |
+
--range=tm:0..1,-1..1 --range=tm:0..2
|
| 108 |
+
is identical to:
|
| 109 |
+
--range=tm:0..1,-1..1,0..2
|
| 110 |
+
but not to:
|
| 111 |
+
--range=tm:0..2 --range=tm:0..1,-1..1
|
| 112 |
+
--decoder-flags=STRING ... extra parameters for the decoder
|
| 113 |
+
--inputtype=[0|1|2] ... Handle different input types: (0 for text,
|
| 114 |
+
1 for confusion network, 2 for lattices,
|
| 115 |
+
default is 0)
|
| 116 |
+
";
|
| 117 |
+
exit 1;
|
| 118 |
+
}
|
| 119 |
+
|
| 120 |
+
|
| 121 |
+
|
| 122 |
+
##!# # get command line parameters
|
| 123 |
+
##!# my $dir = shift;
|
| 124 |
+
##!# my $config = shift;
|
| 125 |
+
##!# my $input = shift;
|
| 126 |
+
|
| 127 |
+
##!# $dir = ensure_full_path($dir);
|
| 128 |
+
|
| 129 |
+
############################################################
|
| 130 |
+
############################################################
|
| 131 |
+
############################################################
|
| 132 |
+
|
| 133 |
+
# main
|
| 134 |
+
|
| 135 |
+
# we run moses to check validity of moses.ini and to obtain all the feature
|
| 136 |
+
# names
|
| 137 |
+
my $featlist = get_featlist_from_moses($___CONFIG);
|
| 138 |
+
$featlist = insert_ranges_to_featlist($featlist, $___RANGES);
|
| 139 |
+
|
| 140 |
+
|
| 141 |
+
# Mark which features are disabled:
|
| 142 |
+
if (defined $___ACTIVATE_FEATURES) {
|
| 143 |
+
my %enabled = map { ($_, 1) } split /[, ]+/, $___ACTIVATE_FEATURES;
|
| 144 |
+
my %cnt;
|
| 145 |
+
for(my $i=0; $i<scalar(@{$featlist->{"names"}}); $i++) {
|
| 146 |
+
my $name = $featlist->{"names"}->[$i];
|
| 147 |
+
$cnt{$name} = 0 if !defined $cnt{$name};
|
| 148 |
+
$featlist->{"enabled"}->[$i] = $enabled{$name."_".$cnt{$name}};
|
| 149 |
+
$cnt{$name}++;
|
| 150 |
+
}
|
| 151 |
+
} else {
|
| 152 |
+
# all enabled
|
| 153 |
+
for(my $i=0; $i<scalar(@{$featlist->{"names"}}); $i++) {
|
| 154 |
+
$featlist->{"enabled"}->[$i] = 1;
|
| 155 |
+
}
|
| 156 |
+
}
|
| 157 |
+
|
| 158 |
+
print STDERR "MERT starting values and ranges for random generation:\n";
|
| 159 |
+
for(my $i=0; $i<scalar(@{$featlist->{"names"}}); $i++) {
|
| 160 |
+
my $name = $featlist->{"names"}->[$i];
|
| 161 |
+
my $val = $featlist->{"values"}->[$i];
|
| 162 |
+
my $min = $featlist->{"mins"}->[$i];
|
| 163 |
+
my $max = $featlist->{"maxs"}->[$i];
|
| 164 |
+
my $enabled = $featlist->{"enabled"}->[$i];
|
| 165 |
+
printf STDERR " %5s = %7.3f", $name, $val;
|
| 166 |
+
if ($enabled) {
|
| 167 |
+
printf STDERR " (%5.2f .. %5.2f)\n", $min, $max;
|
| 168 |
+
} else {
|
| 169 |
+
print STDERR " --- inactive, not optimized ---\n";
|
| 170 |
+
}
|
| 171 |
+
}
|
| 172 |
+
|
| 173 |
+
|
| 174 |
+
|
| 175 |
+
|
| 176 |
+
|
| 177 |
+
sub get_featlist_from_moses {
|
| 178 |
+
# run moses with the given config file and return the list of features and
|
| 179 |
+
# their initial values
|
| 180 |
+
my $configfn = shift;
|
| 181 |
+
my $featlistfn = "./features.list";
|
| 182 |
+
if (-e $featlistfn) {
|
| 183 |
+
print STDERR "Using cached features list: $featlistfn\n";
|
| 184 |
+
} else {
|
| 185 |
+
print STDERR "Asking moses for feature names and values from $___CONFIG\n";
|
| 186 |
+
my $cmd = "$___DECODER $___DECODER_FLAGS -config $configfn -inputtype $___INPUTTYPE -show-weights > $featlistfn";
|
| 187 |
+
print STDERR "$cmd\n"; #DEBUG
|
| 188 |
+
safesystem($cmd) or die "Failed to run moses with the config $configfn";
|
| 189 |
+
}
|
| 190 |
+
|
| 191 |
+
# read feature list
|
| 192 |
+
my @names = ();
|
| 193 |
+
my @startvalues = ();
|
| 194 |
+
open(INI,$featlistfn) or die "Can't read $featlistfn";
|
| 195 |
+
my $nr = 0;
|
| 196 |
+
my @errs = ();
|
| 197 |
+
while (<INI>) {
|
| 198 |
+
$nr++;
|
| 199 |
+
chomp;
|
| 200 |
+
/^(.+) (\S+) (\S+)$/ || die("invalid feature: $_");
|
| 201 |
+
my ($longname, $feature, $value) = ($1,$2,$3);
|
| 202 |
+
next if $value eq "sparse";
|
| 203 |
+
push @errs, "$featlistfn:$nr:Bad initial value of $feature: $value\n"
|
| 204 |
+
if $value !~ /^[+-]?[0-9.e]+$/;
|
| 205 |
+
push @errs, "$featlistfn:$nr:Unknown feature '$feature', please add it to \@ABBR_FULL_MAP\n"
|
| 206 |
+
if !defined $ABBR2FULL{$feature};
|
| 207 |
+
push @names, $feature;
|
| 208 |
+
push @startvalues, $value;
|
| 209 |
+
}
|
| 210 |
+
close INI;
|
| 211 |
+
if (scalar @errs) {
|
| 212 |
+
print STDERR join("", @errs);
|
| 213 |
+
exit 1;
|
| 214 |
+
}
|
| 215 |
+
return {"names"=>\@names, "values"=>\@startvalues};
|
| 216 |
+
}
|
| 217 |
+
|
| 218 |
+
|
| 219 |
+
sub insert_ranges_to_featlist {
|
| 220 |
+
my $featlist = shift;
|
| 221 |
+
my $ranges = shift;
|
| 222 |
+
|
| 223 |
+
$ranges = [] if !defined $ranges;
|
| 224 |
+
|
| 225 |
+
# first collect the ranges from options
|
| 226 |
+
my $niceranges;
|
| 227 |
+
foreach my $range (@$ranges) {
|
| 228 |
+
my $name = undef;
|
| 229 |
+
foreach my $namedpair (split /,/, $range) {
|
| 230 |
+
if ($namedpair =~ /^(.*?):/) {
|
| 231 |
+
$name = $1;
|
| 232 |
+
$namedpair =~ s/^.*?://;
|
| 233 |
+
die "Unrecognized name '$name' in --range=$range"
|
| 234 |
+
if !defined $ABBR2FULL{$name};
|
| 235 |
+
}
|
| 236 |
+
my ($min, $max) = split /\.\./, $namedpair;
|
| 237 |
+
die "Bad min '$min' in --range=$range" if $min !~ /^-?[0-9.]+$/;
|
| 238 |
+
die "Bad max '$max' in --range=$range" if $min !~ /^-?[0-9.]+$/;
|
| 239 |
+
die "No name given in --range=$range" if !defined $name;
|
| 240 |
+
push @{$niceranges->{$name}}, [$min, $max];
|
| 241 |
+
}
|
| 242 |
+
}
|
| 243 |
+
|
| 244 |
+
# now populate featlist
|
| 245 |
+
my $seen = undef;
|
| 246 |
+
for(my $i=0; $i<scalar(@{$featlist->{"names"}}); $i++) {
|
| 247 |
+
my $name = $featlist->{"names"}->[$i];
|
| 248 |
+
$seen->{$name} ++;
|
| 249 |
+
my $min = 0.0;
|
| 250 |
+
my $max = 1.0;
|
| 251 |
+
if (defined $niceranges->{$name}) {
|
| 252 |
+
my $minmax = shift @{$niceranges->{$name}};
|
| 253 |
+
($min, $max) = @$minmax if defined $minmax;
|
| 254 |
+
}
|
| 255 |
+
$featlist->{"mins"}->[$i] = $min;
|
| 256 |
+
$featlist->{"maxs"}->[$i] = $max;
|
| 257 |
+
}
|
| 258 |
+
return $featlist;
|
| 259 |
+
}
|
| 260 |
+
|
| 261 |
+
sub safesystem {
|
| 262 |
+
print STDERR "Executing: @_\n";
|
| 263 |
+
system(@_);
|
| 264 |
+
if ($? == -1) {
|
| 265 |
+
print STDERR "Failed to execute: @_\n $!\n";
|
| 266 |
+
exit(1);
|
| 267 |
+
}
|
| 268 |
+
elsif ($? & 127) {
|
| 269 |
+
printf STDERR "Execution of: @_\n died with signal %d, %s coredump\n",
|
| 270 |
+
($? & 127), ($? & 128) ? 'with' : 'without';
|
| 271 |
+
exit(1);
|
| 272 |
+
}
|
| 273 |
+
else {
|
| 274 |
+
my $exitcode = $? >> 8;
|
| 275 |
+
print STDERR "Exit code: $exitcode\n" if $exitcode;
|
| 276 |
+
return ! $exitcode;
|
| 277 |
+
}
|
| 278 |
+
}
|
| 279 |
+
|
| 280 |
+
|
| 281 |
+
|
| 282 |
+
|
| 283 |
+
|
mosesdecoder/contrib/mert-sge-nosync/training/sge-nosync/process-moses-result-sge-nosync.pl
ADDED
|
@@ -0,0 +1,1377 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
#! /usr/bin/perl
|
| 2 |
+
|
| 3 |
+
# $Id$
|
| 4 |
+
# Usage:
|
| 5 |
+
# mert-moses.pl <foreign> <english> <decoder-executable> <decoder-config>
|
| 6 |
+
# For other options see below or run 'mert-moses.pl --help'
|
| 7 |
+
|
| 8 |
+
# Notes:
|
| 9 |
+
# <foreign> and <english> should be raw text files, one sentence per line
|
| 10 |
+
# <english> can be a prefix, in which case the files are <english>0, <english>1, etc. are used
|
| 11 |
+
|
| 12 |
+
# Excerpts from revision history
|
| 13 |
+
|
| 14 |
+
# Sept 2011 multi-threaded mert (Barry Haddow)
|
| 15 |
+
# 3 Aug 2011 Added random directions, historic best, pairwise ranked (PK)
|
| 16 |
+
# Jul 2011 simplifications (Ondrej Bojar)
|
| 17 |
+
# -- rely on moses' -show-weights instead of parsing moses.ini
|
| 18 |
+
# ... so moses is also run once *before* mert starts, checking
|
| 19 |
+
# the model to some extent
|
| 20 |
+
# -- got rid of the 'triples' mess;
|
| 21 |
+
# use --range to supply bounds for random starting values:
|
| 22 |
+
# --range tm:-3..3 --range lm:-3..3
|
| 23 |
+
# 5 Aug 2009 Handling with different reference length policies (shortest, average, closest) for BLEU
|
| 24 |
+
# and case-sensistive/insensitive evaluation (Nicola Bertoldi)
|
| 25 |
+
# 5 Jun 2008 Forked previous version to support new mert implementation.
|
| 26 |
+
# 13 Feb 2007 Better handling of default values for lambda, now works with multiple
|
| 27 |
+
# models and lexicalized reordering
|
| 28 |
+
# 11 Oct 2006 Handle different input types through parameter --inputype=[0|1]
|
| 29 |
+
# (0 for text, 1 for confusion network, default is 0) (Nicola Bertoldi)
|
| 30 |
+
# 10 Oct 2006 Allow skip of filtering of phrase tables (--no-filter-phrase-table)
|
| 31 |
+
# useful if binary phrase tables are used (Nicola Bertoldi)
|
| 32 |
+
# 28 Aug 2006 Use either closest or average or shortest (default) reference
|
| 33 |
+
# length as effective reference length
|
| 34 |
+
# Use either normalization or not (default) of texts (Nicola Bertoldi)
|
| 35 |
+
# 31 Jul 2006 move gzip run*.out to avoid failure wit restartings
|
| 36 |
+
# adding default paths
|
| 37 |
+
# 29 Jul 2006 run-filter, score-nbest and mert run on the queue (Nicola; Ondrej had to type it in again)
|
| 38 |
+
# 28 Jul 2006 attempt at foolproof usage, strong checking of input validity, merged the parallel and nonparallel version (Ondrej Bojar)
|
| 39 |
+
# 27 Jul 2006 adding the safesystem() function to handle with process failure
|
| 40 |
+
# 22 Jul 2006 fixed a bug about handling relative path of configuration file (Nicola Bertoldi)
|
| 41 |
+
# 21 Jul 2006 adapted for Moses-in-parallel (Nicola Bertoldi)
|
| 42 |
+
# 18 Jul 2006 adapted for Moses and cleaned up (PK)
|
| 43 |
+
# 21 Jan 2005 unified various versions, thorough cleanup (DWC)
|
| 44 |
+
# now indexing accumulated n-best list solely by feature vectors
|
| 45 |
+
# 14 Dec 2004 reimplemented find_threshold_points in C (NMD)
|
| 46 |
+
# 25 Oct 2004 Use either average or shortest (default) reference
|
| 47 |
+
# length as effective reference length (DWC)
|
| 48 |
+
# 13 Oct 2004 Use alternative decoders (DWC)
|
| 49 |
+
# Original version by Philipp Koehn
|
| 50 |
+
|
| 51 |
+
use strict;
|
| 52 |
+
use Net::OpenSSH::Compat::Perl;
|
| 53 |
+
|
| 54 |
+
use FindBin qw($Bin);
|
| 55 |
+
use File::Basename;
|
| 56 |
+
use File::Path;
|
| 57 |
+
use File::Spec;
|
| 58 |
+
use Cwd;
|
| 59 |
+
|
| 60 |
+
my $SCRIPTS_ROOTDIR = $Bin;
|
| 61 |
+
$SCRIPTS_ROOTDIR =~ s/\/training$//;
|
| 62 |
+
$SCRIPTS_ROOTDIR = $ENV{"SCRIPTS_ROOTDIR"} if defined($ENV{"SCRIPTS_ROOTDIR"});
|
| 63 |
+
|
| 64 |
+
## We preserve this bit of comments to keep the traditional weight ranges.
|
| 65 |
+
# "w" => [ [ 0.0, -1.0, 1.0 ] ], # word penalty
|
| 66 |
+
# "d" => [ [ 1.0, 0.0, 2.0 ] ], # lexicalized reordering model
|
| 67 |
+
# "lm" => [ [ 1.0, 0.0, 2.0 ] ], # language model
|
| 68 |
+
# "g" => [ [ 1.0, 0.0, 2.0 ], # generation model
|
| 69 |
+
# [ 1.0, 0.0, 2.0 ] ],
|
| 70 |
+
# "tm" => [ [ 0.3, 0.0, 0.5 ], # translation model
|
| 71 |
+
# [ 0.2, 0.0, 0.5 ],
|
| 72 |
+
# [ 0.3, 0.0, 0.5 ],
|
| 73 |
+
# [ 0.2, 0.0, 0.5 ],
|
| 74 |
+
# [ 0.0,-1.0, 1.0 ] ], # ... last weight is phrase penalty
|
| 75 |
+
# "lex"=> [ [ 0.1, 0.0, 0.2 ] ], # global lexical model
|
| 76 |
+
# "I" => [ [ 0.0,-1.0, 1.0 ] ], # input lattice scores
|
| 77 |
+
|
| 78 |
+
|
| 79 |
+
|
| 80 |
+
# moses.ini file uses FULL names for lambdas, while this training script
|
| 81 |
+
# internally (and on the command line) uses ABBR names.
|
| 82 |
+
my @ABBR_FULL_MAP = qw(d=weight-d lm=weight-l tm=weight-t w=weight-w
|
| 83 |
+
g=weight-generation lex=weight-lex I=weight-i);
|
| 84 |
+
my %ABBR2FULL = map {split/=/,$_,2} @ABBR_FULL_MAP;
|
| 85 |
+
my %FULL2ABBR = map {my ($a, $b) = split/=/,$_,2; ($b, $a);} @ABBR_FULL_MAP;
|
| 86 |
+
|
| 87 |
+
my $minimum_required_change_in_weights = 0.00001;
|
| 88 |
+
# stop if no lambda changes more than this
|
| 89 |
+
|
| 90 |
+
my $verbose = 0;
|
| 91 |
+
my $usage = 0; # request for --help
|
| 92 |
+
|
| 93 |
+
# We assume that if you don't specify working directory,
|
| 94 |
+
# we set the default is set to `pwd`/mert-work
|
| 95 |
+
# my $___WORKING_DIR = File::Spec->catfile(Cwd::getcwd(), "mert-work");
|
| 96 |
+
my $___WORKING_DIR = undef;
|
| 97 |
+
my $___DEV_E = undef;
|
| 98 |
+
my $___DEV_F = undef; # required, input text to decode
|
| 99 |
+
my $___DECODER = undef; # required, pathname to the decoder executable
|
| 100 |
+
my $___CONFIG = undef; # required, pathname to startup ini file
|
| 101 |
+
my $___N_BEST_LIST_SIZE = 100;
|
| 102 |
+
my $___LATTICE_SAMPLES = 0;
|
| 103 |
+
my $queue_flags = "-hard"; # extra parameters for parallelizer
|
| 104 |
+
# the -l ws0ssmt was relevant only to JHU 2006 workshop
|
| 105 |
+
my $___JOBS = undef; # if parallel, number of jobs to use (undef or 0 -> serial)
|
| 106 |
+
my $___DECODER_FLAGS = ""; # additional parametrs to pass to the decoder
|
| 107 |
+
my $continue = 0; # should we try to continue from the last saved step?
|
| 108 |
+
my $skip_decoder = 0; # and should we skip the first decoder run (assuming we got interrupted during mert)
|
| 109 |
+
my $___FILTER_PHRASE_TABLE = 1; # filter phrase table
|
| 110 |
+
my $___PREDICTABLE_SEEDS = 0;
|
| 111 |
+
my $___START_WITH_HISTORIC_BESTS = 0; # use best settings from all previous iterations as starting points [Foster&Kuhn,2009]
|
| 112 |
+
my $___RANDOM_DIRECTIONS = 0; # search in random directions only
|
| 113 |
+
my $___NUM_RANDOM_DIRECTIONS = 0; # number of random directions, also works with default optimizer [Cer&al.,2008]
|
| 114 |
+
my $___PAIRWISE_RANKED_OPTIMIZER = 0; # use Hopkins&May[2011]
|
| 115 |
+
my $___PRO_STARTING_POINT = 0; # get a starting point from pairwise ranked optimizer
|
| 116 |
+
my $___RANDOM_RESTARTS = 20;
|
| 117 |
+
my $___HISTORIC_INTERPOLATION = 0; # interpolate optimize weights with previous iteration's weights [Hopkins&May,2011,5.4.3]
|
| 118 |
+
my $__THREADS = 0;
|
| 119 |
+
my $run = 0;
|
| 120 |
+
my $nextrun = 0;
|
| 121 |
+
my $submithost = "";
|
| 122 |
+
|
| 123 |
+
|
| 124 |
+
# Parameter for effective reference length when computing BLEU score
|
| 125 |
+
# Default is to use shortest reference
|
| 126 |
+
# Use "--shortest" to use shortest reference length
|
| 127 |
+
# Use "--average" to use average reference length
|
| 128 |
+
# Use "--closest" to use closest reference length
|
| 129 |
+
# Only one between --shortest, --average and --closest can be set
|
| 130 |
+
# If more than one choice the defualt (--shortest) is used
|
| 131 |
+
my $___SHORTEST = 0;
|
| 132 |
+
my $___AVERAGE = 0;
|
| 133 |
+
my $___CLOSEST = 0;
|
| 134 |
+
|
| 135 |
+
# Use "--nocase" to compute case-insensitive scores
|
| 136 |
+
my $___NOCASE = 0;
|
| 137 |
+
|
| 138 |
+
# Use "--nonorm" to non normalize translation before computing scores
|
| 139 |
+
my $___NONORM = 0;
|
| 140 |
+
|
| 141 |
+
# set 0 if input type is text, set 1 if input type is confusion network
|
| 142 |
+
my $___INPUTTYPE = 0;
|
| 143 |
+
|
| 144 |
+
|
| 145 |
+
my $mertdir = undef; # path to new mert directory
|
| 146 |
+
my $mertargs = undef; # args to pass through to mert & extractor
|
| 147 |
+
my $mertmertargs = undef; # args to pass through to mert only
|
| 148 |
+
my $extractorargs = undef; # args to pass through to extractor only
|
| 149 |
+
my $filtercmd = undef; # path to filter-model-given-input.pl
|
| 150 |
+
my $filterfile = undef;
|
| 151 |
+
my $qsubwrapper = undef;
|
| 152 |
+
my $qsubwrapper_exit = undef;
|
| 153 |
+
my $moses_parallel_cmd = undef;
|
| 154 |
+
my $old_sge = 0; # assume sge<6.0
|
| 155 |
+
my $___CONFIG_ORIG = undef; # pathname to startup ini file before filtering
|
| 156 |
+
my $___ACTIVATE_FEATURES = undef; # comma-separated (or blank-separated) list of features to work on
|
| 157 |
+
# if undef work on all features
|
| 158 |
+
# (others are fixed to the starting values)
|
| 159 |
+
my $___RANGES = undef;
|
| 160 |
+
my $prev_aggregate_nbl_size = -1; # number of previous step to consider when loading data (default =-1)
|
| 161 |
+
# -1 means all previous, i.e. from iteration 1
|
| 162 |
+
# 0 means no previous data, i.e. from actual iteration
|
| 163 |
+
# 1 means 1 previous data , i.e. from the actual iteration and from the previous one
|
| 164 |
+
# and so on
|
| 165 |
+
my $maximum_iterations = 25;
|
| 166 |
+
|
| 167 |
+
#####################
|
| 168 |
+
my $processfeatlistcmd = undef;
|
| 169 |
+
my $processfeatlistargs = undef;
|
| 170 |
+
my $createconfigcmd = undef;
|
| 171 |
+
my $createconfigargs = undef;
|
| 172 |
+
my $decoderargs = undef;
|
| 173 |
+
#####################
|
| 174 |
+
|
| 175 |
+
use Getopt::Long;
|
| 176 |
+
GetOptions(
|
| 177 |
+
"working-dir=s" => \$___WORKING_DIR,
|
| 178 |
+
"input=s" => \$___DEV_F,
|
| 179 |
+
"inputtype=i" => \$___INPUTTYPE,
|
| 180 |
+
"refs=s" => \$___DEV_E,
|
| 181 |
+
"decoder=s" => \$___DECODER,
|
| 182 |
+
"config=s" => \$___CONFIG,
|
| 183 |
+
"nbest=i" => \$___N_BEST_LIST_SIZE,
|
| 184 |
+
"lattice-samples=i" => \$___LATTICE_SAMPLES,
|
| 185 |
+
"queue-flags=s" => \$queue_flags,
|
| 186 |
+
"jobs=i" => \$___JOBS,
|
| 187 |
+
"decoder-flags=s" => \$___DECODER_FLAGS,
|
| 188 |
+
"continue" => \$continue,
|
| 189 |
+
"skip-decoder" => \$skip_decoder,
|
| 190 |
+
"shortest" => \$___SHORTEST,
|
| 191 |
+
"average" => \$___AVERAGE,
|
| 192 |
+
"closest" => \$___CLOSEST,
|
| 193 |
+
"nocase" => \$___NOCASE,
|
| 194 |
+
"nonorm" => \$___NONORM,
|
| 195 |
+
"help" => \$usage,
|
| 196 |
+
"verbose" => \$verbose,
|
| 197 |
+
"mertdir=s" => \$mertdir,
|
| 198 |
+
"mertargs=s" => \$mertargs,
|
| 199 |
+
"extractorargs=s" => \$extractorargs,
|
| 200 |
+
"mertmertargs=s" => \$mertmertargs,
|
| 201 |
+
"rootdir=s" => \$SCRIPTS_ROOTDIR,
|
| 202 |
+
"filtercmd=s" => \$filtercmd, # allow to override the default location
|
| 203 |
+
"filterfile=s" => \$filterfile, # input to filtering script (useful for lattices/confnets)
|
| 204 |
+
"qsubwrapper=s" => \$qsubwrapper, # allow to override the default location
|
| 205 |
+
"mosesparallelcmd=s" => \$moses_parallel_cmd, # allow to override the default location
|
| 206 |
+
"old-sge" => \$old_sge, #passed to moses-parallel
|
| 207 |
+
"filter-phrase-table!" => \$___FILTER_PHRASE_TABLE, # (dis)allow of phrase tables
|
| 208 |
+
"predictable-seeds" => \$___PREDICTABLE_SEEDS, # make random restarts deterministic
|
| 209 |
+
"historic-bests" => \$___START_WITH_HISTORIC_BESTS, # use best settings from all previous iterations as starting points
|
| 210 |
+
"random-directions" => \$___RANDOM_DIRECTIONS, # search only in random directions
|
| 211 |
+
"run=i" => \$run,
|
| 212 |
+
"number-of-random-directions=i" => \$___NUM_RANDOM_DIRECTIONS, # number of random directions
|
| 213 |
+
"random-restarts=i" => \$___RANDOM_RESTARTS, # number of random restarts
|
| 214 |
+
"activate-features=s" => \$___ACTIVATE_FEATURES, #comma-separated (or blank-separated) list of features to work on (others are fixed to the starting values)
|
| 215 |
+
"range=s@" => \$___RANGES,
|
| 216 |
+
"submithost=s" => \$submithost,
|
| 217 |
+
"prev-aggregate-nbestlist=i" => \$prev_aggregate_nbl_size, #number of previous step to consider when loading data (default =-1, i.e. all previous)
|
| 218 |
+
"maximum-iterations=i" => \$maximum_iterations,
|
| 219 |
+
"pairwise-ranked" => \$___PAIRWISE_RANKED_OPTIMIZER,
|
| 220 |
+
"pro-starting-point" => \$___PRO_STARTING_POINT,
|
| 221 |
+
"historic-interpolation=f" => \$___HISTORIC_INTERPOLATION,
|
| 222 |
+
"threads=i" => \$__THREADS
|
| 223 |
+
) or exit(1);
|
| 224 |
+
|
| 225 |
+
# the 4 required parameters can be supplied on the command line directly
|
| 226 |
+
# or using the --options
|
| 227 |
+
if (scalar @ARGV == 3) {
|
| 228 |
+
# required parameters: input_file references_basename decoder_executable
|
| 229 |
+
$___DEV_F = shift;
|
| 230 |
+
$___DECODER = shift;
|
| 231 |
+
$___CONFIG = shift;
|
| 232 |
+
}
|
| 233 |
+
|
| 234 |
+
|
| 235 |
+
|
| 236 |
+
if ($usage || !defined $___DECODER || !defined $___CONFIG || !defined $___DEV_F) {
|
| 237 |
+
print STDERR "usage: $0 input-text decoder-executable decoder.ini
|
| 238 |
+
Options:
|
| 239 |
+
--working-dir=mert-dir ... where all the files are created
|
| 240 |
+
--nbest=100 ... how big nbestlist to generate
|
| 241 |
+
--lattice-samples ... how many lattice samples (Chatterjee & Cancedda, emnlp 2010)
|
| 242 |
+
--jobs=N ... set this to anything to run moses in parallel
|
| 243 |
+
--mosesparallelcmd=STR ... use a different script instead of moses-parallel
|
| 244 |
+
--queue-flags=STRING ... anything you with to pass to qsub, eg.
|
| 245 |
+
'-l ws06osssmt=true'. The default is: '-hard'
|
| 246 |
+
To reset the parameters, please use
|
| 247 |
+
--queue-flags=' '
|
| 248 |
+
(i.e. a space between the quotes).
|
| 249 |
+
--decoder-flags=STRING ... extra parameters for the decoder
|
| 250 |
+
--continue ... continue from the last successful iteration
|
| 251 |
+
--skip-decoder ... skip the decoder run for the first time,
|
| 252 |
+
assuming that we got interrupted during
|
| 253 |
+
optimization
|
| 254 |
+
--shortest --average --closest
|
| 255 |
+
... Use shortest/average/closest reference length
|
| 256 |
+
as effective reference length (mutually exclusive)
|
| 257 |
+
--nocase ... Do not preserve case information; i.e.
|
| 258 |
+
case-insensitive evaluation (default is false).
|
| 259 |
+
--nonorm ... Do not use text normalization (flag is not active,
|
| 260 |
+
i.e. text is NOT normalized)
|
| 261 |
+
--filtercmd=STRING ... path to filter-model-given-input.pl
|
| 262 |
+
--filterfile=STRING ... path to alternative to input-text for filtering
|
| 263 |
+
model. useful for lattice decoding
|
| 264 |
+
--rootdir=STRING ... where do helpers reside (if not given explicitly)
|
| 265 |
+
--mertdir=STRING ... path to new mert implementation
|
| 266 |
+
--mertargs=STRING ... extra args for both extractor and mert
|
| 267 |
+
--extractorargs=STRING ... extra args for extractor only
|
| 268 |
+
--mertmertargs=STRING ... extra args for mert only
|
| 269 |
+
--scorenbestcmd=STRING ... path to score-nbest.py
|
| 270 |
+
--old-sge ... passed to parallelizers, assume Grid Engine < 6.0
|
| 271 |
+
--inputtype=[0|1|2] ... Handle different input types: (0 for text,
|
| 272 |
+
1 for confusion network, 2 for lattices,
|
| 273 |
+
default is 0)
|
| 274 |
+
--no-filter-phrase-table ... disallow filtering of phrase tables
|
| 275 |
+
(useful if binary phrase tables are available)
|
| 276 |
+
--random-restarts=INT ... number of random restarts (default: 20)
|
| 277 |
+
--predictable-seeds ... provide predictable seeds to mert so that random
|
| 278 |
+
restarts are the same on every run
|
| 279 |
+
--range=tm:0..1,-1..1 ... specify min and max value for some features
|
| 280 |
+
--range can be repeated as needed.
|
| 281 |
+
The order of the various --range specifications
|
| 282 |
+
is important only within a feature name.
|
| 283 |
+
E.g.:
|
| 284 |
+
--range=tm:0..1,-1..1 --range=tm:0..2
|
| 285 |
+
is identical to:
|
| 286 |
+
--range=tm:0..1,-1..1,0..2
|
| 287 |
+
but not to:
|
| 288 |
+
--range=tm:0..2 --range=tm:0..1,-1..1
|
| 289 |
+
--activate-features=STRING ... comma-separated list of features to optimize,
|
| 290 |
+
others are fixed to the starting values
|
| 291 |
+
default: optimize all features
|
| 292 |
+
example: tm_0,tm_4,d_0
|
| 293 |
+
--prev-aggregate-nbestlist=INT ... number of previous step to consider when
|
| 294 |
+
loading data (default = $prev_aggregate_nbl_size)
|
| 295 |
+
-1 means all previous, i.e. from iteration 1
|
| 296 |
+
0 means no previous data, i.e. only the
|
| 297 |
+
current iteration
|
| 298 |
+
N means this and N previous iterations
|
| 299 |
+
|
| 300 |
+
--maximum-iterations=ITERS ... Maximum number of iterations. Default: $maximum_iterations
|
| 301 |
+
--random-directions ... search only in random directions
|
| 302 |
+
--number-of-random-directions=int ... number of random directions
|
| 303 |
+
(also works with regular optimizer, default: 0)
|
| 304 |
+
--pairwise-ranked ... Use PRO for optimisation (Hopkins and May, emnlp 2011)
|
| 305 |
+
--pro-starting-point ... Use PRO to get a starting point for MERT
|
| 306 |
+
--threads=NUMBER ... Use multi-threaded mert (must be compiled in).
|
| 307 |
+
--historic-interpolation ... Interpolate optimized weights with prior iterations' weight
|
| 308 |
+
(parameter sets factor [0;1] given to current weights)
|
| 309 |
+
";
|
| 310 |
+
exit 1;
|
| 311 |
+
}
|
| 312 |
+
|
| 313 |
+
|
| 314 |
+
# Check validity of input parameters and set defaults if needed
|
| 315 |
+
|
| 316 |
+
print STDERR "Using SCRIPTS_ROOTDIR: $SCRIPTS_ROOTDIR\n";
|
| 317 |
+
|
| 318 |
+
# path of script for filtering phrase tables and running the decoder
|
| 319 |
+
$filtercmd="$SCRIPTS_ROOTDIR/training/filter-model-given-input.pl" if !defined $filtercmd;
|
| 320 |
+
|
| 321 |
+
if ( ! -x $filtercmd && ! $___FILTER_PHRASE_TABLE) {
|
| 322 |
+
print STDERR "Filtering command not found: $filtercmd.\n";
|
| 323 |
+
print STDERR "Use --filtercmd=PATH to specify a valid one or --no-filter-phrase-table\n";
|
| 324 |
+
exit 1;
|
| 325 |
+
}
|
| 326 |
+
|
| 327 |
+
# $qsubwrapper="$SCRIPTS_ROOTDIR/generic/qsub-wrapper.pl" if !defined $qsubwrapper;
|
| 328 |
+
$qsubwrapper = "$SCRIPTS_ROOTDIR/generic/qsub-wrapper-sge-nosync.pl" if !defined $qsubwrapper;
|
| 329 |
+
|
| 330 |
+
$qsubwrapper_exit = "$SCRIPTS_ROOTDIR/generic/qsub-wrapper-exit-sge-nosync.pl" if !defined $qsubwrapper_exit;
|
| 331 |
+
|
| 332 |
+
# $moses_parallel_cmd = "$SCRIPTS_ROOTDIR/generic/moses-parallel.pl"
|
| 333 |
+
# if !defined $moses_parallel_cmd;
|
| 334 |
+
$moses_parallel_cmd = "$SCRIPTS_ROOTDIR/generic/moses-parallel-sge-nosync.pl"
|
| 335 |
+
if !defined $moses_parallel_cmd;
|
| 336 |
+
|
| 337 |
+
if (!defined $mertdir) {
|
| 338 |
+
$mertdir = "$SCRIPTS_ROOTDIR/../mert";
|
| 339 |
+
print STDERR "Assuming --mertdir=$mertdir\n";
|
| 340 |
+
}
|
| 341 |
+
|
| 342 |
+
my $mert_extract_cmd = "$mertdir/extractor";
|
| 343 |
+
my $mert_mert_cmd = "$mertdir/mert";
|
| 344 |
+
my $mert_pro_cmd = "$mertdir/pro";
|
| 345 |
+
|
| 346 |
+
die "Not executable: $mert_extract_cmd" if ! -x $mert_extract_cmd;
|
| 347 |
+
die "Not executable: $mert_mert_cmd" if ! -x $mert_mert_cmd;
|
| 348 |
+
die "Not executable: $mert_pro_cmd" if ! -x $mert_pro_cmd;
|
| 349 |
+
|
| 350 |
+
my $pro_optimizer = "$mertdir/megam_i686.opt"; # or set to your installation
|
| 351 |
+
if (($___PAIRWISE_RANKED_OPTIMIZER || $___PRO_STARTING_POINT) && ! -x $pro_optimizer) {
|
| 352 |
+
print "did not find $pro_optimizer, installing it in $mertdir\n";
|
| 353 |
+
`cd $mertdir; wget http://www.cs.utah.edu/~hal/megam/megam_i686.opt.gz;`;
|
| 354 |
+
`gunzip $pro_optimizer.gz`;
|
| 355 |
+
`chmod +x $pro_optimizer`;
|
| 356 |
+
die("ERROR: Installation of megam_i686.opt failed! Install by hand from http://www.cs.utah.edu/~hal/megam/") unless -x $pro_optimizer;
|
| 357 |
+
}
|
| 358 |
+
|
| 359 |
+
$mertargs = "" if !defined $mertargs;
|
| 360 |
+
|
| 361 |
+
my $scconfig = undef;
|
| 362 |
+
if ($mertargs =~ /\-\-scconfig\s+(.+?)(\s|$)/){
|
| 363 |
+
$scconfig=$1;
|
| 364 |
+
$scconfig =~ s/\,/ /g;
|
| 365 |
+
$mertargs =~ s/\-\-scconfig\s+(.+?)(\s|$)//;
|
| 366 |
+
}
|
| 367 |
+
|
| 368 |
+
# handling reference lengh strategy
|
| 369 |
+
if (($___CLOSEST + $___AVERAGE + $___SHORTEST) > 1){
|
| 370 |
+
die "You can specify just ONE reference length strategy (closest or shortest or average) not both\n";
|
| 371 |
+
}
|
| 372 |
+
|
| 373 |
+
if ($___SHORTEST){
|
| 374 |
+
$scconfig .= " reflen:shortest";
|
| 375 |
+
}elsif ($___AVERAGE){
|
| 376 |
+
$scconfig .= " reflen:average";
|
| 377 |
+
}elsif ($___CLOSEST){
|
| 378 |
+
$scconfig .= " reflen:closest";
|
| 379 |
+
}
|
| 380 |
+
|
| 381 |
+
# handling case-insensitive flag
|
| 382 |
+
if ($___NOCASE) {
|
| 383 |
+
$scconfig .= " case:false";
|
| 384 |
+
}else{
|
| 385 |
+
$scconfig .= " case:true";
|
| 386 |
+
}
|
| 387 |
+
$scconfig =~ s/^\s+//;
|
| 388 |
+
$scconfig =~ s/\s+$//;
|
| 389 |
+
$scconfig =~ s/\s+/,/g;
|
| 390 |
+
|
| 391 |
+
$scconfig = "--scconfig $scconfig" if ($scconfig);
|
| 392 |
+
|
| 393 |
+
my $mert_extract_args=$mertargs;
|
| 394 |
+
$mert_extract_args .=" $scconfig";
|
| 395 |
+
$mert_extract_args .=" $extractorargs";
|
| 396 |
+
|
| 397 |
+
$mertmertargs = "" if !defined $mertmertargs;
|
| 398 |
+
|
| 399 |
+
my $mert_mert_args="$mertargs $mertmertargs";
|
| 400 |
+
$mert_mert_args =~ s/\-+(binary|b)\b//;
|
| 401 |
+
$mert_mert_args .=" $scconfig";
|
| 402 |
+
if ($___ACTIVATE_FEATURES){ $mert_mert_args .=" -o \"$___ACTIVATE_FEATURES\""; }
|
| 403 |
+
|
| 404 |
+
my ($just_cmd_filtercmd,$x) = split(/ /,$filtercmd);
|
| 405 |
+
die "Not executable: $just_cmd_filtercmd" if ! -x $just_cmd_filtercmd;
|
| 406 |
+
die "Not executable: $moses_parallel_cmd" if defined $___JOBS && ! -x $moses_parallel_cmd;
|
| 407 |
+
die "Not executable: $qsubwrapper" if defined $___JOBS && ! -x $qsubwrapper;
|
| 408 |
+
# die "Not executable: $___DECODER" if ! -x $___DECODER;
|
| 409 |
+
|
| 410 |
+
my $input_abs = ensure_full_path($___DEV_F);
|
| 411 |
+
die "File not found: $___DEV_F (interpreted as $input_abs)."
|
| 412 |
+
if ! -e $input_abs;
|
| 413 |
+
$___DEV_F = $input_abs;
|
| 414 |
+
|
| 415 |
+
# Option to pass to qsubwrapper and moses-parallel
|
| 416 |
+
my $pass_old_sge = $old_sge ? "-old-sge" : "";
|
| 417 |
+
|
| 418 |
+
my $decoder_abs = ensure_full_path($___DECODER);
|
| 419 |
+
die "File not executable: $___DECODER (interpreted as $decoder_abs)."
|
| 420 |
+
if ! -x $decoder_abs;
|
| 421 |
+
$___DECODER = $decoder_abs;
|
| 422 |
+
|
| 423 |
+
|
| 424 |
+
my $config_abs = ensure_full_path($___CONFIG);
|
| 425 |
+
die "File not found: $___CONFIG (interpreted as $config_abs)."
|
| 426 |
+
if ! -e $config_abs;
|
| 427 |
+
$___CONFIG = $config_abs;
|
| 428 |
+
|
| 429 |
+
# moses should use our config
|
| 430 |
+
if ($___DECODER_FLAGS =~ /(^|\s)-(config|f) /
|
| 431 |
+
|| $___DECODER_FLAGS =~ /(^|\s)-(ttable-file|t) /
|
| 432 |
+
|| $___DECODER_FLAGS =~ /(^|\s)-(distortion-file) /
|
| 433 |
+
|| $___DECODER_FLAGS =~ /(^|\s)-(generation-file) /
|
| 434 |
+
|| $___DECODER_FLAGS =~ /(^|\s)-(lmodel-file) /
|
| 435 |
+
|| $___DECODER_FLAGS =~ /(^|\s)-(global-lexical-file) /
|
| 436 |
+
) {
|
| 437 |
+
die "It is forbidden to supply any of -config, -ttable-file, -distortion-file, -generation-file or -lmodel-file in the --decoder-flags.\nPlease use only the --config option to give the config file that lists all the supplementary files.";
|
| 438 |
+
}
|
| 439 |
+
|
| 440 |
+
# as weights are normalized in the next steps (by cmert)
|
| 441 |
+
# normalize initial LAMBDAs, too
|
| 442 |
+
my $need_to_normalize = 0;
|
| 443 |
+
|
| 444 |
+
#store current directory and create the working directory (if needed)
|
| 445 |
+
my $cwd = `pawd 2>/dev/null`;
|
| 446 |
+
if(!$cwd){$cwd = `pwd`;}
|
| 447 |
+
chomp($cwd);
|
| 448 |
+
|
| 449 |
+
$___WORKING_DIR = $cwd if (!defined $___WORKING_DIR);
|
| 450 |
+
chomp $___WORKING_DIR;
|
| 451 |
+
|
| 452 |
+
# mkpath($___WORKING_DIR);
|
| 453 |
+
|
| 454 |
+
{
|
| 455 |
+
# open local scope
|
| 456 |
+
|
| 457 |
+
#chdir to the working directory
|
| 458 |
+
chdir($___WORKING_DIR) or die "Can't chdir to $___WORKING_DIR";
|
| 459 |
+
|
| 460 |
+
# fixed file names
|
| 461 |
+
my $mert_outfile = "mert.out";
|
| 462 |
+
my $mert_logfile = "mert.log";
|
| 463 |
+
my $weights_in_file = "init.opt";
|
| 464 |
+
my $weights_out_file = "weights.txt";
|
| 465 |
+
|
| 466 |
+
# set start run
|
| 467 |
+
my $start_run = 1;
|
| 468 |
+
my $bestpoint = undef;
|
| 469 |
+
my $devbleu = undef;
|
| 470 |
+
my $sparse_weights_file = undef;
|
| 471 |
+
my $jobid = -1;
|
| 472 |
+
|
| 473 |
+
my $prev_feature_file = undef;
|
| 474 |
+
my $prev_score_file = undef;
|
| 475 |
+
my $prev_init_file = undef;
|
| 476 |
+
|
| 477 |
+
|
| 478 |
+
#########################
|
| 479 |
+
# set jobid to trace different jobs
|
| 480 |
+
my $prevjid = undef;
|
| 481 |
+
|
| 482 |
+
|
| 483 |
+
|
| 484 |
+
### load featlist when needed########
|
| 485 |
+
print STDERR "loading feat config ./run$run.moses.ini\n";
|
| 486 |
+
my $featlist = get_featlist_from_moses("./run$run.moses.ini");
|
| 487 |
+
$featlist = insert_ranges_to_featlist($featlist, $___RANGES);
|
| 488 |
+
|
| 489 |
+
# Mark which features are disabled:
|
| 490 |
+
if (defined $___ACTIVATE_FEATURES) {
|
| 491 |
+
my %enabled = map { ($_, 1) } split /[, ]+/, $___ACTIVATE_FEATURES;
|
| 492 |
+
my %cnt;
|
| 493 |
+
for(my $i=0; $i<scalar(@{$featlist->{"names"}}); $i++) {
|
| 494 |
+
my $name = $featlist->{"names"}->[$i];
|
| 495 |
+
$cnt{$name} = 0 if !defined $cnt{$name};
|
| 496 |
+
$featlist->{"enabled"}->[$i] = $enabled{$name."_".$cnt{$name}};
|
| 497 |
+
$cnt{$name}++;
|
| 498 |
+
}
|
| 499 |
+
} else {
|
| 500 |
+
# all enabled
|
| 501 |
+
for(my $i=0; $i<scalar(@{$featlist->{"names"}}); $i++) {
|
| 502 |
+
$featlist->{"enabled"}->[$i] = 1;
|
| 503 |
+
}
|
| 504 |
+
}
|
| 505 |
+
|
| 506 |
+
#####################################
|
| 507 |
+
|
| 508 |
+
|
| 509 |
+
|
| 510 |
+
my $oldallsorted = undef;
|
| 511 |
+
my $allsorted = undef;
|
| 512 |
+
|
| 513 |
+
my $nbest_file=undef;
|
| 514 |
+
my $lsamp_file=undef; #Lattice samples
|
| 515 |
+
my $orig_nbest_file=undef; # replaced if lattice sampling
|
| 516 |
+
my $cmd=undef;
|
| 517 |
+
|
| 518 |
+
|
| 519 |
+
|
| 520 |
+
|
| 521 |
+
my $base_feature_file = "features.dat";
|
| 522 |
+
my $base_score_file = "scores.dat";
|
| 523 |
+
my $feature_file = "run$run.${base_feature_file}";
|
| 524 |
+
my $score_file = "run$run.${base_score_file}";
|
| 525 |
+
|
| 526 |
+
|
| 527 |
+
|
| 528 |
+
# Create the initial weights file for mert: init.opt
|
| 529 |
+
foreach (@{$featlist->{"names"}}) {
|
| 530 |
+
print STDERR "feature list name: $_\n";
|
| 531 |
+
}
|
| 532 |
+
|
| 533 |
+
my @MIN = @{$featlist->{"mins"}};
|
| 534 |
+
my @MAX = @{$featlist->{"maxs"}};
|
| 535 |
+
my @CURR = @{$featlist->{"values"}};
|
| 536 |
+
my @NAME = @{$featlist->{"names"}};
|
| 537 |
+
|
| 538 |
+
open(OUT,"> $weights_in_file")
|
| 539 |
+
or die "Can't write $weights_in_file (WD now $___WORKING_DIR)";
|
| 540 |
+
print OUT join(" ", @CURR)."\n";
|
| 541 |
+
print OUT join(" ", @MIN)."\n"; # this is where we could pass MINS
|
| 542 |
+
print OUT join(" ", @MAX)."\n"; # this is where we could pass MAXS
|
| 543 |
+
close(OUT);
|
| 544 |
+
# print join(" ", @NAME)."\n";
|
| 545 |
+
|
| 546 |
+
print "CURR before MERT @CURR\n";
|
| 547 |
+
|
| 548 |
+
# make a backup copy labelled with this run number
|
| 549 |
+
safesystem("\\cp -f $weights_in_file run$run.$weights_in_file") or die;
|
| 550 |
+
|
| 551 |
+
my $DIM = scalar(@CURR); # number of lambdas
|
| 552 |
+
|
| 553 |
+
# run mert
|
| 554 |
+
$cmd = "$mert_mert_cmd -d $DIM $mert_mert_args";
|
| 555 |
+
|
| 556 |
+
my $mert_settings = " -n $___RANDOM_RESTARTS";
|
| 557 |
+
my $seed_settings = "";
|
| 558 |
+
if ($___PREDICTABLE_SEEDS) {
|
| 559 |
+
my $seed = $run * 1000;
|
| 560 |
+
$seed_settings .= " -r $seed";
|
| 561 |
+
}
|
| 562 |
+
$mert_settings .= $seed_settings;
|
| 563 |
+
if ($___RANDOM_DIRECTIONS) {
|
| 564 |
+
if ($___NUM_RANDOM_DIRECTIONS == 0) {
|
| 565 |
+
$mert_settings .= " -m 50";
|
| 566 |
+
}
|
| 567 |
+
$mert_settings .= " -t random-direction";
|
| 568 |
+
}
|
| 569 |
+
if ($___NUM_RANDOM_DIRECTIONS) {
|
| 570 |
+
$mert_settings .= " -m $___NUM_RANDOM_DIRECTIONS";
|
| 571 |
+
}
|
| 572 |
+
if ($__THREADS) {
|
| 573 |
+
$mert_settings .= " --threads $__THREADS";
|
| 574 |
+
}
|
| 575 |
+
|
| 576 |
+
##############################
|
| 577 |
+
# construct prev_feature_file and prev_socre_file
|
| 578 |
+
|
| 579 |
+
my $firstrun;
|
| 580 |
+
if ($prev_aggregate_nbl_size==-1){
|
| 581 |
+
$firstrun=1;
|
| 582 |
+
}
|
| 583 |
+
else{
|
| 584 |
+
$firstrun=$run-$prev_aggregate_nbl_size+1;
|
| 585 |
+
$firstrun=($firstrun>0)?$firstrun:1;
|
| 586 |
+
}
|
| 587 |
+
##############################
|
| 588 |
+
|
| 589 |
+
print "loading data from $firstrun to $run (prev_aggregate_nbl_size=$prev_aggregate_nbl_size)\n";
|
| 590 |
+
$prev_feature_file = undef;
|
| 591 |
+
$prev_score_file = undef;
|
| 592 |
+
$prev_init_file = undef;
|
| 593 |
+
for (my $i=$firstrun;$i<$run;$i++){
|
| 594 |
+
if (defined $prev_feature_file){
|
| 595 |
+
$prev_feature_file = "${prev_feature_file},run${i}.${base_feature_file}";
|
| 596 |
+
}
|
| 597 |
+
else{
|
| 598 |
+
$prev_feature_file = "run${i}.${base_feature_file}";
|
| 599 |
+
}
|
| 600 |
+
if (defined $prev_score_file){
|
| 601 |
+
$prev_score_file = "${prev_score_file},run${i}.${base_score_file}";
|
| 602 |
+
}
|
| 603 |
+
else{
|
| 604 |
+
$prev_score_file = "run${i}.${base_score_file}";
|
| 605 |
+
}
|
| 606 |
+
}
|
| 607 |
+
|
| 608 |
+
print STDERR "prev_feature_file is $prev_feature_file\n";
|
| 609 |
+
print STDERR "prev_score_files is $prev_score_file\n";
|
| 610 |
+
print STDERR "prev_init_files is undefined\n";
|
| 611 |
+
############################
|
| 612 |
+
|
| 613 |
+
|
| 614 |
+
my $ffiles = "";
|
| 615 |
+
my $scfiles = "";
|
| 616 |
+
if (defined $prev_feature_file) {
|
| 617 |
+
$ffiles = "$prev_feature_file,$feature_file";
|
| 618 |
+
}
|
| 619 |
+
else{
|
| 620 |
+
$ffiles = "$feature_file";
|
| 621 |
+
}
|
| 622 |
+
if (defined $prev_score_file) {
|
| 623 |
+
$scfiles = "$prev_score_file,$score_file";
|
| 624 |
+
}
|
| 625 |
+
else{
|
| 626 |
+
$scfiles = "$score_file";
|
| 627 |
+
}
|
| 628 |
+
|
| 629 |
+
my $file_settings = " --ffile $ffiles --scfile $scfiles";
|
| 630 |
+
my $pro_file_settings = "--ffile " . join( " --ffile ", split(/,/, $ffiles)) .
|
| 631 |
+
" --scfile " . join( " --scfile ", split(/,/, $scfiles));
|
| 632 |
+
|
| 633 |
+
if ($___START_WITH_HISTORIC_BESTS && defined $prev_init_file) {
|
| 634 |
+
$file_settings .= " --ifile $prev_init_file,run$run.$weights_in_file";
|
| 635 |
+
}
|
| 636 |
+
else{
|
| 637 |
+
$file_settings .= " --ifile run$run.$weights_in_file";
|
| 638 |
+
}
|
| 639 |
+
|
| 640 |
+
$cmd .= $file_settings;
|
| 641 |
+
|
| 642 |
+
# pro optimization
|
| 643 |
+
if ($___PAIRWISE_RANKED_OPTIMIZER) {
|
| 644 |
+
print STDERR "\$___PAIRWISE_RANKED_OPTIMIZER not supported in non-sync mode\n";
|
| 645 |
+
exit 1;
|
| 646 |
+
}
|
| 647 |
+
# first pro, then mert
|
| 648 |
+
elsif ($___PRO_STARTING_POINT) {
|
| 649 |
+
print STDERR "\$___PRO_STARTING_POINT not supported in non-sync mode\n";
|
| 650 |
+
exit 1;
|
| 651 |
+
# run pro...
|
| 652 |
+
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";
|
| 653 |
+
&submit_or_exec($pro_cmd,"run$run.pro.out","run$run.pro.err");
|
| 654 |
+
# ... get results ...
|
| 655 |
+
my %dummy;
|
| 656 |
+
($bestpoint,$devbleu) = &get_weights_from_mert("run$run.pro.out","run$run.pro.err",scalar @{$featlist->{"names"}},\%dummy);
|
| 657 |
+
open(PRO_START,">run$run.init.pro");
|
| 658 |
+
print PRO_START $bestpoint."\n";
|
| 659 |
+
close(PRO_START);
|
| 660 |
+
# ... and run mert
|
| 661 |
+
$cmd =~ s/(--ifile \S+)/$1,run$run.init.pro/;
|
| 662 |
+
&submit_or_exec($cmd.$mert_settings,$mert_outfile,$mert_logfile);
|
| 663 |
+
}
|
| 664 |
+
# just mert
|
| 665 |
+
else {
|
| 666 |
+
print STDERR "I am running just MERT\n";
|
| 667 |
+
&submit_or_exec($cmd.$mert_settings,$mert_outfile,$mert_logfile);
|
| 668 |
+
}
|
| 669 |
+
|
| 670 |
+
die "Optimization failed, file $weights_out_file does not exist or is empty"
|
| 671 |
+
if ! -s $weights_out_file;
|
| 672 |
+
|
| 673 |
+
# backup copies
|
| 674 |
+
safesystem ("\\cp -f extract.err run$run.extract.err") or die;
|
| 675 |
+
safesystem ("\\cp -f extract.out run$run.extract.out") or die;
|
| 676 |
+
safesystem ("\\cp -f $mert_outfile run$run.$mert_outfile") or die;
|
| 677 |
+
safesystem ("\\cp -f $mert_logfile run$run.$mert_logfile") or die;
|
| 678 |
+
safesystem ("touch $mert_logfile run$run.$mert_logfile") or die;
|
| 679 |
+
safesystem ("\\cp -f $weights_out_file run$run.$weights_out_file") or die; # this one is needed for restarts, too
|
| 680 |
+
|
| 681 |
+
print "run $run end at ".`date`;
|
| 682 |
+
|
| 683 |
+
my %sparse_weights; # sparse features
|
| 684 |
+
($bestpoint,$devbleu) = &get_weights_from_mert("run$run.$mert_outfile","run$run.$mert_logfile",scalar @{$featlist->{"names"}},\%sparse_weights);
|
| 685 |
+
|
| 686 |
+
die "Failed to parse mert.log, missed Best point there."
|
| 687 |
+
if !defined $bestpoint || !defined $devbleu;
|
| 688 |
+
|
| 689 |
+
print "($run) BEST at $run: $bestpoint => $devbleu at ".`date`;
|
| 690 |
+
|
| 691 |
+
# update my cache of lambda values
|
| 692 |
+
my @newweights = split /\s+/, $bestpoint;
|
| 693 |
+
|
| 694 |
+
# interpolate with prior's interation weight, if historic-interpolation is specified
|
| 695 |
+
if ($___HISTORIC_INTERPOLATION>0 && $run>3) {
|
| 696 |
+
my %historic_sparse_weights;
|
| 697 |
+
if (-e "run$run.sparse-weights") {
|
| 698 |
+
open(SPARSE,"run$run.sparse-weights");
|
| 699 |
+
while(<SPARSE>) {
|
| 700 |
+
chop;
|
| 701 |
+
my ($feature,$weight) = split;
|
| 702 |
+
$historic_sparse_weights{$feature} = $weight;
|
| 703 |
+
}
|
| 704 |
+
}
|
| 705 |
+
my $prev = $run-1;
|
| 706 |
+
my @historic_weights = split /\s+/, `cat run$prev.$weights_out_file`;
|
| 707 |
+
for(my $i=0;$i<scalar(@newweights);$i++) {
|
| 708 |
+
$newweights[$i] = $___HISTORIC_INTERPOLATION * $newweights[$i] + (1-$___HISTORIC_INTERPOLATION) * $historic_weights[$i];
|
| 709 |
+
}
|
| 710 |
+
print "interpolate with ".join(",",@historic_weights)." to ".join(",",@newweights);
|
| 711 |
+
foreach (keys %sparse_weights) {
|
| 712 |
+
$sparse_weights{$_} *= $___HISTORIC_INTERPOLATION;
|
| 713 |
+
#print STDERR "sparse_weights{$_} *= $___HISTORIC_INTERPOLATION -> $sparse_weights{$_}\n";
|
| 714 |
+
}
|
| 715 |
+
foreach (keys %historic_sparse_weights) {
|
| 716 |
+
$sparse_weights{$_} += (1-$___HISTORIC_INTERPOLATION) * $historic_sparse_weights{$_};
|
| 717 |
+
#print STDERR "sparse_weights{$_} += (1-$___HISTORIC_INTERPOLATION) * $historic_sparse_weights{$_} -> $sparse_weights{$_}\n";
|
| 718 |
+
}
|
| 719 |
+
}
|
| 720 |
+
if ($___HISTORIC_INTERPOLATION>0) {
|
| 721 |
+
open(WEIGHTS,">run$run.$weights_out_file");
|
| 722 |
+
print WEIGHTS join(" ",@newweights);
|
| 723 |
+
close(WEIGHTS);
|
| 724 |
+
}
|
| 725 |
+
|
| 726 |
+
$featlist->{"values"} = \@newweights;
|
| 727 |
+
|
| 728 |
+
if (scalar keys %sparse_weights) {
|
| 729 |
+
$sparse_weights_file = "run".($run+1).".sparse-weights";
|
| 730 |
+
open(SPARSE,">".$sparse_weights_file);
|
| 731 |
+
foreach my $feature (keys %sparse_weights) {
|
| 732 |
+
print SPARSE "$feature $sparse_weights{$feature}\n";
|
| 733 |
+
}
|
| 734 |
+
close(SPARSE);
|
| 735 |
+
}
|
| 736 |
+
|
| 737 |
+
## additional stopping criterion: weights have not changed
|
| 738 |
+
my $shouldstop = 1;
|
| 739 |
+
print "CURR after MERT: @CURR\n";
|
| 740 |
+
|
| 741 |
+
for(my $i=0; $i<@CURR; $i++) {
|
| 742 |
+
die "Lost weight! mert reported fewer weights (@newweights) than we gave it (@CURR)"
|
| 743 |
+
if !defined $newweights[$i];
|
| 744 |
+
# print STDERR "$i Current weight : $CURR[$i]\n";
|
| 745 |
+
# print STDERR "$i New weight: $newweights[$i]\n";
|
| 746 |
+
if (abs($CURR[$i] - $newweights[$i]) >= $minimum_required_change_in_weights) {
|
| 747 |
+
$shouldstop = 0;
|
| 748 |
+
# last;
|
| 749 |
+
}
|
| 750 |
+
}
|
| 751 |
+
|
| 752 |
+
|
| 753 |
+
open F, "> finished_step.txt" or die "Can't mark finished step";
|
| 754 |
+
print F $run."\n";
|
| 755 |
+
close F;
|
| 756 |
+
|
| 757 |
+
##################################################33
|
| 758 |
+
print "loading data from $prev_feature_file\n" if defined($prev_feature_file);
|
| 759 |
+
print "loading data from $prev_score_file\n" if defined($prev_score_file);
|
| 760 |
+
print "loading data from $prev_init_file\n" if defined($prev_init_file);
|
| 761 |
+
|
| 762 |
+
|
| 763 |
+
### extra step to create config for next step ###################
|
| 764 |
+
$nextrun=$run+1;
|
| 765 |
+
|
| 766 |
+
create_config($___CONFIG, "./run$nextrun.moses.ini", $featlist, $nextrun, $devbleu, $sparse_weights_file);
|
| 767 |
+
#################################################################
|
| 768 |
+
|
| 769 |
+
|
| 770 |
+
if ($shouldstop) {
|
| 771 |
+
print STDERR "None of the weights changed more than $minimum_required_change_in_weights. Stopping.\n";
|
| 772 |
+
|
| 773 |
+
for (my $i=$run+1;$i<=$maximum_iterations;$i++){
|
| 774 |
+
kill_unnecessary_jobs($submithost,$i);
|
| 775 |
+
}
|
| 776 |
+
last; ## end while loop
|
| 777 |
+
}
|
| 778 |
+
|
| 779 |
+
|
| 780 |
+
|
| 781 |
+
|
| 782 |
+
} # end of local scope
|
| 783 |
+
|
| 784 |
+
|
| 785 |
+
|
| 786 |
+
sub kill_unnecessary_jobs {
|
| 787 |
+
my ($submithost,$iter_id) = @_;
|
| 788 |
+
my @sgepids = ();
|
| 789 |
+
my @processids = ();
|
| 790 |
+
my $jobid = "";
|
| 791 |
+
my $pidid = undef;
|
| 792 |
+
my $kill_target = "";
|
| 793 |
+
my $ssh = undef;
|
| 794 |
+
|
| 795 |
+
## read all relevant jobid #########
|
| 796 |
+
chomp($jobid=`cat decode$iter_id.id decode$iter_id.POLL.id zipext$iter_id.id processmoses$iter_id.id`);
|
| 797 |
+
|
| 798 |
+
if ($jobid != "") {
|
| 799 |
+
@sgepids = split("\n",$jobid);
|
| 800 |
+
$kill_target = join(" ",@sgepids);
|
| 801 |
+
}
|
| 802 |
+
####################################
|
| 803 |
+
|
| 804 |
+
if ($kill_target != "") {
|
| 805 |
+
chomp(my $my_username = `whoami`);
|
| 806 |
+
$ssh = Net::OpenSSH::Compat::Perl->new($submithost, debug=>0);
|
| 807 |
+
|
| 808 |
+
$ssh->login("$my_username",`cat /home/$my_username/accpw`);
|
| 809 |
+
$ssh->cmd("qdel $kill_target");
|
| 810 |
+
}
|
| 811 |
+
|
| 812 |
+
|
| 813 |
+
|
| 814 |
+
## read relevant pid ###############
|
| 815 |
+
chomp($pidid=`ls decode$iter_id.id.pid decode$iter_id.POLL.id.pid zipext$iter_id.id.pid processmoses$iter_id.id.pid`);
|
| 816 |
+
|
| 817 |
+
if (defined $pidid) {
|
| 818 |
+
@processids = split("\n",$pidid);
|
| 819 |
+
}
|
| 820 |
+
###################################
|
| 821 |
+
|
| 822 |
+
|
| 823 |
+
foreach my $kill_pidfile (@processids) {
|
| 824 |
+
print STDERR "Force delete process represented by $kill_pidfile\n";
|
| 825 |
+
&force_exit_submit_thu_host($submithost,$kill_pidfile);
|
| 826 |
+
}
|
| 827 |
+
####################################
|
| 828 |
+
|
| 829 |
+
|
| 830 |
+
|
| 831 |
+
|
| 832 |
+
}
|
| 833 |
+
|
| 834 |
+
sub get_weights_from_mert {
|
| 835 |
+
my ($outfile,$logfile,$weight_count,$sparse_weights) = @_;
|
| 836 |
+
my ($bestpoint,$devbleu);
|
| 837 |
+
|
| 838 |
+
if ($___PAIRWISE_RANKED_OPTIMIZER || ($___PRO_STARTING_POINT && $logfile =~ /pro/)) {
|
| 839 |
+
open(IN,$outfile) or die "Can't open $outfile";
|
| 840 |
+
my (@WEIGHT,$sum);
|
| 841 |
+
for(my $i=0;$i<$weight_count;$i++) { push @WEIGHT, 0; }
|
| 842 |
+
while(<IN>) {
|
| 843 |
+
# regular features
|
| 844 |
+
if (/^F(\d+) ([\-\.\de]+)/) {
|
| 845 |
+
$WEIGHT[$1] = $2;
|
| 846 |
+
$sum += abs($2);
|
| 847 |
+
}
|
| 848 |
+
# sparse features
|
| 849 |
+
elsif(/^(.+_.+) ([\-\.\de]+)/) {
|
| 850 |
+
$$sparse_weights{$1} = $2;
|
| 851 |
+
}
|
| 852 |
+
}
|
| 853 |
+
$devbleu = "unknown";
|
| 854 |
+
foreach (@WEIGHT) { $_ /= $sum; }
|
| 855 |
+
foreach (keys %{$sparse_weights}) { $$sparse_weights{$_} /= $sum; }
|
| 856 |
+
$bestpoint = join(" ",@WEIGHT);
|
| 857 |
+
close IN;
|
| 858 |
+
}
|
| 859 |
+
else {
|
| 860 |
+
open(IN,$logfile) or die "Can't open $logfile";
|
| 861 |
+
while (<IN>) {
|
| 862 |
+
if (/Best point:\s*([\s\d\.\-e]+?)\s*=> ([\-\d\.]+)/) {
|
| 863 |
+
$bestpoint = $1;
|
| 864 |
+
$devbleu = $2;
|
| 865 |
+
last;
|
| 866 |
+
}
|
| 867 |
+
}
|
| 868 |
+
close IN;
|
| 869 |
+
}
|
| 870 |
+
return ($bestpoint,$devbleu);
|
| 871 |
+
}
|
| 872 |
+
|
| 873 |
+
|
| 874 |
+
sub insert_ranges_to_featlist {
|
| 875 |
+
my $featlist = shift;
|
| 876 |
+
my $ranges = shift;
|
| 877 |
+
|
| 878 |
+
$ranges = [] if !defined $ranges;
|
| 879 |
+
|
| 880 |
+
# first collect the ranges from options
|
| 881 |
+
my $niceranges;
|
| 882 |
+
foreach my $range (@$ranges) {
|
| 883 |
+
my $name = undef;
|
| 884 |
+
foreach my $namedpair (split /,/, $range) {
|
| 885 |
+
if ($namedpair =~ /^(.*?):/) {
|
| 886 |
+
$name = $1;
|
| 887 |
+
$namedpair =~ s/^.*?://;
|
| 888 |
+
die "Unrecognized name '$name' in --range=$range"
|
| 889 |
+
if !defined $ABBR2FULL{$name};
|
| 890 |
+
}
|
| 891 |
+
my ($min, $max) = split /\.\./, $namedpair;
|
| 892 |
+
die "Bad min '$min' in --range=$range" if $min !~ /^-?[0-9.]+$/;
|
| 893 |
+
die "Bad max '$max' in --range=$range" if $min !~ /^-?[0-9.]+$/;
|
| 894 |
+
die "No name given in --range=$range" if !defined $name;
|
| 895 |
+
push @{$niceranges->{$name}}, [$min, $max];
|
| 896 |
+
}
|
| 897 |
+
}
|
| 898 |
+
|
| 899 |
+
# now populate featlist
|
| 900 |
+
my $seen = undef;
|
| 901 |
+
for(my $i=0; $i<scalar(@{$featlist->{"names"}}); $i++) {
|
| 902 |
+
my $name = $featlist->{"names"}->[$i];
|
| 903 |
+
$seen->{$name} ++;
|
| 904 |
+
my $min = 0.0;
|
| 905 |
+
my $max = 1.0;
|
| 906 |
+
if (defined $niceranges->{$name}) {
|
| 907 |
+
my $minmax = shift @{$niceranges->{$name}};
|
| 908 |
+
($min, $max) = @$minmax if defined $minmax;
|
| 909 |
+
}
|
| 910 |
+
$featlist->{"mins"}->[$i] = $min;
|
| 911 |
+
$featlist->{"maxs"}->[$i] = $max;
|
| 912 |
+
}
|
| 913 |
+
return $featlist;
|
| 914 |
+
}
|
| 915 |
+
|
| 916 |
+
sub sanity_check_order_of_lambdas {
|
| 917 |
+
my $featlist = shift;
|
| 918 |
+
my $filename_or_stream = shift;
|
| 919 |
+
|
| 920 |
+
my @expected_lambdas = @{$featlist->{"names"}};
|
| 921 |
+
my @got = get_order_of_scores_from_nbestlist($filename_or_stream);
|
| 922 |
+
die "Mismatched lambdas. Decoder returned @got, we expected @expected_lambdas"
|
| 923 |
+
if "@got" ne "@expected_lambdas";
|
| 924 |
+
}
|
| 925 |
+
|
| 926 |
+
sub get_featlist_from_moses {
|
| 927 |
+
# run moses with the given config file and return the list of features and
|
| 928 |
+
# their initial values
|
| 929 |
+
|
| 930 |
+
my $configfn = shift;
|
| 931 |
+
my $featlistfn = "./features.list.run${run}_end";
|
| 932 |
+
if (-e $featlistfn) {
|
| 933 |
+
print STDERR "Deleting featlistfn: $featlistfn\n";
|
| 934 |
+
}
|
| 935 |
+
|
| 936 |
+
print STDERR "Asking moses for feature names and values from $___CONFIG\n";
|
| 937 |
+
my $cmd = "$___DECODER $___DECODER_FLAGS -config $configfn -inputtype $___INPUTTYPE -show-weights > $featlistfn";
|
| 938 |
+
safesystem($cmd) or die "Failed to run moses with the config $configfn";
|
| 939 |
+
|
| 940 |
+
|
| 941 |
+
|
| 942 |
+
|
| 943 |
+
# read feature list
|
| 944 |
+
my @names = ();
|
| 945 |
+
my @startvalues = ();
|
| 946 |
+
open(INI,$featlistfn) or die "Can't read $featlistfn";
|
| 947 |
+
my $nr = 0;
|
| 948 |
+
my @errs = ();
|
| 949 |
+
while (<INI>) {
|
| 950 |
+
$nr++;
|
| 951 |
+
chomp;
|
| 952 |
+
/^(.+) (\S+) (\S+)$/ || die("invalid feature: $_");
|
| 953 |
+
my ($longname, $feature, $value) = ($1,$2,$3);
|
| 954 |
+
next if $value eq "sparse";
|
| 955 |
+
push @errs, "$featlistfn:$nr:Bad initial value of $feature: $value\n"
|
| 956 |
+
if $value !~ /^[+-]?[0-9.e]+$/;
|
| 957 |
+
push @errs, "$featlistfn:$nr:Unknown feature '$feature', please add it to \@ABBR_FULL_MAP\n"
|
| 958 |
+
if !defined $ABBR2FULL{$feature};
|
| 959 |
+
push @names, $feature;
|
| 960 |
+
push @startvalues, $value;
|
| 961 |
+
}
|
| 962 |
+
close INI;
|
| 963 |
+
if (scalar @errs) {
|
| 964 |
+
print STDERR join("", @errs);
|
| 965 |
+
exit 1;
|
| 966 |
+
}
|
| 967 |
+
return {"names"=>\@names, "values"=>\@startvalues};
|
| 968 |
+
}
|
| 969 |
+
|
| 970 |
+
sub get_order_of_scores_from_nbestlist {
|
| 971 |
+
# read the first line and interpret the ||| label: num num num label2: num ||| column in nbestlist
|
| 972 |
+
# return the score labels in order
|
| 973 |
+
my $fname_or_source = shift;
|
| 974 |
+
# print STDERR "Peeking at the beginning of nbestlist to get order of scores: $fname_or_source\n";
|
| 975 |
+
open IN, $fname_or_source or die "Failed to get order of scores from nbestlist '$fname_or_source'";
|
| 976 |
+
my $line = <IN>;
|
| 977 |
+
close IN;
|
| 978 |
+
die "Line empty in nbestlist '$fname_or_source'" if !defined $line;
|
| 979 |
+
my ($sent, $hypo, $scores, $total) = split /\|\|\|/, $line;
|
| 980 |
+
$scores =~ s/^\s*|\s*$//g;
|
| 981 |
+
die "No scores in line: $line" if $scores eq "";
|
| 982 |
+
|
| 983 |
+
my @order = ();
|
| 984 |
+
my $label = undef;
|
| 985 |
+
my $sparse = 0; # we ignore sparse features here
|
| 986 |
+
foreach my $tok (split /\s+/, $scores) {
|
| 987 |
+
if ($tok =~ /.+_.+:/) {
|
| 988 |
+
$sparse = 1;
|
| 989 |
+
} elsif ($tok =~ /^([a-z][0-9a-z]*):/i) {
|
| 990 |
+
$label = $1;
|
| 991 |
+
} elsif ($tok =~ /^-?[-0-9.e]+$/) {
|
| 992 |
+
if (!$sparse) {
|
| 993 |
+
# a score found, remember it
|
| 994 |
+
die "Found a score but no label before it! Bad nbestlist '$fname_or_source'!"
|
| 995 |
+
if !defined $label;
|
| 996 |
+
push @order, $label;
|
| 997 |
+
}
|
| 998 |
+
$sparse = 0;
|
| 999 |
+
} else {
|
| 1000 |
+
die "Not a label, not a score '$tok'. Failed to parse the scores string: '$scores' of nbestlist '$fname_or_source'";
|
| 1001 |
+
}
|
| 1002 |
+
}
|
| 1003 |
+
print STDERR "The decoder returns the scores in this order: @order\n";
|
| 1004 |
+
return @order;
|
| 1005 |
+
}
|
| 1006 |
+
|
| 1007 |
+
|
| 1008 |
+
sub safesystem {
|
| 1009 |
+
print STDERR "Executing: @_\n";
|
| 1010 |
+
system(@_);
|
| 1011 |
+
if ($? == -1) {
|
| 1012 |
+
print STDERR "Failed to execute: @_\n $!\n";
|
| 1013 |
+
exit(1);
|
| 1014 |
+
}
|
| 1015 |
+
elsif ($? & 127) {
|
| 1016 |
+
printf STDERR "Execution of: @_\n died with signal %d, %s coredump\n",
|
| 1017 |
+
($? & 127), ($? & 128) ? 'with' : 'without';
|
| 1018 |
+
exit(1);
|
| 1019 |
+
}
|
| 1020 |
+
else {
|
| 1021 |
+
my $exitcode = $? >> 8;
|
| 1022 |
+
print STDERR "Exit code: $exitcode\n" if $exitcode;
|
| 1023 |
+
return ! $exitcode;
|
| 1024 |
+
}
|
| 1025 |
+
}
|
| 1026 |
+
sub ensure_full_path {
|
| 1027 |
+
my $PATH = shift;
|
| 1028 |
+
$PATH =~ s/\/nfsmnt//;
|
| 1029 |
+
return $PATH if $PATH =~ /^\//;
|
| 1030 |
+
my $dir = `pawd 2>/dev/null`;
|
| 1031 |
+
if(!$dir){$dir = `pwd`;}
|
| 1032 |
+
chomp($dir);
|
| 1033 |
+
$PATH = $dir."/".$PATH;
|
| 1034 |
+
$PATH =~ s/[\r\n]//g;
|
| 1035 |
+
$PATH =~ s/\/\.\//\//g;
|
| 1036 |
+
$PATH =~ s/\/+/\//g;
|
| 1037 |
+
my $sanity = 0;
|
| 1038 |
+
while($PATH =~ /\/\.\.\// && $sanity++<10) {
|
| 1039 |
+
$PATH =~ s/\/+/\//g;
|
| 1040 |
+
$PATH =~ s/\/[^\/]+\/\.\.\//\//g;
|
| 1041 |
+
}
|
| 1042 |
+
$PATH =~ s/\/[^\/]+\/\.\.$//;
|
| 1043 |
+
$PATH =~ s/\/+$//;
|
| 1044 |
+
$PATH =~ s/\/nfsmnt//;
|
| 1045 |
+
return $PATH;
|
| 1046 |
+
}
|
| 1047 |
+
|
| 1048 |
+
sub submit_or_exec {
|
| 1049 |
+
|
| 1050 |
+
my $argvlen = @_;
|
| 1051 |
+
my $cmd = undef;
|
| 1052 |
+
my $stdout = undef;
|
| 1053 |
+
my $stderr = undef;
|
| 1054 |
+
my $jidfile = undef;
|
| 1055 |
+
my $prevjid = undef;
|
| 1056 |
+
|
| 1057 |
+
# if supply 3 arguments, exec without submit
|
| 1058 |
+
# if supply 4 arguments, then submit new job
|
| 1059 |
+
# if supply 5 arguments, wait for the previous job to finish
|
| 1060 |
+
if ($argvlen == 3){
|
| 1061 |
+
($cmd,$stdout,$stderr) = @_;
|
| 1062 |
+
} elsif ($argvlen == 4){
|
| 1063 |
+
($cmd,$stdout,$stderr,$jidfile) = @_;
|
| 1064 |
+
} elsif ($argvlen == 5){
|
| 1065 |
+
($cmd,$stdout,$stderr,$jidfile,$prevjid) = @_;
|
| 1066 |
+
}
|
| 1067 |
+
|
| 1068 |
+
print STDERR "exec: $cmd\n";
|
| 1069 |
+
if (defined $___JOBS && $___JOBS > 0 && $argvlen==5) {
|
| 1070 |
+
safesystem("$qsubwrapper $pass_old_sge -command='$cmd' -queue-parameters=\"$queue_flags\" -stdout=$stdout -stderr=$stderr -jidfile=$jidfile -prevjid=$prevjid" )
|
| 1071 |
+
or die "ERROR: Failed to submit '$cmd' (via $qsubwrapper)";
|
| 1072 |
+
}
|
| 1073 |
+
elsif (defined $___JOBS && $___JOBS > 0 && $argvlen==4) {
|
| 1074 |
+
safesystem("$qsubwrapper $pass_old_sge -command='$cmd' -queue-parameters=\"$queue_flags\" -stdout=$stdout -stderr=$stderr -jidfile=$jidfile" )
|
| 1075 |
+
or die "ERROR: Failed to submit '$cmd' (via $qsubwrapper)";
|
| 1076 |
+
} else {
|
| 1077 |
+
safesystem("$cmd > $stdout 2> $stderr") or die "ERROR: Failed to run '$cmd'.";
|
| 1078 |
+
}
|
| 1079 |
+
}
|
| 1080 |
+
|
| 1081 |
+
sub exit_submit {
|
| 1082 |
+
|
| 1083 |
+
my $argvlen = @_;
|
| 1084 |
+
my $cmd = undef;
|
| 1085 |
+
my $stdout = undef;
|
| 1086 |
+
my $stderr = undef;
|
| 1087 |
+
my $jidfile = undef;
|
| 1088 |
+
my $pidfile = undef;
|
| 1089 |
+
my $prevjid = undef;
|
| 1090 |
+
my $prevjidarraysize = 0;
|
| 1091 |
+
my @prevjidarray = ();
|
| 1092 |
+
my $pid = undef;
|
| 1093 |
+
my $qsubcmd="";
|
| 1094 |
+
my $hj="";
|
| 1095 |
+
|
| 1096 |
+
# if supply 4 arguments, then submit new job
|
| 1097 |
+
# if supply 5 arguments, wait for the previous job to finish
|
| 1098 |
+
if ($argvlen == 2) {
|
| 1099 |
+
($stdout,$stderr) = @_;
|
| 1100 |
+
} elsif ($argvlen == 4){
|
| 1101 |
+
($stdout,$stderr,$jidfile,$pidfile) = @_;
|
| 1102 |
+
} elsif ($argvlen == 5){
|
| 1103 |
+
($stdout,$stderr,$jidfile,$pidfile,$prevjid) = @_;
|
| 1104 |
+
}
|
| 1105 |
+
|
| 1106 |
+
# parse prevjid ########################
|
| 1107 |
+
$prevjid =~ s/^\s+|\s+$//g;
|
| 1108 |
+
@prevjidarray = split(/\s+/,$prevjid);
|
| 1109 |
+
$prevjidarraysize = scalar(@prevjidarray);
|
| 1110 |
+
########################################
|
| 1111 |
+
|
| 1112 |
+
|
| 1113 |
+
# print STDERR "exec: $stdout\n";
|
| 1114 |
+
|
| 1115 |
+
# read pid from file, and draft exit script ##################
|
| 1116 |
+
chomp ($pid=`tail -n 1 $pidfile`);
|
| 1117 |
+
open (OUT, ">exitjob$pid.sh");
|
| 1118 |
+
|
| 1119 |
+
my $scriptheader="\#\!/bin/bash\n\#\$ -S /bin/sh\n# Both lines are needed to invoke base\n#the above line is ignored by qsub, unless parameter \"-b yes\" is set!\n\n";
|
| 1120 |
+
$scriptheader .="uname -a\n\n";
|
| 1121 |
+
$scriptheader .="cd $___WORKING_DIR\n\n";
|
| 1122 |
+
|
| 1123 |
+
print OUT $scriptheader;
|
| 1124 |
+
|
| 1125 |
+
print OUT "if $qsubwrapper_exit -submithost=$submithost -stdout=$stdout -stderr=$stderr -jidfile=$jidfile -pidfile=$pidfile > exitjob$pid.out 2> exitjob$pid.err ; then
|
| 1126 |
+
echo 'succeeded'
|
| 1127 |
+
else
|
| 1128 |
+
echo failed with exit status \$\?
|
| 1129 |
+
die=1
|
| 1130 |
+
fi
|
| 1131 |
+
";
|
| 1132 |
+
print OUT "\n\n";
|
| 1133 |
+
|
| 1134 |
+
close (OUT);
|
| 1135 |
+
# setting permissions of the script
|
| 1136 |
+
chmod(oct(755),"exitjob$pid.sh");
|
| 1137 |
+
##############################################################
|
| 1138 |
+
|
| 1139 |
+
|
| 1140 |
+
if (defined $___JOBS && $___JOBS > 0 && $argvlen==5) {
|
| 1141 |
+
if (defined $prevjid && $prevjid!=-1 && $prevjidarraysize == 1){
|
| 1142 |
+
$hj = "-hold_jid $prevjid";
|
| 1143 |
+
} elsif (defined $prevjid && $prevjidarraysize > 1){
|
| 1144 |
+
$hj = "-hold_jid " . join(" -hold_jid ", @prevjidarray);
|
| 1145 |
+
}
|
| 1146 |
+
$qsubcmd="qsub $queue_flags -V $hj exitjob$pid.sh > exitjob$pid.log 2>&1";
|
| 1147 |
+
safesystem($qsubcmd) or die "ERROR: Failed to exit-submit $pid (via $qsubwrapper_exit)";
|
| 1148 |
+
} elsif (defined $___JOBS && $___JOBS > 0 && $argvlen==4) {
|
| 1149 |
+
$qsubcmd="qsub $queue_flags -V exitjob$pid.sh > exitjob$pid.log 2>&1";
|
| 1150 |
+
safesystem($qsubcmd) or die "ERROR: Failed to exit-submit $pid (via $qsubwrapper_exit)";
|
| 1151 |
+
} else {
|
| 1152 |
+
safesystem("rm $stdout") or die "ERROR: Failed to remove '$stdout'.";
|
| 1153 |
+
safesystem("rm $stderr") or die "ERROR: Failed to remove '$stderr'.";
|
| 1154 |
+
}
|
| 1155 |
+
}
|
| 1156 |
+
|
| 1157 |
+
|
| 1158 |
+
|
| 1159 |
+
|
| 1160 |
+
|
| 1161 |
+
|
| 1162 |
+
|
| 1163 |
+
sub create_extractor_script()
|
| 1164 |
+
{
|
| 1165 |
+
my ($cmd, $outdir) = @_;
|
| 1166 |
+
my $script_path = File::Spec->catfile($outdir, "extractor.sh");
|
| 1167 |
+
|
| 1168 |
+
open my $out, '>', $script_path
|
| 1169 |
+
or die "Couldn't open $script_path for writing: $!\n";
|
| 1170 |
+
print $out "#!/bin/bash\n";
|
| 1171 |
+
print $out "cd $outdir\n";
|
| 1172 |
+
print $out "$cmd\n";
|
| 1173 |
+
close($out);
|
| 1174 |
+
|
| 1175 |
+
`chmod +x $script_path`;
|
| 1176 |
+
|
| 1177 |
+
return $script_path;
|
| 1178 |
+
}
|
| 1179 |
+
|
| 1180 |
+
|
| 1181 |
+
sub create_config {
|
| 1182 |
+
my $infn = shift; # source config
|
| 1183 |
+
my $outfn = shift; # where to save the config
|
| 1184 |
+
my $featlist = shift; # the lambdas we should write
|
| 1185 |
+
my $iteration = shift; # just for verbosity
|
| 1186 |
+
my $bleu_achieved = shift; # just for verbosity
|
| 1187 |
+
my $sparse_weights_file = shift; # only defined when optimizing sparse features
|
| 1188 |
+
|
| 1189 |
+
my %P; # the hash of all parameters we wish to override
|
| 1190 |
+
|
| 1191 |
+
# first convert the command line parameters to the hash
|
| 1192 |
+
{ # ensure local scope of vars
|
| 1193 |
+
my $parameter=undef;
|
| 1194 |
+
print "Parsing --decoder-flags: |$___DECODER_FLAGS|\n";
|
| 1195 |
+
$___DECODER_FLAGS =~ s/^\s*|\s*$//;
|
| 1196 |
+
$___DECODER_FLAGS =~ s/\s+/ /;
|
| 1197 |
+
foreach (split(/ /,$___DECODER_FLAGS)) {
|
| 1198 |
+
if (/^\-([^\d].*)$/) {
|
| 1199 |
+
$parameter = $1;
|
| 1200 |
+
$parameter = $ABBR2FULL{$parameter} if defined($ABBR2FULL{$parameter});
|
| 1201 |
+
}
|
| 1202 |
+
else {
|
| 1203 |
+
die "Found value with no -paramname before it: $_"
|
| 1204 |
+
if !defined $parameter;
|
| 1205 |
+
push @{$P{$parameter}},$_;
|
| 1206 |
+
}
|
| 1207 |
+
}
|
| 1208 |
+
}
|
| 1209 |
+
|
| 1210 |
+
# First delete all weights params from the input, we're overwriting them.
|
| 1211 |
+
# Delete both short and long-named version.
|
| 1212 |
+
for(my $i=0; $i<scalar(@{$featlist->{"names"}}); $i++) {
|
| 1213 |
+
my $name = $featlist->{"names"}->[$i];
|
| 1214 |
+
delete($P{$name});
|
| 1215 |
+
delete($P{$ABBR2FULL{$name}});
|
| 1216 |
+
}
|
| 1217 |
+
|
| 1218 |
+
# Convert weights to elements in P
|
| 1219 |
+
for(my $i=0; $i<scalar(@{$featlist->{"names"}}); $i++) {
|
| 1220 |
+
my $name = $featlist->{"names"}->[$i];
|
| 1221 |
+
my $val = $featlist->{"values"}->[$i];
|
| 1222 |
+
$name = defined $ABBR2FULL{$name} ? $ABBR2FULL{$name} : $name;
|
| 1223 |
+
# ensure long name
|
| 1224 |
+
push @{$P{$name}}, $val;
|
| 1225 |
+
}
|
| 1226 |
+
|
| 1227 |
+
if (defined($sparse_weights_file)) {
|
| 1228 |
+
push @{$P{"weights-file"}}, $___WORKING_DIR."/".$sparse_weights_file;
|
| 1229 |
+
}
|
| 1230 |
+
|
| 1231 |
+
# create new moses.ini decoder config file by cloning and overriding the original one
|
| 1232 |
+
open(INI,$infn) or die "Can't read $infn";
|
| 1233 |
+
delete($P{"config"}); # never output
|
| 1234 |
+
print "Saving new config to: $outfn\n";
|
| 1235 |
+
open(OUT,"> $outfn") or die "Can't write $outfn";
|
| 1236 |
+
print OUT "# MERT optimized configuration\n";
|
| 1237 |
+
print OUT "# decoder $___DECODER\n";
|
| 1238 |
+
print OUT "# BLEU $bleu_achieved on dev $___DEV_F\n";
|
| 1239 |
+
print OUT "# We were before running iteration $iteration\n";
|
| 1240 |
+
print OUT "# finished ".`date`;
|
| 1241 |
+
my $line = <INI>;
|
| 1242 |
+
while(1) {
|
| 1243 |
+
last unless $line;
|
| 1244 |
+
|
| 1245 |
+
# skip until hit [parameter]
|
| 1246 |
+
if ($line !~ /^\[(.+)\]\s*$/) {
|
| 1247 |
+
$line = <INI>;
|
| 1248 |
+
print OUT $line if $line =~ /^\#/ || $line =~ /^\s+$/;
|
| 1249 |
+
next;
|
| 1250 |
+
}
|
| 1251 |
+
|
| 1252 |
+
# parameter name
|
| 1253 |
+
my $parameter = $1;
|
| 1254 |
+
$parameter = $ABBR2FULL{$parameter} if defined($ABBR2FULL{$parameter});
|
| 1255 |
+
print OUT "[$parameter]\n";
|
| 1256 |
+
|
| 1257 |
+
# change parameter, if new values
|
| 1258 |
+
if (defined($P{$parameter})) {
|
| 1259 |
+
# write new values
|
| 1260 |
+
foreach (@{$P{$parameter}}) {
|
| 1261 |
+
print OUT $_."\n";
|
| 1262 |
+
}
|
| 1263 |
+
delete($P{$parameter});
|
| 1264 |
+
# skip until new parameter, only write comments
|
| 1265 |
+
while($line = <INI>) {
|
| 1266 |
+
print OUT $line if $line =~ /^\#/ || $line =~ /^\s+$/;
|
| 1267 |
+
last if $line =~ /^\[/;
|
| 1268 |
+
last unless $line;
|
| 1269 |
+
}
|
| 1270 |
+
next;
|
| 1271 |
+
}
|
| 1272 |
+
# unchanged parameter, write old
|
| 1273 |
+
while($line = <INI>) {
|
| 1274 |
+
last if $line =~ /^\[/;
|
| 1275 |
+
print OUT $line;
|
| 1276 |
+
}
|
| 1277 |
+
}
|
| 1278 |
+
|
| 1279 |
+
# write all additional parameters
|
| 1280 |
+
foreach my $parameter (keys %P) {
|
| 1281 |
+
print OUT "\n[$parameter]\n";
|
| 1282 |
+
foreach (@{$P{$parameter}}) {
|
| 1283 |
+
print OUT $_."\n";
|
| 1284 |
+
}
|
| 1285 |
+
}
|
| 1286 |
+
|
| 1287 |
+
close(INI);
|
| 1288 |
+
close(OUT);
|
| 1289 |
+
print STDERR "Saved: $outfn\n";
|
| 1290 |
+
}
|
| 1291 |
+
|
| 1292 |
+
|
| 1293 |
+
|
| 1294 |
+
|
| 1295 |
+
sub force_exit_submit_thu_host {
|
| 1296 |
+
|
| 1297 |
+
my $argvlen = @_;
|
| 1298 |
+
my $submithost = undef;
|
| 1299 |
+
my $run = -1;
|
| 1300 |
+
my $idx = "";
|
| 1301 |
+
my $batch_and_join = "";
|
| 1302 |
+
my $my_username = undef;
|
| 1303 |
+
my $cmd = undef;
|
| 1304 |
+
my $stdout = undef;
|
| 1305 |
+
my $stderr = undef;
|
| 1306 |
+
my $jidfile = undef;
|
| 1307 |
+
my $pidfile = undef;
|
| 1308 |
+
my $prevjid = undef;
|
| 1309 |
+
my $prevjidarraysize = 0;
|
| 1310 |
+
my @prevjidarray = ();
|
| 1311 |
+
my $pid = undef;
|
| 1312 |
+
my $qsubcmd="";
|
| 1313 |
+
my $hj="";
|
| 1314 |
+
|
| 1315 |
+
# if supply 8 arguments, then submit new job
|
| 1316 |
+
# if supply 9 arguments, wait for the previous job to finish
|
| 1317 |
+
($submithost,$pidfile) = @_;
|
| 1318 |
+
|
| 1319 |
+
#if ($argvlen == 6){
|
| 1320 |
+
# ($submithost,$run,$idx,$batch_and_join,$stdout,$stderr) = @_;
|
| 1321 |
+
#} elsif ($argvlen == 8){
|
| 1322 |
+
# ($submithost,$run,$idx,$batch_and_join,$stdout,$stderr,$jidfile,$pidfile) = @_;
|
| 1323 |
+
#} elsif ($argvlen == 9){
|
| 1324 |
+
# ($submithost,$run,$idx,$batch_and_join,$stdout,$stderr,$jidfile,$pidfile,$prevjid) = @_;
|
| 1325 |
+
#}
|
| 1326 |
+
|
| 1327 |
+
# parse prevjid ########################
|
| 1328 |
+
#$prevjid =~ s/^\s+|\s+$//g;
|
| 1329 |
+
#@prevjidarray = split(/\s+/,$prevjid);
|
| 1330 |
+
$prevjidarraysize = scalar(@prevjidarray);
|
| 1331 |
+
########################################
|
| 1332 |
+
|
| 1333 |
+
# print STDERR "exec: $stdout\n";
|
| 1334 |
+
|
| 1335 |
+
# read pid from file, and draft exit script ##################
|
| 1336 |
+
chomp ($pid=`tail -n 1 $pidfile`);
|
| 1337 |
+
open (OUT, ">forceexitjob$pid.sh");
|
| 1338 |
+
|
| 1339 |
+
my $scriptheader="\#\!/bin/bash\n\#\$ -S /bin/sh\n# Both lines are needed to invoke base\n#the above line is ignored by qsub, unless parameter \"-b yes\" is set!\n\n";
|
| 1340 |
+
$scriptheader .="uname -a\n\n";
|
| 1341 |
+
$scriptheader .="cd $___WORKING_DIR\n\n";
|
| 1342 |
+
|
| 1343 |
+
print OUT $scriptheader;
|
| 1344 |
+
|
| 1345 |
+
print OUT "if $qsubwrapper_exit -submithost=$submithost -force-delete=1 -pidfile=$pidfile > forceexitjob$pid.out 2> forceexitjob$pid.err ; then
|
| 1346 |
+
echo 'succeeded'
|
| 1347 |
+
else
|
| 1348 |
+
echo failed with exit status \$\?
|
| 1349 |
+
die=1
|
| 1350 |
+
fi
|
| 1351 |
+
";
|
| 1352 |
+
print OUT "\n\n";
|
| 1353 |
+
|
| 1354 |
+
close (OUT);
|
| 1355 |
+
# setting permissions of the script
|
| 1356 |
+
chmod(oct(755),"forceexitjob$pid.sh");
|
| 1357 |
+
##############################################################
|
| 1358 |
+
#
|
| 1359 |
+
# log in submit host #########################################
|
| 1360 |
+
# chomp(my $my_username = `whoami`);
|
| 1361 |
+
# my $ssh = Net::OpenSSH::Compat::Perl->new($submithost, debug=>0);
|
| 1362 |
+
|
| 1363 |
+
# $ssh->login("$my_username",`cat /home/$my_username/accpw`);
|
| 1364 |
+
##############################################################
|
| 1365 |
+
|
| 1366 |
+
|
| 1367 |
+
# $qsubcmd="qsub $queue_flags -sync y -o /dev/null -e /dev/null forceexitjob$pid.sh > forceexitjob$pid.log 2>&1";
|
| 1368 |
+
# $ssh->cmd("cd $___WORKING_DIR && $qsubcmd");
|
| 1369 |
+
safesystem("./forceexitjob$pid.sh");
|
| 1370 |
+
|
| 1371 |
+
print STDERR "Executing $qsubcmd in $___WORKING_DIR\n";
|
| 1372 |
+
|
| 1373 |
+
}
|
| 1374 |
+
|
| 1375 |
+
|
| 1376 |
+
|
| 1377 |
+
|
mosesdecoder/contrib/mert-sge-nosync/training/sge-nosync/run-decoder-sge-nosync.pl
ADDED
|
@@ -0,0 +1,271 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
#!/usr/bin/perl -w
|
| 2 |
+
|
| 3 |
+
# $Id$
|
| 4 |
+
# after filter-mode-given-input.pl, process the feature list
|
| 5 |
+
|
| 6 |
+
# original code by Philipp Koehn
|
| 7 |
+
# changes by Ondrej Bojar
|
| 8 |
+
# adapted for hierarchical models by Phil Williams
|
| 9 |
+
|
| 10 |
+
use strict;
|
| 11 |
+
|
| 12 |
+
use FindBin qw($Bin);
|
| 13 |
+
use Getopt::Long;
|
| 14 |
+
|
| 15 |
+
|
| 16 |
+
|
| 17 |
+
my $SCRIPTS_ROOTDIR;
|
| 18 |
+
if (defined($ENV{"SCRIPTS_ROOTDIR"})) {
|
| 19 |
+
$SCRIPTS_ROOTDIR = $ENV{"SCRIPTS_ROOTDIR"};
|
| 20 |
+
} else {
|
| 21 |
+
$SCRIPTS_ROOTDIR = $Bin;
|
| 22 |
+
if ($SCRIPTS_ROOTDIR eq '') {
|
| 23 |
+
$SCRIPTS_ROOTDIR = dirname(__FILE__);
|
| 24 |
+
}
|
| 25 |
+
$SCRIPTS_ROOTDIR =~ s/\/training$//;
|
| 26 |
+
$ENV{"SCRIPTS_ROOTDIR"} = $SCRIPTS_ROOTDIR;
|
| 27 |
+
}
|
| 28 |
+
|
| 29 |
+
|
| 30 |
+
##!# # moses.ini file uses FULL names for lambdas, while this training script
|
| 31 |
+
##!# # internally (and on the command line) uses ABBR names.
|
| 32 |
+
##!# my @ABBR_FULL_MAP = qw(d=weight-d lm=weight-l tm=weight-t w=weight-w
|
| 33 |
+
##!# g=weight-generation lex=weight-lex I=weight-i);
|
| 34 |
+
##!# my %ABBR2FULL = map {split/=/,$_,2} @ABBR_FULL_MAP;
|
| 35 |
+
##!# my %FULL2ABBR = map {my ($a, $b) = split/=/,$_,2; ($b, $a);} @ABBR_FULL_MAP;
|
| 36 |
+
|
| 37 |
+
|
| 38 |
+
my $verbose = 0;
|
| 39 |
+
my $usage = 0; # request for --help
|
| 40 |
+
|
| 41 |
+
|
| 42 |
+
|
| 43 |
+
|
| 44 |
+
##!# # consider phrases in input up to $MAX_LENGTH
|
| 45 |
+
##!# # in other words, all phrase-tables will be truncated at least to 10 words per
|
| 46 |
+
##!# # phrase.
|
| 47 |
+
##!# my $MAX_LENGTH = 10;
|
| 48 |
+
|
| 49 |
+
# utilities
|
| 50 |
+
##!# my $ZCAT = "gzip -cd";
|
| 51 |
+
|
| 52 |
+
# get optional parameters
|
| 53 |
+
##!# my $opt_hierarchical = 0;
|
| 54 |
+
##!# my $binarizer = undef;
|
| 55 |
+
##!# my $opt_min_non_initial_rule_count = undef;
|
| 56 |
+
##!# my $opt_gzip = 1; # gzip output files (so far only phrase-based ttable until someone tests remaining models and formats)
|
| 57 |
+
|
| 58 |
+
my $___RANGES = undef;
|
| 59 |
+
my $___ACTIVATE_FEATURES = undef; # comma-separated (or blank-separated) list of features to work on
|
| 60 |
+
# if undef work on all features
|
| 61 |
+
# (others are fixed to the starting values)
|
| 62 |
+
my $___DECODER_FLAGS = ""; # additional parametrs to pass to the decoder
|
| 63 |
+
|
| 64 |
+
# set 0 if input type is text, set 1 if input type is confusion network
|
| 65 |
+
my $___INPUTTYPE = 0;
|
| 66 |
+
|
| 67 |
+
my $___DECODER = undef; # required, pathname to the decoder executable
|
| 68 |
+
my $___CONFIG = undef; # required, pathname to startup ini file
|
| 69 |
+
|
| 70 |
+
|
| 71 |
+
GetOptions(
|
| 72 |
+
##!# "activate-features=s" => \$___ACTIVATE_FEATURES, #comma-separated (or blank-separated) list of features to work on (others are fixed to the starting values)
|
| 73 |
+
##!# "range=s@" => \$___RANGES,
|
| 74 |
+
##!# "decoder-flags=s" => \$___DECODER_FLAGS,
|
| 75 |
+
##!# "inputtype=i" => \$___INPUTTYPE
|
| 76 |
+
""
|
| 77 |
+
) or exit(1);
|
| 78 |
+
|
| 79 |
+
|
| 80 |
+
|
| 81 |
+
# the ?? required parameters can be supplied on the command line directly
|
| 82 |
+
# or using the --options
|
| 83 |
+
if (scalar @ARGV == 2) {
|
| 84 |
+
# required parameters: options
|
| 85 |
+
$___DECODER = shift;
|
| 86 |
+
$___CONFIG = shift;
|
| 87 |
+
}
|
| 88 |
+
|
| 89 |
+
if ($usage || !defined $___DECODER || !defined $___CONFIG) {
|
| 90 |
+
print STDERR "usage: $0 \$___DECODER \$___CONFIG(decoder.ini)
|
| 91 |
+
Options:
|
| 92 |
+
--activate-features=STRING ... comma-separated list of features to optimize,
|
| 93 |
+
others are fixed to the starting values
|
| 94 |
+
default: optimize all features
|
| 95 |
+
example: tm_0,tm_4,d_0
|
| 96 |
+
--range=tm:0..1,-1..1 ... specify min and max value for some features
|
| 97 |
+
--range can be repeated as needed.
|
| 98 |
+
The order of the various --range specifications
|
| 99 |
+
is important only within a feature name.
|
| 100 |
+
E.g.:
|
| 101 |
+
--range=tm:0..1,-1..1 --range=tm:0..2
|
| 102 |
+
is identical to:
|
| 103 |
+
--range=tm:0..1,-1..1,0..2
|
| 104 |
+
but not to:
|
| 105 |
+
--range=tm:0..2 --range=tm:0..1,-1..1
|
| 106 |
+
--decoder-flags=STRING ... extra parameters for the decoder
|
| 107 |
+
--inputtype=[0|1|2] ... Handle different input types: (0 for text,
|
| 108 |
+
1 for confusion network, 2 for lattices,
|
| 109 |
+
default is 0)
|
| 110 |
+
";
|
| 111 |
+
exit 1;
|
| 112 |
+
}
|
| 113 |
+
|
| 114 |
+
|
| 115 |
+
|
| 116 |
+
|
| 117 |
+
############################################################
|
| 118 |
+
############################################################
|
| 119 |
+
############################################################
|
| 120 |
+
|
| 121 |
+
# main
|
| 122 |
+
|
| 123 |
+
# we run moses to check validity of moses.ini and to obtain all the feature
|
| 124 |
+
# names
|
| 125 |
+
my $featlist = get_featlist_from_moses($___CONFIG);
|
| 126 |
+
$featlist = insert_ranges_to_featlist($featlist, $___RANGES);
|
| 127 |
+
|
| 128 |
+
|
| 129 |
+
# Mark which features are disabled:
|
| 130 |
+
if (defined $___ACTIVATE_FEATURES) {
|
| 131 |
+
my %enabled = map { ($_, 1) } split /[, ]+/, $___ACTIVATE_FEATURES;
|
| 132 |
+
my %cnt;
|
| 133 |
+
for(my $i=0; $i<scalar(@{$featlist->{"names"}}); $i++) {
|
| 134 |
+
my $name = $featlist->{"names"}->[$i];
|
| 135 |
+
$cnt{$name} = 0 if !defined $cnt{$name};
|
| 136 |
+
$featlist->{"enabled"}->[$i] = $enabled{$name."_".$cnt{$name}};
|
| 137 |
+
$cnt{$name}++;
|
| 138 |
+
}
|
| 139 |
+
} else {
|
| 140 |
+
# all enabled
|
| 141 |
+
for(my $i=0; $i<scalar(@{$featlist->{"names"}}); $i++) {
|
| 142 |
+
$featlist->{"enabled"}->[$i] = 1;
|
| 143 |
+
}
|
| 144 |
+
}
|
| 145 |
+
|
| 146 |
+
print STDERR "MERT starting values and ranges for random generation:\n";
|
| 147 |
+
for(my $i=0; $i<scalar(@{$featlist->{"names"}}); $i++) {
|
| 148 |
+
my $name = $featlist->{"names"}->[$i];
|
| 149 |
+
my $val = $featlist->{"values"}->[$i];
|
| 150 |
+
my $min = $featlist->{"mins"}->[$i];
|
| 151 |
+
my $max = $featlist->{"maxs"}->[$i];
|
| 152 |
+
my $enabled = $featlist->{"enabled"}->[$i];
|
| 153 |
+
printf STDERR " %5s = %7.3f", $name, $val;
|
| 154 |
+
if ($enabled) {
|
| 155 |
+
printf STDERR " (%5.2f .. %5.2f)\n", $min, $max;
|
| 156 |
+
} else {
|
| 157 |
+
print STDERR " --- inactive, not optimized ---\n";
|
| 158 |
+
}
|
| 159 |
+
}
|
| 160 |
+
|
| 161 |
+
|
| 162 |
+
|
| 163 |
+
|
| 164 |
+
|
| 165 |
+
sub get_featlist_from_moses {
|
| 166 |
+
# run moses with the given config file and return the list of features and
|
| 167 |
+
# their initial values
|
| 168 |
+
my $configfn = shift;
|
| 169 |
+
my $featlistfn = "./features.list";
|
| 170 |
+
if (-e $featlistfn) {
|
| 171 |
+
print STDERR "Using cached features list: $featlistfn\n";
|
| 172 |
+
} else {
|
| 173 |
+
print STDERR "Asking moses for feature names and values from $___CONFIG\n";
|
| 174 |
+
my $cmd = "$___DECODER $___DECODER_FLAGS -config $configfn -inputtype $___INPUTTYPE -show-weights > $featlistfn";
|
| 175 |
+
print STDERR "$cmd\n"; #DEBUG
|
| 176 |
+
safesystem($cmd) or die "Failed to run moses with the config $configfn";
|
| 177 |
+
}
|
| 178 |
+
|
| 179 |
+
# read feature list
|
| 180 |
+
my @names = ();
|
| 181 |
+
my @startvalues = ();
|
| 182 |
+
open(INI,$featlistfn) or die "Can't read $featlistfn";
|
| 183 |
+
my $nr = 0;
|
| 184 |
+
my @errs = ();
|
| 185 |
+
while (<INI>) {
|
| 186 |
+
$nr++;
|
| 187 |
+
chomp;
|
| 188 |
+
/^(.+) (\S+) (\S+)$/ || die("invalid feature: $_");
|
| 189 |
+
my ($longname, $feature, $value) = ($1,$2,$3);
|
| 190 |
+
next if $value eq "sparse";
|
| 191 |
+
push @errs, "$featlistfn:$nr:Bad initial value of $feature: $value\n"
|
| 192 |
+
if $value !~ /^[+-]?[0-9.e]+$/;
|
| 193 |
+
push @errs, "$featlistfn:$nr:Unknown feature '$feature', please add it to \@ABBR_FULL_MAP\n"
|
| 194 |
+
if !defined $ABBR2FULL{$feature};
|
| 195 |
+
push @names, $feature;
|
| 196 |
+
push @startvalues, $value;
|
| 197 |
+
}
|
| 198 |
+
close INI;
|
| 199 |
+
if (scalar @errs) {
|
| 200 |
+
print STDERR join("", @errs);
|
| 201 |
+
exit 1;
|
| 202 |
+
}
|
| 203 |
+
return {"names"=>\@names, "values"=>\@startvalues};
|
| 204 |
+
}
|
| 205 |
+
|
| 206 |
+
|
| 207 |
+
sub insert_ranges_to_featlist {
|
| 208 |
+
my $featlist = shift;
|
| 209 |
+
my $ranges = shift;
|
| 210 |
+
|
| 211 |
+
$ranges = [] if !defined $ranges;
|
| 212 |
+
|
| 213 |
+
# first collect the ranges from options
|
| 214 |
+
my $niceranges;
|
| 215 |
+
foreach my $range (@$ranges) {
|
| 216 |
+
my $name = undef;
|
| 217 |
+
foreach my $namedpair (split /,/, $range) {
|
| 218 |
+
if ($namedpair =~ /^(.*?):/) {
|
| 219 |
+
$name = $1;
|
| 220 |
+
$namedpair =~ s/^.*?://;
|
| 221 |
+
die "Unrecognized name '$name' in --range=$range"
|
| 222 |
+
if !defined $ABBR2FULL{$name};
|
| 223 |
+
}
|
| 224 |
+
my ($min, $max) = split /\.\./, $namedpair;
|
| 225 |
+
die "Bad min '$min' in --range=$range" if $min !~ /^-?[0-9.]+$/;
|
| 226 |
+
die "Bad max '$max' in --range=$range" if $min !~ /^-?[0-9.]+$/;
|
| 227 |
+
die "No name given in --range=$range" if !defined $name;
|
| 228 |
+
push @{$niceranges->{$name}}, [$min, $max];
|
| 229 |
+
}
|
| 230 |
+
}
|
| 231 |
+
|
| 232 |
+
# now populate featlist
|
| 233 |
+
my $seen = undef;
|
| 234 |
+
for(my $i=0; $i<scalar(@{$featlist->{"names"}}); $i++) {
|
| 235 |
+
my $name = $featlist->{"names"}->[$i];
|
| 236 |
+
$seen->{$name} ++;
|
| 237 |
+
my $min = 0.0;
|
| 238 |
+
my $max = 1.0;
|
| 239 |
+
if (defined $niceranges->{$name}) {
|
| 240 |
+
my $minmax = shift @{$niceranges->{$name}};
|
| 241 |
+
($min, $max) = @$minmax if defined $minmax;
|
| 242 |
+
}
|
| 243 |
+
$featlist->{"mins"}->[$i] = $min;
|
| 244 |
+
$featlist->{"maxs"}->[$i] = $max;
|
| 245 |
+
}
|
| 246 |
+
return $featlist;
|
| 247 |
+
}
|
| 248 |
+
|
| 249 |
+
sub safesystem {
|
| 250 |
+
print STDERR "Executing: @_\n";
|
| 251 |
+
system(@_);
|
| 252 |
+
if ($? == -1) {
|
| 253 |
+
print STDERR "Failed to execute: @_\n $!\n";
|
| 254 |
+
exit(1);
|
| 255 |
+
}
|
| 256 |
+
elsif ($? & 127) {
|
| 257 |
+
printf STDERR "Execution of: @_\n died with signal %d, %s coredump\n",
|
| 258 |
+
($? & 127), ($? & 128) ? 'with' : 'without';
|
| 259 |
+
exit(1);
|
| 260 |
+
}
|
| 261 |
+
else {
|
| 262 |
+
my $exitcode = $? >> 8;
|
| 263 |
+
print STDERR "Exit code: $exitcode\n" if $exitcode;
|
| 264 |
+
return ! $exitcode;
|
| 265 |
+
}
|
| 266 |
+
}
|
| 267 |
+
|
| 268 |
+
|
| 269 |
+
|
| 270 |
+
|
| 271 |
+
|
mosesdecoder/contrib/mert-sge-nosync/training/sge-nosync/zipextract-decoder-result.pl
ADDED
|
@@ -0,0 +1,832 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
#!/usr/bin/perl -w
|
| 2 |
+
# $Id$
|
| 3 |
+
# Usage:
|
| 4 |
+
# mert-moses.pl <foreign> <english> <decoder-executable> <decoder-config>
|
| 5 |
+
# For other options see below or run 'mert-moses.pl --help'
|
| 6 |
+
|
| 7 |
+
# Notes:
|
| 8 |
+
# <foreign> and <english> should be raw text files, one sentence per line
|
| 9 |
+
# <english> can be a prefix, in which case the files are <english>0, <english>1, etc. are used
|
| 10 |
+
|
| 11 |
+
# Excerpts from revision history
|
| 12 |
+
|
| 13 |
+
# Sept 2011 multi-threaded mert (Barry Haddow)
|
| 14 |
+
# 3 Aug 2011 Added random directions, historic best, pairwise ranked (PK)
|
| 15 |
+
# Jul 2011 simplifications (Ondrej Bojar)
|
| 16 |
+
# -- rely on moses' -show-weights instead of parsing moses.ini
|
| 17 |
+
# ... so moses is also run once *before* mert starts, checking
|
| 18 |
+
# the model to some extent
|
| 19 |
+
# -- got rid of the 'triples' mess;
|
| 20 |
+
# use --range to supply bounds for random starting values:
|
| 21 |
+
# --range tm:-3..3 --range lm:-3..3
|
| 22 |
+
# 5 Aug 2009 Handling with different reference length policies (shortest, average, closest) for BLEU
|
| 23 |
+
# and case-sensistive/insensitive evaluation (Nicola Bertoldi)
|
| 24 |
+
# 5 Jun 2008 Forked previous version to support new mert implementation.
|
| 25 |
+
# 13 Feb 2007 Better handling of default values for lambda, now works with multiple
|
| 26 |
+
# models and lexicalized reordering
|
| 27 |
+
# 11 Oct 2006 Handle different input types through parameter --inputype=[0|1]
|
| 28 |
+
# (0 for text, 1 for confusion network, default is 0) (Nicola Bertoldi)
|
| 29 |
+
# 10 Oct 2006 Allow skip of filtering of phrase tables (--no-filter-phrase-table)
|
| 30 |
+
# useful if binary phrase tables are used (Nicola Bertoldi)
|
| 31 |
+
# 28 Aug 2006 Use either closest or average or shortest (default) reference
|
| 32 |
+
# length as effective reference length
|
| 33 |
+
# Use either normalization or not (default) of texts (Nicola Bertoldi)
|
| 34 |
+
# 31 Jul 2006 move gzip run*.out to avoid failure wit restartings
|
| 35 |
+
# adding default paths
|
| 36 |
+
# 29 Jul 2006 run-filter, score-nbest and mert run on the queue (Nicola; Ondrej had to type it in again)
|
| 37 |
+
# 28 Jul 2006 attempt at foolproof usage, strong checking of input validity, merged the parallel and nonparallel version (Ondrej Bojar)
|
| 38 |
+
# 27 Jul 2006 adding the safesystem() function to handle with process failure
|
| 39 |
+
# 22 Jul 2006 fixed a bug about handling relative path of configuration file (Nicola Bertoldi)
|
| 40 |
+
# 21 Jul 2006 adapted for Moses-in-parallel (Nicola Bertoldi)
|
| 41 |
+
# 18 Jul 2006 adapted for Moses and cleaned up (PK)
|
| 42 |
+
# 21 Jan 2005 unified various versions, thorough cleanup (DWC)
|
| 43 |
+
# now indexing accumulated n-best list solely by feature vectors
|
| 44 |
+
# 14 Dec 2004 reimplemented find_threshold_points in C (NMD)
|
| 45 |
+
# 25 Oct 2004 Use either average or shortest (default) reference
|
| 46 |
+
# length as effective reference length (DWC)
|
| 47 |
+
# 13 Oct 2004 Use alternative decoders (DWC)
|
| 48 |
+
# Original version by Philipp Koehn
|
| 49 |
+
|
| 50 |
+
use strict;
|
| 51 |
+
use FindBin qw($Bin);
|
| 52 |
+
use File::Basename;
|
| 53 |
+
use File::Path;
|
| 54 |
+
use File::Spec;
|
| 55 |
+
use Cwd;
|
| 56 |
+
|
| 57 |
+
my $SCRIPTS_ROOTDIR = $Bin;
|
| 58 |
+
$SCRIPTS_ROOTDIR =~ s/\/training$//;
|
| 59 |
+
$SCRIPTS_ROOTDIR = $ENV{"SCRIPTS_ROOTDIR"} if defined($ENV{"SCRIPTS_ROOTDIR"});
|
| 60 |
+
|
| 61 |
+
## We preserve this bit of comments to keep the traditional weight ranges.
|
| 62 |
+
# "w" => [ [ 0.0, -1.0, 1.0 ] ], # word penalty
|
| 63 |
+
# "d" => [ [ 1.0, 0.0, 2.0 ] ], # lexicalized reordering model
|
| 64 |
+
# "lm" => [ [ 1.0, 0.0, 2.0 ] ], # language model
|
| 65 |
+
# "g" => [ [ 1.0, 0.0, 2.0 ], # generation model
|
| 66 |
+
# [ 1.0, 0.0, 2.0 ] ],
|
| 67 |
+
# "tm" => [ [ 0.3, 0.0, 0.5 ], # translation model
|
| 68 |
+
# [ 0.2, 0.0, 0.5 ],
|
| 69 |
+
# [ 0.3, 0.0, 0.5 ],
|
| 70 |
+
# [ 0.2, 0.0, 0.5 ],
|
| 71 |
+
# [ 0.0,-1.0, 1.0 ] ], # ... last weight is phrase penalty
|
| 72 |
+
# "lex"=> [ [ 0.1, 0.0, 0.2 ] ], # global lexical model
|
| 73 |
+
# "I" => [ [ 0.0,-1.0, 1.0 ] ], # input lattice scores
|
| 74 |
+
|
| 75 |
+
|
| 76 |
+
|
| 77 |
+
# moses.ini file uses FULL names for lambdas, while this training script
|
| 78 |
+
# internally (and on the command line) uses ABBR names.
|
| 79 |
+
my @ABBR_FULL_MAP = qw(d=weight-d lm=weight-l tm=weight-t w=weight-w
|
| 80 |
+
g=weight-generation lex=weight-lex I=weight-i);
|
| 81 |
+
my %ABBR2FULL = map {split/=/,$_,2} @ABBR_FULL_MAP;
|
| 82 |
+
my %FULL2ABBR = map {my ($a, $b) = split/=/,$_,2; ($b, $a);} @ABBR_FULL_MAP;
|
| 83 |
+
|
| 84 |
+
my $minimum_required_change_in_weights = 0.00001;
|
| 85 |
+
# stop if no lambda changes more than this
|
| 86 |
+
|
| 87 |
+
my $verbose = 0;
|
| 88 |
+
my $usage = 0; # request for --help
|
| 89 |
+
|
| 90 |
+
# We assume that if you don't specify working directory,
|
| 91 |
+
# we set the default is set to `pwd`/mert-work
|
| 92 |
+
#@@# my $___WORKING_DIR = File::Spec->catfile(Cwd::getcwd(), "mert-work");
|
| 93 |
+
my $___WORKING_DIR = undef;
|
| 94 |
+
my $___DEV_F = undef; # required, input text to decode
|
| 95 |
+
my $___DEV_E = undef; # required, basename of files with references
|
| 96 |
+
my $___DECODER = undef; # required, pathname to the decoder executable
|
| 97 |
+
my $___CONFIG = undef; # required, pathname to startup ini file
|
| 98 |
+
my $___N_BEST_LIST_SIZE = 100;
|
| 99 |
+
my $___LATTICE_SAMPLES = 0;
|
| 100 |
+
my $submithost = "";
|
| 101 |
+
my $queue_flags = "-hard"; # extra parameters for parallelizer
|
| 102 |
+
# the -l ws0ssmt was relevant only to JHU 2006 workshop
|
| 103 |
+
my $___JOBS = undef; # if parallel, number of jobs to use (undef or 0 -> serial)
|
| 104 |
+
my $___DECODER_FLAGS = ""; # additional parametrs to pass to the decoder
|
| 105 |
+
my $continue = 0; # should we try to continue from the last saved step?
|
| 106 |
+
my $skip_decoder = 0; # and should we skip the first decoder run (assuming we got interrupted during mert)
|
| 107 |
+
my $___FILTER_PHRASE_TABLE = 1; # filter phrase table
|
| 108 |
+
my $___PREDICTABLE_SEEDS = 0;
|
| 109 |
+
my $___START_WITH_HISTORIC_BESTS = 0; # use best settings from all previous iterations as starting points [Foster&Kuhn,2009]
|
| 110 |
+
my $___RANDOM_DIRECTIONS = 0; # search in random directions only
|
| 111 |
+
my $___NUM_RANDOM_DIRECTIONS = 0; # number of random directions, also works with default optimizer [Cer&al.,2008]
|
| 112 |
+
my $___PAIRWISE_RANKED_OPTIMIZER = 0; # use Hopkins&May[2011]
|
| 113 |
+
my $___PRO_STARTING_POINT = 0; # get a starting point from pairwise ranked optimizer
|
| 114 |
+
my $___RANDOM_RESTARTS = 20;
|
| 115 |
+
my $___HISTORIC_INTERPOLATION = 0; # interpolate optimize weights with previous iteration's weights [Hopkins&May,2011,5.4.3]
|
| 116 |
+
my $__THREADS = 0;
|
| 117 |
+
my $run = 0;
|
| 118 |
+
|
| 119 |
+
# Parameter for effective reference length when computing BLEU score
|
| 120 |
+
# Default is to use shortest reference
|
| 121 |
+
# Use "--shortest" to use shortest reference length
|
| 122 |
+
# Use "--average" to use average reference length
|
| 123 |
+
# Use "--closest" to use closest reference length
|
| 124 |
+
# Only one between --shortest, --average and --closest can be set
|
| 125 |
+
# If more than one choice the defualt (--shortest) is used
|
| 126 |
+
my $___SHORTEST = 0;
|
| 127 |
+
my $___AVERAGE = 0;
|
| 128 |
+
my $___CLOSEST = 0;
|
| 129 |
+
|
| 130 |
+
# Use "--nocase" to compute case-insensitive scores
|
| 131 |
+
my $___NOCASE = 0;
|
| 132 |
+
|
| 133 |
+
# Use "--nonorm" to non normalize translation before computing scores
|
| 134 |
+
my $___NONORM = 0;
|
| 135 |
+
|
| 136 |
+
# set 0 if input type is text, set 1 if input type is confusion network
|
| 137 |
+
my $___INPUTTYPE = 0;
|
| 138 |
+
|
| 139 |
+
|
| 140 |
+
my $mertdir = undef; # path to new mert directory
|
| 141 |
+
my $mertargs = undef; # args to pass through to mert & extractor
|
| 142 |
+
my $mertmertargs = undef; # args to pass through to mert only
|
| 143 |
+
my $extractorargs = undef; # args to pass through to extractor only
|
| 144 |
+
my $filtercmd = undef; # path to filter-model-given-input.pl
|
| 145 |
+
my $filterfile = undef;
|
| 146 |
+
my $qsubwrapper = undef;
|
| 147 |
+
my $qsubwrapper_exit = undef;
|
| 148 |
+
my $moses_parallel_cmd = undef;
|
| 149 |
+
my $old_sge = 0; # assume sge<6.0
|
| 150 |
+
my $___CONFIG_ORIG = undef; # pathname to startup ini file before filtering
|
| 151 |
+
my $___ACTIVATE_FEATURES = undef; # comma-separated (or blank-separated) list of features to work on
|
| 152 |
+
# if undef work on all features
|
| 153 |
+
# (others are fixed to the starting values)
|
| 154 |
+
my $___RANGES = undef;
|
| 155 |
+
my $prev_aggregate_nbl_size = -1; # number of previous step to consider when loading data (default =-1)
|
| 156 |
+
# -1 means all previous, i.e. from iteration 1
|
| 157 |
+
# 0 means no previous data, i.e. from actual iteration
|
| 158 |
+
# 1 means 1 previous data , i.e. from the actual iteration and from the previous one
|
| 159 |
+
# and so on
|
| 160 |
+
my $maximum_iterations = 25;
|
| 161 |
+
|
| 162 |
+
#####################
|
| 163 |
+
my $processfeatlistcmd = undef;
|
| 164 |
+
my $processfeatlistargs = undef;
|
| 165 |
+
my $createconfigcmd = undef;
|
| 166 |
+
my $createconfigargs = undef;
|
| 167 |
+
my $decoderargs = undef;
|
| 168 |
+
#####################
|
| 169 |
+
|
| 170 |
+
use Getopt::Long;
|
| 171 |
+
GetOptions(
|
| 172 |
+
"working-dir=s" => \$___WORKING_DIR,
|
| 173 |
+
"input=s" => \$___DEV_F,
|
| 174 |
+
"inputtype=i" => \$___INPUTTYPE,
|
| 175 |
+
"refs=s" => \$___DEV_E,
|
| 176 |
+
"decoder=s" => \$___DECODER,
|
| 177 |
+
"config=s" => \$___CONFIG,
|
| 178 |
+
"nbest=i" => \$___N_BEST_LIST_SIZE,
|
| 179 |
+
"lattice-samples=i" => \$___LATTICE_SAMPLES,
|
| 180 |
+
"submithost=s" => \$submithost,
|
| 181 |
+
"queue-flags=s" => \$queue_flags,
|
| 182 |
+
"jobs=i" => \$___JOBS,
|
| 183 |
+
"decoder-flags=s" => \$___DECODER_FLAGS,
|
| 184 |
+
"continue" => \$continue,
|
| 185 |
+
"skip-decoder" => \$skip_decoder,
|
| 186 |
+
"shortest" => \$___SHORTEST,
|
| 187 |
+
"average" => \$___AVERAGE,
|
| 188 |
+
"closest" => \$___CLOSEST,
|
| 189 |
+
"nocase" => \$___NOCASE,
|
| 190 |
+
"nonorm" => \$___NONORM,
|
| 191 |
+
"help" => \$usage,
|
| 192 |
+
"verbose" => \$verbose,
|
| 193 |
+
"mertdir=s" => \$mertdir,
|
| 194 |
+
"mertargs=s" => \$mertargs,
|
| 195 |
+
"extractorargs=s" => \$extractorargs,
|
| 196 |
+
"mertmertargs=s" => \$mertmertargs,
|
| 197 |
+
"rootdir=s" => \$SCRIPTS_ROOTDIR,
|
| 198 |
+
"filtercmd=s" => \$filtercmd, # allow to override the default location
|
| 199 |
+
"filterfile=s" => \$filterfile, # input to filtering script (useful for lattices/confnets)
|
| 200 |
+
"qsubwrapper=s" => \$qsubwrapper, # allow to override the default location
|
| 201 |
+
"mosesparallelcmd=s" => \$moses_parallel_cmd, # allow to override the default location
|
| 202 |
+
"old-sge" => \$old_sge, #passed to moses-parallel
|
| 203 |
+
"filter-phrase-table!" => \$___FILTER_PHRASE_TABLE, # (dis)allow of phrase tables
|
| 204 |
+
"predictable-seeds" => \$___PREDICTABLE_SEEDS, # make random restarts deterministic
|
| 205 |
+
"historic-bests" => \$___START_WITH_HISTORIC_BESTS, # use best settings from all previous iterations as starting points
|
| 206 |
+
"random-directions" => \$___RANDOM_DIRECTIONS, # search only in random directions
|
| 207 |
+
"run=i" => \$run,
|
| 208 |
+
"number-of-random-directions=i" => \$___NUM_RANDOM_DIRECTIONS, # number of random directions
|
| 209 |
+
"random-restarts=i" => \$___RANDOM_RESTARTS, # number of random restarts
|
| 210 |
+
"activate-features=s" => \$___ACTIVATE_FEATURES, #comma-separated (or blank-separated) list of features to work on (others are fixed to the starting values)
|
| 211 |
+
"range=s@" => \$___RANGES,
|
| 212 |
+
"prev-aggregate-nbestlist=i" => \$prev_aggregate_nbl_size, #number of previous step to consider when loading data (default =-1, i.e. all previous)
|
| 213 |
+
"maximum-iterations=i" => \$maximum_iterations,
|
| 214 |
+
"pairwise-ranked" => \$___PAIRWISE_RANKED_OPTIMIZER,
|
| 215 |
+
"pro-starting-point" => \$___PRO_STARTING_POINT,
|
| 216 |
+
"historic-interpolation=f" => \$___HISTORIC_INTERPOLATION,
|
| 217 |
+
"threads=i" => \$__THREADS
|
| 218 |
+
) or exit(1);
|
| 219 |
+
|
| 220 |
+
# the 4 required parameters can be supplied on the command line directly
|
| 221 |
+
# or using the --options
|
| 222 |
+
if (scalar @ARGV == 2) {
|
| 223 |
+
# required parameters: input_file references_basename decoder_executable
|
| 224 |
+
# $___DEV_F = shift;
|
| 225 |
+
$___DEV_E = shift;
|
| 226 |
+
# $___DECODER = shift;
|
| 227 |
+
$___CONFIG = shift;
|
| 228 |
+
}
|
| 229 |
+
|
| 230 |
+
# if ($usage || !defined $___DEV_F || !defined $___DEV_E || !defined $___DECODER || !defined $___CONFIG) {
|
| 231 |
+
if ($usage || !defined $___CONFIG || !defined $___DEV_E ){
|
| 232 |
+
print STDERR "usage: $0 reference decoder.ini
|
| 233 |
+
Options:
|
| 234 |
+
--working-dir=mert-dir ... where all the files are created
|
| 235 |
+
--nbest=100 ... how big nbestlist to generate
|
| 236 |
+
--lattice-samples ... how many lattice samples (Chatterjee & Cancedda, emnlp 2010)
|
| 237 |
+
--jobs=N ... set this to anything to run moses in parallel
|
| 238 |
+
--mosesparallelcmd=STR ... use a different script instead of moses-parallel
|
| 239 |
+
--queue-flags=STRING ... anything you with to pass to qsub, eg.
|
| 240 |
+
'-l ws06osssmt=true'. The default is: '-hard'
|
| 241 |
+
To reset the parameters, please use
|
| 242 |
+
--queue-flags=' '
|
| 243 |
+
(i.e. a space between the quotes).
|
| 244 |
+
--decoder-flags=STRING ... extra parameters for the decoder
|
| 245 |
+
--continue ... continue from the last successful iteration
|
| 246 |
+
--skip-decoder ... skip the decoder run for the first time,
|
| 247 |
+
assuming that we got interrupted during
|
| 248 |
+
optimization
|
| 249 |
+
--shortest --average --closest
|
| 250 |
+
... Use shortest/average/closest reference length
|
| 251 |
+
as effective reference length (mutually exclusive)
|
| 252 |
+
--nocase ... Do not preserve case information; i.e.
|
| 253 |
+
case-insensitive evaluation (default is false).
|
| 254 |
+
--nonorm ... Do not use text normalization (flag is not active,
|
| 255 |
+
i.e. text is NOT normalized)
|
| 256 |
+
--filtercmd=STRING ... path to filter-model-given-input.pl
|
| 257 |
+
--filterfile=STRING ... path to alternative to input-text for filtering
|
| 258 |
+
model. useful for lattice decoding
|
| 259 |
+
--rootdir=STRING ... where do helpers reside (if not given explicitly)
|
| 260 |
+
--mertdir=STRING ... path to new mert implementation
|
| 261 |
+
--mertargs=STRING ... extra args for both extractor and mert
|
| 262 |
+
--extractorargs=STRING ... extra args for extractor only
|
| 263 |
+
--mertmertargs=STRING ... extra args for mert only
|
| 264 |
+
--scorenbestcmd=STRING ... path to score-nbest.py
|
| 265 |
+
--old-sge ... passed to parallelizers, assume Grid Engine < 6.0
|
| 266 |
+
--inputtype=[0|1|2] ... Handle different input types: (0 for text,
|
| 267 |
+
1 for confusion network, 2 for lattices,
|
| 268 |
+
default is 0)
|
| 269 |
+
--no-filter-phrase-table ... disallow filtering of phrase tables
|
| 270 |
+
(useful if binary phrase tables are available)
|
| 271 |
+
--random-restarts=INT ... number of random restarts (default: 20)
|
| 272 |
+
--predictable-seeds ... provide predictable seeds to mert so that random
|
| 273 |
+
restarts are the same on every run
|
| 274 |
+
--range=tm:0..1,-1..1 ... specify min and max value for some features
|
| 275 |
+
--range can be repeated as needed.
|
| 276 |
+
The order of the various --range specifications
|
| 277 |
+
is important only within a feature name.
|
| 278 |
+
E.g.:
|
| 279 |
+
--range=tm:0..1,-1..1 --range=tm:0..2
|
| 280 |
+
is identical to:
|
| 281 |
+
--range=tm:0..1,-1..1,0..2
|
| 282 |
+
but not to:
|
| 283 |
+
--range=tm:0..2 --range=tm:0..1,-1..1
|
| 284 |
+
--activate-features=STRING ... comma-separated list of features to optimize,
|
| 285 |
+
others are fixed to the starting values
|
| 286 |
+
default: optimize all features
|
| 287 |
+
example: tm_0,tm_4,d_0
|
| 288 |
+
--prev-aggregate-nbestlist=INT ... number of previous step to consider when
|
| 289 |
+
loading data (default = $prev_aggregate_nbl_size)
|
| 290 |
+
-1 means all previous, i.e. from iteration 1
|
| 291 |
+
0 means no previous data, i.e. only the
|
| 292 |
+
current iteration
|
| 293 |
+
N means this and N previous iterations
|
| 294 |
+
|
| 295 |
+
--maximum-iterations=ITERS ... Maximum number of iterations. Default: $maximum_iterations
|
| 296 |
+
--random-directions ... search only in random directions
|
| 297 |
+
--number-of-random-directions=int ... number of random directions
|
| 298 |
+
(also works with regular optimizer, default: 0)
|
| 299 |
+
--pairwise-ranked ... Use PRO for optimisation (Hopkins and May, emnlp 2011)
|
| 300 |
+
--pro-starting-point ... Use PRO to get a starting point for MERT
|
| 301 |
+
--threads=NUMBER ... Use multi-threaded mert (must be compiled in).
|
| 302 |
+
--historic-interpolation ... Interpolate optimized weights with prior iterations' weight
|
| 303 |
+
(parameter sets factor [0;1] given to current weights)
|
| 304 |
+
";
|
| 305 |
+
exit 1;
|
| 306 |
+
}
|
| 307 |
+
|
| 308 |
+
|
| 309 |
+
# Check validity of input parameters and set defaults if needed
|
| 310 |
+
|
| 311 |
+
print STDERR "Using SCRIPTS_ROOTDIR: $SCRIPTS_ROOTDIR\n";
|
| 312 |
+
|
| 313 |
+
# path of script for filtering phrase tables and running the decoder
|
| 314 |
+
$filtercmd="$SCRIPTS_ROOTDIR/training/filter-model-given-input.pl" if !defined $filtercmd;
|
| 315 |
+
|
| 316 |
+
if ( ! -x $filtercmd && ! $___FILTER_PHRASE_TABLE) {
|
| 317 |
+
print STDERR "Filtering command not found: $filtercmd.\n";
|
| 318 |
+
print STDERR "Use --filtercmd=PATH to specify a valid one or --no-filter-phrase-table\n";
|
| 319 |
+
exit 1;
|
| 320 |
+
}
|
| 321 |
+
|
| 322 |
+
# $qsubwrapper="$SCRIPTS_ROOTDIR/generic/qsub-wrapper.pl" if !defined $qsubwrapper;
|
| 323 |
+
$qsubwrapper = "$SCRIPTS_ROOTDIR/generic/qsub-wrapper-sge-nosync.pl" if !defined $qsubwrapper;
|
| 324 |
+
|
| 325 |
+
$qsubwrapper_exit = "$SCRIPTS_ROOTDIR/generic/qsub-wrapper-exit-sge-nosync.pl" if !defined $qsubwrapper_exit;
|
| 326 |
+
|
| 327 |
+
# $moses_parallel_cmd = "$SCRIPTS_ROOTDIR/generic/moses-parallel.pl"
|
| 328 |
+
# if !defined $moses_parallel_cmd;
|
| 329 |
+
$moses_parallel_cmd = "$SCRIPTS_ROOTDIR/generic/moses-parallel-sge-nosync.pl"
|
| 330 |
+
if !defined $moses_parallel_cmd;
|
| 331 |
+
|
| 332 |
+
if (!defined $mertdir) {
|
| 333 |
+
$mertdir = "$SCRIPTS_ROOTDIR/../mert";
|
| 334 |
+
print STDERR "Assuming --mertdir=$mertdir\n";
|
| 335 |
+
}
|
| 336 |
+
|
| 337 |
+
my $mert_extract_cmd = "$mertdir/extractor";
|
| 338 |
+
my $mert_mert_cmd = "$mertdir/mert";
|
| 339 |
+
my $mert_pro_cmd = "$mertdir/pro";
|
| 340 |
+
|
| 341 |
+
die "Not executable: $mert_extract_cmd" if ! -x $mert_extract_cmd;
|
| 342 |
+
die "Not executable: $mert_mert_cmd" if ! -x $mert_mert_cmd;
|
| 343 |
+
die "Not executable: $mert_pro_cmd" if ! -x $mert_pro_cmd;
|
| 344 |
+
|
| 345 |
+
my $pro_optimizer = "$mertdir/megam_i686.opt"; # or set to your installation
|
| 346 |
+
if (($___PAIRWISE_RANKED_OPTIMIZER || $___PRO_STARTING_POINT) && ! -x $pro_optimizer) {
|
| 347 |
+
print "did not find $pro_optimizer, installing it in $mertdir\n";
|
| 348 |
+
`cd $mertdir; wget http://www.cs.utah.edu/~hal/megam/megam_i686.opt.gz;`;
|
| 349 |
+
`gunzip $pro_optimizer.gz`;
|
| 350 |
+
`chmod +x $pro_optimizer`;
|
| 351 |
+
die("ERROR: Installation of megam_i686.opt failed! Install by hand from http://www.cs.utah.edu/~hal/megam/") unless -x $pro_optimizer;
|
| 352 |
+
}
|
| 353 |
+
|
| 354 |
+
$mertargs = "" if !defined $mertargs;
|
| 355 |
+
|
| 356 |
+
my $scconfig = undef;
|
| 357 |
+
if ($mertargs =~ /\-\-scconfig\s+(.+?)(\s|$)/){
|
| 358 |
+
$scconfig=$1;
|
| 359 |
+
$scconfig =~ s/\,/ /g;
|
| 360 |
+
$mertargs =~ s/\-\-scconfig\s+(.+?)(\s|$)//;
|
| 361 |
+
}
|
| 362 |
+
|
| 363 |
+
# handling reference lengh strategy
|
| 364 |
+
if (($___CLOSEST + $___AVERAGE + $___SHORTEST) > 1){
|
| 365 |
+
die "You can specify just ONE reference length strategy (closest or shortest or average) not both\n";
|
| 366 |
+
}
|
| 367 |
+
|
| 368 |
+
if ($___SHORTEST){
|
| 369 |
+
$scconfig .= " reflen:shortest";
|
| 370 |
+
}elsif ($___AVERAGE){
|
| 371 |
+
$scconfig .= " reflen:average";
|
| 372 |
+
}elsif ($___CLOSEST){
|
| 373 |
+
$scconfig .= " reflen:closest";
|
| 374 |
+
}
|
| 375 |
+
|
| 376 |
+
# handling case-insensitive flag
|
| 377 |
+
if ($___NOCASE) {
|
| 378 |
+
$scconfig .= " case:false";
|
| 379 |
+
}else{
|
| 380 |
+
$scconfig .= " case:true";
|
| 381 |
+
}
|
| 382 |
+
$scconfig =~ s/^\s+//;
|
| 383 |
+
$scconfig =~ s/\s+$//;
|
| 384 |
+
$scconfig =~ s/\s+/,/g;
|
| 385 |
+
|
| 386 |
+
$scconfig = "--scconfig $scconfig" if ($scconfig);
|
| 387 |
+
|
| 388 |
+
my $mert_extract_args=$mertargs;
|
| 389 |
+
$mert_extract_args .=" $scconfig";
|
| 390 |
+
$mert_extract_args .=" $extractorargs";
|
| 391 |
+
|
| 392 |
+
$mertmertargs = "" if !defined $mertmertargs;
|
| 393 |
+
|
| 394 |
+
my $mert_mert_args="$mertargs $mertmertargs";
|
| 395 |
+
$mert_mert_args =~ s/\-+(binary|b)\b//;
|
| 396 |
+
$mert_mert_args .=" $scconfig";
|
| 397 |
+
if ($___ACTIVATE_FEATURES){ $mert_mert_args .=" -o \"$___ACTIVATE_FEATURES\""; }
|
| 398 |
+
|
| 399 |
+
my ($just_cmd_filtercmd,$x) = split(/ /,$filtercmd);
|
| 400 |
+
die "Not executable: $just_cmd_filtercmd" if ! -x $just_cmd_filtercmd;
|
| 401 |
+
die "Not executable: $moses_parallel_cmd" if defined $___JOBS && ! -x $moses_parallel_cmd;
|
| 402 |
+
die "Not executable: $qsubwrapper" if defined $___JOBS && ! -x $qsubwrapper;
|
| 403 |
+
#@@# die "Not executable: $___DECODER" if ! -x $___DECODER;
|
| 404 |
+
|
| 405 |
+
#@@# my $input_abs = ensure_full_path($___DEV_F);
|
| 406 |
+
#@@# die "File not found: $___DEV_F (interpreted as $input_abs)."
|
| 407 |
+
#@@# if ! -e $input_abs;
|
| 408 |
+
#@@# $___DEV_F = $input_abs;
|
| 409 |
+
|
| 410 |
+
# Option to pass to qsubwrapper and moses-parallel
|
| 411 |
+
my $pass_old_sge = $old_sge ? "-old-sge" : "";
|
| 412 |
+
|
| 413 |
+
#@@# my $decoder_abs = ensure_full_path($___DECODER);
|
| 414 |
+
#@@# die "File not executable: $___DECODER (interpreted as $decoder_abs)."
|
| 415 |
+
#@@# if ! -x $decoder_abs;
|
| 416 |
+
#@@# $___DECODER = $decoder_abs;
|
| 417 |
+
|
| 418 |
+
my $ref_abs = ensure_full_path($___DEV_E);
|
| 419 |
+
# check if English dev set (reference translations) exist and store a list of all references
|
| 420 |
+
my @references;
|
| 421 |
+
if (-e $ref_abs) {
|
| 422 |
+
push @references, $ref_abs;
|
| 423 |
+
}
|
| 424 |
+
else {
|
| 425 |
+
# if multiple file, get a full list of the files
|
| 426 |
+
my $part = 0;
|
| 427 |
+
if (! -e $ref_abs."0" && -e $ref_abs.".ref0") {
|
| 428 |
+
$ref_abs .= ".ref";
|
| 429 |
+
}
|
| 430 |
+
while (-e $ref_abs.$part) {
|
| 431 |
+
push @references, $ref_abs.$part;
|
| 432 |
+
$part++;
|
| 433 |
+
}
|
| 434 |
+
die("Reference translations not found: $___DEV_E (interpreted as $ref_abs)") unless $part;
|
| 435 |
+
}
|
| 436 |
+
|
| 437 |
+
my $config_abs = ensure_full_path($___CONFIG);
|
| 438 |
+
die "File not found: $___CONFIG (interpreted as $config_abs)."
|
| 439 |
+
if ! -e $config_abs;
|
| 440 |
+
$___CONFIG = $config_abs;
|
| 441 |
+
|
| 442 |
+
# moses should use our config
|
| 443 |
+
if ($___DECODER_FLAGS =~ /(^|\s)-(config|f) /
|
| 444 |
+
|| $___DECODER_FLAGS =~ /(^|\s)-(ttable-file|t) /
|
| 445 |
+
|| $___DECODER_FLAGS =~ /(^|\s)-(distortion-file) /
|
| 446 |
+
|| $___DECODER_FLAGS =~ /(^|\s)-(generation-file) /
|
| 447 |
+
|| $___DECODER_FLAGS =~ /(^|\s)-(lmodel-file) /
|
| 448 |
+
|| $___DECODER_FLAGS =~ /(^|\s)-(global-lexical-file) /
|
| 449 |
+
) {
|
| 450 |
+
die "It is forbidden to supply any of -config, -ttable-file, -distortion-file, -generation-file or -lmodel-file in the --decoder-flags.\nPlease use only the --config option to give the config file that lists all the supplementary files.";
|
| 451 |
+
}
|
| 452 |
+
|
| 453 |
+
# as weights are normalized in the next steps (by cmert)
|
| 454 |
+
# normalize initial LAMBDAs, too
|
| 455 |
+
my $need_to_normalize = 1;
|
| 456 |
+
|
| 457 |
+
#store current directory and create the working directory (if needed)
|
| 458 |
+
my $cwd = `pawd 2>/dev/null`;
|
| 459 |
+
if(!$cwd){$cwd = `pwd`;}
|
| 460 |
+
chomp($cwd);
|
| 461 |
+
|
| 462 |
+
$___WORKING_DIR = $cwd if (!defined $___WORKING_DIR);
|
| 463 |
+
chomp $___WORKING_DIR;
|
| 464 |
+
|
| 465 |
+
print STDERR "working dir is $___WORKING_DIR\n";
|
| 466 |
+
#@@# mkpath($___WORKING_DIR);
|
| 467 |
+
|
| 468 |
+
{
|
| 469 |
+
# open local scope
|
| 470 |
+
|
| 471 |
+
#chdir to the working directory
|
| 472 |
+
chdir($___WORKING_DIR) or die "Can't chdir to $___WORKING_DIR";
|
| 473 |
+
|
| 474 |
+
# fixed file names
|
| 475 |
+
my $mert_outfile = "mert.out";
|
| 476 |
+
my $mert_logfile = "mert.log";
|
| 477 |
+
my $weights_in_file = "init.opt";
|
| 478 |
+
my $weights_out_file = "weights.txt";
|
| 479 |
+
|
| 480 |
+
# set start run
|
| 481 |
+
my $start_run = 1;
|
| 482 |
+
my $bestpoint = undef;
|
| 483 |
+
my $devbleu = undef;
|
| 484 |
+
my $sparse_weights_file = undef;
|
| 485 |
+
my $jobid = -1;
|
| 486 |
+
|
| 487 |
+
my $prev_feature_file = undef;
|
| 488 |
+
my $prev_score_file = undef;
|
| 489 |
+
my $prev_init_file = undef;
|
| 490 |
+
|
| 491 |
+
|
| 492 |
+
#########################
|
| 493 |
+
# set jobid to trace different jobs
|
| 494 |
+
my $prevjid = undef;
|
| 495 |
+
|
| 496 |
+
|
| 497 |
+
|
| 498 |
+
#### my $run=$start_run-1;
|
| 499 |
+
|
| 500 |
+
my $oldallsorted = undef;
|
| 501 |
+
my $allsorted = undef;
|
| 502 |
+
|
| 503 |
+
my $nbest_file=undef;
|
| 504 |
+
my $lsamp_file=undef; #Lattice samples
|
| 505 |
+
my $orig_nbest_file=undef; # replaced if lattice sampling
|
| 506 |
+
my $cmd=undef;
|
| 507 |
+
|
| 508 |
+
|
| 509 |
+
|
| 510 |
+
|
| 511 |
+
|
| 512 |
+
$nbest_file="run$run.best$___N_BEST_LIST_SIZE.out";
|
| 513 |
+
safesystem("gzip -f $nbest_file") or die "Failed to gzip run*out";
|
| 514 |
+
$nbest_file = $nbest_file.".gz";
|
| 515 |
+
|
| 516 |
+
|
| 517 |
+
# extract score statistics and features from the nbest lists
|
| 518 |
+
print STDERR "Scoring the nbestlist.\n";
|
| 519 |
+
|
| 520 |
+
my $base_feature_file = "features.dat";
|
| 521 |
+
my $base_score_file = "scores.dat";
|
| 522 |
+
my $feature_file = "run$run.${base_feature_file}";
|
| 523 |
+
my $score_file = "run$run.${base_score_file}";
|
| 524 |
+
|
| 525 |
+
$cmd = "$mert_extract_cmd $mert_extract_args --scfile $score_file --ffile $feature_file -r ".join(",", @references)." -n $nbest_file";
|
| 526 |
+
$cmd = create_extractor_script($cmd, $___WORKING_DIR);
|
| 527 |
+
|
| 528 |
+
&submit_or_exec($cmd,"extract.out","extract.err","extract.id");
|
| 529 |
+
|
| 530 |
+
|
| 531 |
+
|
| 532 |
+
} # end of local scope
|
| 533 |
+
|
| 534 |
+
sub get_weights_from_mert {
|
| 535 |
+
my ($outfile,$logfile,$weight_count,$sparse_weights) = @_;
|
| 536 |
+
my ($bestpoint,$devbleu);
|
| 537 |
+
if ($___PAIRWISE_RANKED_OPTIMIZER || ($___PRO_STARTING_POINT && $logfile =~ /pro/)) {
|
| 538 |
+
open(IN,$outfile) or die "Can't open $outfile";
|
| 539 |
+
my (@WEIGHT,$sum);
|
| 540 |
+
for(my $i=0;$i<$weight_count;$i++) { push @WEIGHT, 0; }
|
| 541 |
+
while(<IN>) {
|
| 542 |
+
# regular features
|
| 543 |
+
if (/^F(\d+) ([\-\.\de]+)/) {
|
| 544 |
+
$WEIGHT[$1] = $2;
|
| 545 |
+
$sum += abs($2);
|
| 546 |
+
}
|
| 547 |
+
# sparse features
|
| 548 |
+
elsif(/^(.+_.+) ([\-\.\de]+)/) {
|
| 549 |
+
$$sparse_weights{$1} = $2;
|
| 550 |
+
}
|
| 551 |
+
}
|
| 552 |
+
$devbleu = "unknown";
|
| 553 |
+
foreach (@WEIGHT) { $_ /= $sum; }
|
| 554 |
+
foreach (keys %{$sparse_weights}) { $$sparse_weights{$_} /= $sum; }
|
| 555 |
+
$bestpoint = join(" ",@WEIGHT);
|
| 556 |
+
close IN;
|
| 557 |
+
}
|
| 558 |
+
else {
|
| 559 |
+
open(IN,$logfile) or die "Can't open $logfile";
|
| 560 |
+
while (<IN>) {
|
| 561 |
+
if (/Best point:\s*([\s\d\.\-e]+?)\s*=> ([\-\d\.]+)/) {
|
| 562 |
+
$bestpoint = $1;
|
| 563 |
+
$devbleu = $2;
|
| 564 |
+
last;
|
| 565 |
+
}
|
| 566 |
+
}
|
| 567 |
+
close IN;
|
| 568 |
+
}
|
| 569 |
+
return ($bestpoint,$devbleu);
|
| 570 |
+
}
|
| 571 |
+
|
| 572 |
+
|
| 573 |
+
|
| 574 |
+
sub sanity_check_order_of_lambdas {
|
| 575 |
+
my $featlist = shift;
|
| 576 |
+
my $filename_or_stream = shift;
|
| 577 |
+
|
| 578 |
+
my @expected_lambdas = @{$featlist->{"names"}};
|
| 579 |
+
my @got = get_order_of_scores_from_nbestlist($filename_or_stream);
|
| 580 |
+
die "Mismatched lambdas. Decoder returned @got, we expected @expected_lambdas"
|
| 581 |
+
if "@got" ne "@expected_lambdas";
|
| 582 |
+
}
|
| 583 |
+
|
| 584 |
+
sub get_featlist_from_moses {
|
| 585 |
+
# run moses with the given config file and return the list of features and
|
| 586 |
+
# their initial values
|
| 587 |
+
my $configfn = shift;
|
| 588 |
+
my $featlistfn = "./features.list";
|
| 589 |
+
if (-e $featlistfn) {
|
| 590 |
+
print STDERR "Using cached features list: $featlistfn\n";
|
| 591 |
+
} else {
|
| 592 |
+
print STDERR "Asking moses for feature names and values from $___CONFIG\n";
|
| 593 |
+
my $cmd = "$___DECODER $___DECODER_FLAGS -config $configfn -inputtype $___INPUTTYPE -show-weights > $featlistfn";
|
| 594 |
+
safesystem($cmd) or die "Failed to run moses with the config $configfn";
|
| 595 |
+
}
|
| 596 |
+
|
| 597 |
+
# read feature list
|
| 598 |
+
my @names = ();
|
| 599 |
+
my @startvalues = ();
|
| 600 |
+
open(INI,$featlistfn) or die "Can't read $featlistfn";
|
| 601 |
+
my $nr = 0;
|
| 602 |
+
my @errs = ();
|
| 603 |
+
while (<INI>) {
|
| 604 |
+
$nr++;
|
| 605 |
+
chomp;
|
| 606 |
+
/^(.+) (\S+) (\S+)$/ || die("invalid feature: $_");
|
| 607 |
+
my ($longname, $feature, $value) = ($1,$2,$3);
|
| 608 |
+
next if $value eq "sparse";
|
| 609 |
+
push @errs, "$featlistfn:$nr:Bad initial value of $feature: $value\n"
|
| 610 |
+
if $value !~ /^[+-]?[0-9.e]+$/;
|
| 611 |
+
push @errs, "$featlistfn:$nr:Unknown feature '$feature', please add it to \@ABBR_FULL_MAP\n"
|
| 612 |
+
if !defined $ABBR2FULL{$feature};
|
| 613 |
+
push @names, $feature;
|
| 614 |
+
push @startvalues, $value;
|
| 615 |
+
}
|
| 616 |
+
close INI;
|
| 617 |
+
if (scalar @errs) {
|
| 618 |
+
print STDERR join("", @errs);
|
| 619 |
+
exit 1;
|
| 620 |
+
}
|
| 621 |
+
return {"names"=>\@names, "values"=>\@startvalues};
|
| 622 |
+
}
|
| 623 |
+
|
| 624 |
+
sub get_order_of_scores_from_nbestlist {
|
| 625 |
+
# read the first line and interpret the ||| label: num num num label2: num ||| column in nbestlist
|
| 626 |
+
# return the score labels in order
|
| 627 |
+
my $fname_or_source = shift;
|
| 628 |
+
# print STDERR "Peeking at the beginning of nbestlist to get order of scores: $fname_or_source\n";
|
| 629 |
+
open IN, $fname_or_source or die "Failed to get order of scores from nbestlist '$fname_or_source'";
|
| 630 |
+
my $line = <IN>;
|
| 631 |
+
close IN;
|
| 632 |
+
die "Line empty in nbestlist '$fname_or_source'" if !defined $line;
|
| 633 |
+
my ($sent, $hypo, $scores, $total) = split /\|\|\|/, $line;
|
| 634 |
+
$scores =~ s/^\s*|\s*$//g;
|
| 635 |
+
die "No scores in line: $line" if $scores eq "";
|
| 636 |
+
|
| 637 |
+
my @order = ();
|
| 638 |
+
my $label = undef;
|
| 639 |
+
my $sparse = 0; # we ignore sparse features here
|
| 640 |
+
foreach my $tok (split /\s+/, $scores) {
|
| 641 |
+
if ($tok =~ /.+_.+:/) {
|
| 642 |
+
$sparse = 1;
|
| 643 |
+
} elsif ($tok =~ /^([a-z][0-9a-z]*):/i) {
|
| 644 |
+
$label = $1;
|
| 645 |
+
} elsif ($tok =~ /^-?[-0-9.e]+$/) {
|
| 646 |
+
if (!$sparse) {
|
| 647 |
+
# a score found, remember it
|
| 648 |
+
die "Found a score but no label before it! Bad nbestlist '$fname_or_source'!"
|
| 649 |
+
if !defined $label;
|
| 650 |
+
push @order, $label;
|
| 651 |
+
}
|
| 652 |
+
$sparse = 0;
|
| 653 |
+
} else {
|
| 654 |
+
die "Not a label, not a score '$tok'. Failed to parse the scores string: '$scores' of nbestlist '$fname_or_source'";
|
| 655 |
+
}
|
| 656 |
+
}
|
| 657 |
+
print STDERR "The decoder returns the scores in this order: @order\n";
|
| 658 |
+
return @order;
|
| 659 |
+
}
|
| 660 |
+
|
| 661 |
+
|
| 662 |
+
sub safesystem {
|
| 663 |
+
print STDERR "Executing: @_\n";
|
| 664 |
+
system(@_);
|
| 665 |
+
if ($? == -1) {
|
| 666 |
+
print STDERR "Failed to execute: @_\n $!\n";
|
| 667 |
+
exit(1);
|
| 668 |
+
}
|
| 669 |
+
elsif ($? & 127) {
|
| 670 |
+
printf STDERR "Execution of: @_\n died with signal %d, %s coredump\n",
|
| 671 |
+
($? & 127), ($? & 128) ? 'with' : 'without';
|
| 672 |
+
exit(1);
|
| 673 |
+
}
|
| 674 |
+
else {
|
| 675 |
+
my $exitcode = $? >> 8;
|
| 676 |
+
print STDERR "Exit code: $exitcode\n" if $exitcode;
|
| 677 |
+
return ! $exitcode;
|
| 678 |
+
}
|
| 679 |
+
}
|
| 680 |
+
sub ensure_full_path {
|
| 681 |
+
my $PATH = shift;
|
| 682 |
+
$PATH =~ s/\/nfsmnt//;
|
| 683 |
+
return $PATH if $PATH =~ /^\//;
|
| 684 |
+
my $dir = `pawd 2>/dev/null`;
|
| 685 |
+
if(!$dir){$dir = `pwd`;}
|
| 686 |
+
chomp($dir);
|
| 687 |
+
$PATH = $dir."/".$PATH;
|
| 688 |
+
$PATH =~ s/[\r\n]//g;
|
| 689 |
+
$PATH =~ s/\/\.\//\//g;
|
| 690 |
+
$PATH =~ s/\/+/\//g;
|
| 691 |
+
my $sanity = 0;
|
| 692 |
+
while($PATH =~ /\/\.\.\// && $sanity++<10) {
|
| 693 |
+
$PATH =~ s/\/+/\//g;
|
| 694 |
+
$PATH =~ s/\/[^\/]+\/\.\.\//\//g;
|
| 695 |
+
}
|
| 696 |
+
$PATH =~ s/\/[^\/]+\/\.\.$//;
|
| 697 |
+
$PATH =~ s/\/+$//;
|
| 698 |
+
$PATH =~ s/\/nfsmnt//;
|
| 699 |
+
return $PATH;
|
| 700 |
+
}
|
| 701 |
+
|
| 702 |
+
sub submit_or_exec {
|
| 703 |
+
|
| 704 |
+
my $argvlen = @_;
|
| 705 |
+
my $cmd = undef;
|
| 706 |
+
my $stdout = undef;
|
| 707 |
+
my $stderr = undef;
|
| 708 |
+
my $jidfile = undef;
|
| 709 |
+
my $prevjid = undef;
|
| 710 |
+
|
| 711 |
+
# if supply 3 arguments, exec without submit
|
| 712 |
+
# if supply 4 arguments, then submit new job
|
| 713 |
+
# if supply 5 arguments, wait for the previous job to finish
|
| 714 |
+
if ($argvlen == 3){
|
| 715 |
+
($cmd,$stdout,$stderr) = @_;
|
| 716 |
+
} elsif ($argvlen == 4){
|
| 717 |
+
($cmd,$stdout,$stderr,$jidfile) = @_;
|
| 718 |
+
} elsif ($argvlen == 5){
|
| 719 |
+
($cmd,$stdout,$stderr,$jidfile,$prevjid) = @_;
|
| 720 |
+
}
|
| 721 |
+
|
| 722 |
+
print STDERR "exec: $cmd\n";
|
| 723 |
+
if (defined $___JOBS && $___JOBS > 0 && $argvlen==5) {
|
| 724 |
+
safesystem("$qsubwrapper $pass_old_sge -command='$cmd' -queue-parameters=\"$queue_flags\" -stdout=$stdout -stderr=$stderr -jidfile=$jidfile -prevjid=$prevjid" )
|
| 725 |
+
or die "ERROR: Failed to submit '$cmd' (via $qsubwrapper)";
|
| 726 |
+
}
|
| 727 |
+
elsif (defined $___JOBS && $___JOBS > 0 && $argvlen==4) {
|
| 728 |
+
safesystem("$qsubwrapper $pass_old_sge -command='$cmd' -queue-parameters=\"$queue_flags\" -stdout=$stdout -stderr=$stderr -jidfile=$jidfile" )
|
| 729 |
+
or die "ERROR: Failed to submit '$cmd' (via $qsubwrapper)";
|
| 730 |
+
} else {
|
| 731 |
+
safesystem("$cmd > $stdout 2> $stderr") or die "ERROR: Failed to run '$cmd'.";
|
| 732 |
+
}
|
| 733 |
+
}
|
| 734 |
+
|
| 735 |
+
sub exit_submit {
|
| 736 |
+
|
| 737 |
+
my $argvlen = @_;
|
| 738 |
+
my $cmd = undef;
|
| 739 |
+
my $stdout = undef;
|
| 740 |
+
my $stderr = undef;
|
| 741 |
+
my $jidfile = undef;
|
| 742 |
+
my $pidfile = undef;
|
| 743 |
+
my $prevjid = undef;
|
| 744 |
+
my $prevjidarraysize = 0;
|
| 745 |
+
my @prevjidarray = ();
|
| 746 |
+
my $pid = undef;
|
| 747 |
+
my $qsubcmd="";
|
| 748 |
+
my $hj="";
|
| 749 |
+
|
| 750 |
+
# if supply 4 arguments, then submit new job
|
| 751 |
+
# if supply 5 arguments, wait for the previous job to finish
|
| 752 |
+
if ($argvlen == 2) {
|
| 753 |
+
($stdout,$stderr) = @_;
|
| 754 |
+
} elsif ($argvlen == 4){
|
| 755 |
+
($stdout,$stderr,$jidfile,$pidfile) = @_;
|
| 756 |
+
} elsif ($argvlen == 5){
|
| 757 |
+
($stdout,$stderr,$jidfile,$pidfile,$prevjid) = @_;
|
| 758 |
+
}
|
| 759 |
+
|
| 760 |
+
# parse prevjid ########################
|
| 761 |
+
$prevjid =~ s/^\s+|\s+$//g;
|
| 762 |
+
@prevjidarray = split(/\s+/,$prevjid);
|
| 763 |
+
$prevjidarraysize = scalar(@prevjidarray);
|
| 764 |
+
########################################
|
| 765 |
+
|
| 766 |
+
|
| 767 |
+
# print STDERR "exec: $stdout\n";
|
| 768 |
+
|
| 769 |
+
# read pid from file, and draft exit script ##################
|
| 770 |
+
chomp ($pid=`tail -n 1 $pidfile`);
|
| 771 |
+
open (OUT, ">exitjob$pid.sh");
|
| 772 |
+
|
| 773 |
+
my $scriptheader="\#\!/bin/bash\n\#\$ -S /bin/sh\n# Both lines are needed to invoke base\n#the above line is ignored by qsub, unless parameter \"-b yes\" is set!\n\n";
|
| 774 |
+
$scriptheader .="uname -a\n\n";
|
| 775 |
+
$scriptheader .="cd $___WORKING_DIR\n\n";
|
| 776 |
+
|
| 777 |
+
print OUT $scriptheader;
|
| 778 |
+
|
| 779 |
+
print OUT "if $qsubwrapper_exit -submithost=$submithost -stdout=$stdout -stderr=$stderr -jidfile=$jidfile -pidfile=$pidfile > exitjob$pid.out 2> exitjob$pid.err ; then
|
| 780 |
+
echo 'succeeded'
|
| 781 |
+
else
|
| 782 |
+
echo failed with exit status \$\?
|
| 783 |
+
die=1
|
| 784 |
+
fi
|
| 785 |
+
";
|
| 786 |
+
print OUT "\n\n";
|
| 787 |
+
|
| 788 |
+
close (OUT);
|
| 789 |
+
# setting permissions of the script
|
| 790 |
+
chmod(oct(755),"exitjob$pid.sh");
|
| 791 |
+
##############################################################
|
| 792 |
+
|
| 793 |
+
|
| 794 |
+
if (defined $___JOBS && $___JOBS > 0 && $argvlen==5) {
|
| 795 |
+
if (defined $prevjid && $prevjid!=-1 && $prevjidarraysize == 1){
|
| 796 |
+
$hj = "-hold_jid $prevjid";
|
| 797 |
+
} elsif (defined $prevjid && $prevjidarraysize > 1){
|
| 798 |
+
$hj = "-hold_jid " . join(" -hold_jid ", @prevjidarray);
|
| 799 |
+
}
|
| 800 |
+
$qsubcmd="qsub $queue_flags -V $hj exitjob$pid.sh > exitjob$pid.log 2>&1";
|
| 801 |
+
safesystem($qsubcmd) or die "ERROR: Failed to exit-submit $pid (via $qsubwrapper_exit)";
|
| 802 |
+
} elsif (defined $___JOBS && $___JOBS > 0 && $argvlen==4) {
|
| 803 |
+
$qsubcmd="qsub $queue_flags -V exitjob$pid.sh > exitjob$pid.log 2>&1";
|
| 804 |
+
safesystem($qsubcmd) or die "ERROR: Failed to exit-submit $pid (via $qsubwrapper_exit)";
|
| 805 |
+
} else {
|
| 806 |
+
safesystem("rm $stdout") or die "ERROR: Failed to remove '$stdout'.";
|
| 807 |
+
safesystem("rm $stderr") or die "ERROR: Failed to remove '$stderr'.";
|
| 808 |
+
}
|
| 809 |
+
}
|
| 810 |
+
|
| 811 |
+
|
| 812 |
+
|
| 813 |
+
|
| 814 |
+
|
| 815 |
+
|
| 816 |
+
|
| 817 |
+
sub create_extractor_script()
|
| 818 |
+
{
|
| 819 |
+
my ($cmd, $outdir) = @_;
|
| 820 |
+
my $script_path = File::Spec->catfile($outdir, "extractor.sh");
|
| 821 |
+
|
| 822 |
+
open my $out, '>', $script_path
|
| 823 |
+
or die "Couldn't open $script_path for writing: $!\n";
|
| 824 |
+
print $out "#!/bin/bash\n";
|
| 825 |
+
print $out "cd $outdir\n";
|
| 826 |
+
print $out "$cmd\n";
|
| 827 |
+
close($out);
|
| 828 |
+
|
| 829 |
+
`chmod +x $script_path`;
|
| 830 |
+
|
| 831 |
+
return $script_path;
|
| 832 |
+
}
|
mosesdecoder/contrib/other-builds/CreateProbingPT/.cproject
ADDED
|
@@ -0,0 +1,150 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
| 2 |
+
<?fileVersion 4.0.0?><cproject storage_type_id="org.eclipse.cdt.core.XmlProjectDescriptionStorage">
|
| 3 |
+
<storageModule moduleId="org.eclipse.cdt.core.settings">
|
| 4 |
+
<cconfiguration id="cdt.managedbuild.config.gnu.cross.exe.debug.1570028742">
|
| 5 |
+
<storageModule buildSystemId="org.eclipse.cdt.managedbuilder.core.configurationDataProvider" id="cdt.managedbuild.config.gnu.cross.exe.debug.1570028742" moduleId="org.eclipse.cdt.core.settings" name="Debug">
|
| 6 |
+
<externalSettings/>
|
| 7 |
+
<extensions>
|
| 8 |
+
<extension id="org.eclipse.cdt.core.GNU_ELF" point="org.eclipse.cdt.core.BinaryParser"/>
|
| 9 |
+
<extension id="org.eclipse.cdt.core.GmakeErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
|
| 10 |
+
<extension id="org.eclipse.cdt.core.CWDLocator" point="org.eclipse.cdt.core.ErrorParser"/>
|
| 11 |
+
<extension id="org.eclipse.cdt.core.GCCErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
|
| 12 |
+
<extension id="org.eclipse.cdt.core.GASErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
|
| 13 |
+
<extension id="org.eclipse.cdt.core.GLDErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
|
| 14 |
+
</extensions>
|
| 15 |
+
</storageModule>
|
| 16 |
+
<storageModule moduleId="cdtBuildSystem" version="4.0.0">
|
| 17 |
+
<configuration artifactName="${ProjName}" buildArtefactType="org.eclipse.cdt.build.core.buildArtefactType.exe" buildProperties="org.eclipse.cdt.build.core.buildArtefactType=org.eclipse.cdt.build.core.buildArtefactType.exe,org.eclipse.cdt.build.core.buildType=org.eclipse.cdt.build.core.buildType.debug" cleanCommand="rm -rf" description="" id="cdt.managedbuild.config.gnu.cross.exe.debug.1570028742" name="Debug" parent="cdt.managedbuild.config.gnu.cross.exe.debug">
|
| 18 |
+
<folderInfo id="cdt.managedbuild.config.gnu.cross.exe.debug.1570028742." name="/" resourcePath="">
|
| 19 |
+
<toolChain id="cdt.managedbuild.toolchain.gnu.base.1361406865" name="Linux GCC" superClass="cdt.managedbuild.toolchain.gnu.base">
|
| 20 |
+
<targetPlatform archList="all" binaryParser="org.eclipse.cdt.core.GNU_ELF" id="cdt.managedbuild.target.gnu.platform.base.2038870322" name="Debug Platform" osList="linux,hpux,aix,qnx" superClass="cdt.managedbuild.target.gnu.platform.base"/>
|
| 21 |
+
<builder buildPath="${workspace_loc:/CreateProbingPT}/Debug" id="cdt.managedbuild.target.gnu.builder.base.1431538614" keepEnvironmentInBuildfile="false" name="Gnu Make Builder" parallelBuildOn="true" parallelizationNumber="optimal" superClass="cdt.managedbuild.target.gnu.builder.base"/>
|
| 22 |
+
<tool id="cdt.managedbuild.tool.gnu.archiver.base.894179" name="GCC Archiver" superClass="cdt.managedbuild.tool.gnu.archiver.base"/>
|
| 23 |
+
<tool id="cdt.managedbuild.tool.gnu.cpp.compiler.base.1704234279" name="GCC C++ Compiler" superClass="cdt.managedbuild.tool.gnu.cpp.compiler.base">
|
| 24 |
+
<option id="gnu.cpp.compiler.option.include.paths.2025368781" name="Include paths (-I)" superClass="gnu.cpp.compiler.option.include.paths" useByScannerDiscovery="false" valueType="includePath">
|
| 25 |
+
<listOptionValue builtIn="false" value=""${workspace_loc}/../..""/>
|
| 26 |
+
<listOptionValue builtIn="false" value=""${workspace_loc}/../../boost/include""/>
|
| 27 |
+
</option>
|
| 28 |
+
<option id="gnu.cpp.compiler.option.optimization.level.61306774" name="Optimization Level" superClass="gnu.cpp.compiler.option.optimization.level" useByScannerDiscovery="false" value="gnu.cpp.compiler.optimization.level.none" valueType="enumerated"/>
|
| 29 |
+
<option id="gnu.cpp.compiler.option.debugging.level.646262070" name="Debug Level" superClass="gnu.cpp.compiler.option.debugging.level" useByScannerDiscovery="false" value="gnu.cpp.compiler.debugging.level.max" valueType="enumerated"/>
|
| 30 |
+
<inputType id="cdt.managedbuild.tool.gnu.cpp.compiler.input.1170646704" superClass="cdt.managedbuild.tool.gnu.cpp.compiler.input"/>
|
| 31 |
+
</tool>
|
| 32 |
+
<tool id="cdt.managedbuild.tool.gnu.c.compiler.base.865259344" name="GCC C Compiler" superClass="cdt.managedbuild.tool.gnu.c.compiler.base">
|
| 33 |
+
<option defaultValue="gnu.c.optimization.level.none" id="gnu.c.compiler.option.optimization.level.514456816" name="Optimization Level" superClass="gnu.c.compiler.option.optimization.level" useByScannerDiscovery="false" valueType="enumerated"/>
|
| 34 |
+
<option id="gnu.c.compiler.option.debugging.level.929105966" name="Debug Level" superClass="gnu.c.compiler.option.debugging.level" useByScannerDiscovery="false" value="gnu.c.debugging.level.max" valueType="enumerated"/>
|
| 35 |
+
<inputType id="cdt.managedbuild.tool.gnu.c.compiler.input.1100342669" superClass="cdt.managedbuild.tool.gnu.c.compiler.input"/>
|
| 36 |
+
</tool>
|
| 37 |
+
<tool id="cdt.managedbuild.tool.gnu.c.linker.base.96768567" name="GCC C Linker" superClass="cdt.managedbuild.tool.gnu.c.linker.base"/>
|
| 38 |
+
<tool id="cdt.managedbuild.tool.gnu.cpp.linker.base.520966414" name="GCC C++ Linker" superClass="cdt.managedbuild.tool.gnu.cpp.linker.base">
|
| 39 |
+
<option id="gnu.cpp.link.option.libs.1747377074" name="Libraries (-l)" superClass="gnu.cpp.link.option.libs" useByScannerDiscovery="false" valueType="libs">
|
| 40 |
+
<listOptionValue builtIn="false" value="moses"/>
|
| 41 |
+
<listOptionValue builtIn="false" value="probingpt"/>
|
| 42 |
+
<listOptionValue builtIn="false" value="util"/>
|
| 43 |
+
<listOptionValue builtIn="false" value="boost_filesystem"/>
|
| 44 |
+
<listOptionValue builtIn="false" value="boost_thread"/>
|
| 45 |
+
<listOptionValue builtIn="false" value="boost_iostreams"/>
|
| 46 |
+
<listOptionValue builtIn="false" value="boost_serialization"/>
|
| 47 |
+
<listOptionValue builtIn="false" value="boost_system"/>
|
| 48 |
+
<listOptionValue builtIn="false" value="boost_program_options"/>
|
| 49 |
+
<listOptionValue builtIn="false" value="z"/>
|
| 50 |
+
<listOptionValue builtIn="false" value="dl"/>
|
| 51 |
+
<listOptionValue builtIn="false" value="pthread"/>
|
| 52 |
+
<listOptionValue builtIn="false" value="rt"/>
|
| 53 |
+
</option>
|
| 54 |
+
<option id="gnu.cpp.link.option.paths.1438154686" name="Library search path (-L)" superClass="gnu.cpp.link.option.paths" valueType="libPaths">
|
| 55 |
+
<listOptionValue builtIn="false" value=""${workspace_loc:}/moses/Debug""/>
|
| 56 |
+
<listOptionValue builtIn="false" value=""${workspace_loc:}/probingpt/Debug""/>
|
| 57 |
+
<listOptionValue builtIn="false" value=""${workspace_loc:}/util/Debug""/>
|
| 58 |
+
<listOptionValue builtIn="false" value=""${workspace_loc:}/../../boost/lib64""/>
|
| 59 |
+
<listOptionValue builtIn="false" value="/opt/local/lib"/>
|
| 60 |
+
</option>
|
| 61 |
+
<inputType id="cdt.managedbuild.tool.gnu.cpp.linker.input.24035860" superClass="cdt.managedbuild.tool.gnu.cpp.linker.input">
|
| 62 |
+
<additionalInput kind="additionalinputdependency" paths="$(USER_OBJS)"/>
|
| 63 |
+
<additionalInput kind="additionalinput" paths="$(LIBS)"/>
|
| 64 |
+
</inputType>
|
| 65 |
+
</tool>
|
| 66 |
+
<tool id="cdt.managedbuild.tool.gnu.assembler.base.1333610404" name="GCC Assembler" superClass="cdt.managedbuild.tool.gnu.assembler.base">
|
| 67 |
+
<inputType id="cdt.managedbuild.tool.gnu.assembler.input.307327924" superClass="cdt.managedbuild.tool.gnu.assembler.input"/>
|
| 68 |
+
</tool>
|
| 69 |
+
</toolChain>
|
| 70 |
+
</folderInfo>
|
| 71 |
+
</configuration>
|
| 72 |
+
</storageModule>
|
| 73 |
+
<storageModule moduleId="org.eclipse.cdt.core.externalSettings"/>
|
| 74 |
+
</cconfiguration>
|
| 75 |
+
<cconfiguration id="cdt.managedbuild.config.gnu.cross.exe.release.1619501710">
|
| 76 |
+
<storageModule buildSystemId="org.eclipse.cdt.managedbuilder.core.configurationDataProvider" id="cdt.managedbuild.config.gnu.cross.exe.release.1619501710" moduleId="org.eclipse.cdt.core.settings" name="Release">
|
| 77 |
+
<externalSettings/>
|
| 78 |
+
<extensions>
|
| 79 |
+
<extension id="org.eclipse.cdt.core.ELF" point="org.eclipse.cdt.core.BinaryParser"/>
|
| 80 |
+
<extension id="org.eclipse.cdt.core.GmakeErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
|
| 81 |
+
<extension id="org.eclipse.cdt.core.CWDLocator" point="org.eclipse.cdt.core.ErrorParser"/>
|
| 82 |
+
<extension id="org.eclipse.cdt.core.GCCErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
|
| 83 |
+
<extension id="org.eclipse.cdt.core.GASErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
|
| 84 |
+
<extension id="org.eclipse.cdt.core.GLDErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
|
| 85 |
+
</extensions>
|
| 86 |
+
</storageModule>
|
| 87 |
+
<storageModule moduleId="cdtBuildSystem" version="4.0.0">
|
| 88 |
+
<configuration artifactName="${ProjName}" buildArtefactType="org.eclipse.cdt.build.core.buildArtefactType.exe" buildProperties="org.eclipse.cdt.build.core.buildArtefactType=org.eclipse.cdt.build.core.buildArtefactType.exe,org.eclipse.cdt.build.core.buildType=org.eclipse.cdt.build.core.buildType.release" cleanCommand="rm -rf" description="" id="cdt.managedbuild.config.gnu.cross.exe.release.1619501710" name="Release" parent="cdt.managedbuild.config.gnu.cross.exe.release">
|
| 89 |
+
<folderInfo id="cdt.managedbuild.config.gnu.cross.exe.release.1619501710." name="/" resourcePath="">
|
| 90 |
+
<toolChain id="cdt.managedbuild.toolchain.gnu.cross.exe.release.1969822952" name="Cross GCC" superClass="cdt.managedbuild.toolchain.gnu.cross.exe.release">
|
| 91 |
+
<targetPlatform archList="all" binaryParser="org.eclipse.cdt.core.ELF" id="cdt.managedbuild.targetPlatform.gnu.cross.1371996557" isAbstract="false" osList="all" superClass="cdt.managedbuild.targetPlatform.gnu.cross"/>
|
| 92 |
+
<builder buildPath="${workspace_loc:/CreateProbingPT}/Release" id="cdt.managedbuild.builder.gnu.cross.1372031461" keepEnvironmentInBuildfile="false" managedBuildOn="true" name="Gnu Make Builder" superClass="cdt.managedbuild.builder.gnu.cross"/>
|
| 93 |
+
<tool id="cdt.managedbuild.tool.gnu.cross.c.compiler.492064703" name="Cross GCC Compiler" superClass="cdt.managedbuild.tool.gnu.cross.c.compiler">
|
| 94 |
+
<option defaultValue="gnu.c.optimization.level.most" id="gnu.c.compiler.option.optimization.level.1156954368" name="Optimization Level" superClass="gnu.c.compiler.option.optimization.level" useByScannerDiscovery="false" valueType="enumerated"/>
|
| 95 |
+
<option id="gnu.c.compiler.option.debugging.level.15136302" name="Debug Level" superClass="gnu.c.compiler.option.debugging.level" useByScannerDiscovery="false" value="gnu.c.debugging.level.none" valueType="enumerated"/>
|
| 96 |
+
<inputType id="cdt.managedbuild.tool.gnu.c.compiler.input.199674880" superClass="cdt.managedbuild.tool.gnu.c.compiler.input"/>
|
| 97 |
+
</tool>
|
| 98 |
+
<tool id="cdt.managedbuild.tool.gnu.cross.cpp.compiler.291504447" name="Cross G++ Compiler" superClass="cdt.managedbuild.tool.gnu.cross.cpp.compiler">
|
| 99 |
+
<option id="gnu.cpp.compiler.option.optimization.level.1996596419" name="Optimization Level" superClass="gnu.cpp.compiler.option.optimization.level" useByScannerDiscovery="false" value="gnu.cpp.compiler.optimization.level.most" valueType="enumerated"/>
|
| 100 |
+
<option id="gnu.cpp.compiler.option.debugging.level.126290725" name="Debug Level" superClass="gnu.cpp.compiler.option.debugging.level" useByScannerDiscovery="false" value="gnu.cpp.compiler.debugging.level.none" valueType="enumerated"/>
|
| 101 |
+
<inputType id="cdt.managedbuild.tool.gnu.cpp.compiler.input.2087951440" superClass="cdt.managedbuild.tool.gnu.cpp.compiler.input"/>
|
| 102 |
+
</tool>
|
| 103 |
+
<tool id="cdt.managedbuild.tool.gnu.cross.c.linker.1394946632" name="Cross GCC Linker" superClass="cdt.managedbuild.tool.gnu.cross.c.linker"/>
|
| 104 |
+
<tool id="cdt.managedbuild.tool.gnu.cross.cpp.linker.253350906" name="Cross G++ Linker" superClass="cdt.managedbuild.tool.gnu.cross.cpp.linker">
|
| 105 |
+
<inputType id="cdt.managedbuild.tool.gnu.cpp.linker.input.720543399" superClass="cdt.managedbuild.tool.gnu.cpp.linker.input">
|
| 106 |
+
<additionalInput kind="additionalinputdependency" paths="$(USER_OBJS)"/>
|
| 107 |
+
<additionalInput kind="additionalinput" paths="$(LIBS)"/>
|
| 108 |
+
</inputType>
|
| 109 |
+
</tool>
|
| 110 |
+
<tool id="cdt.managedbuild.tool.gnu.cross.archiver.1354920365" name="Cross GCC Archiver" superClass="cdt.managedbuild.tool.gnu.cross.archiver"/>
|
| 111 |
+
<tool id="cdt.managedbuild.tool.gnu.cross.assembler.1318834738" name="Cross GCC Assembler" superClass="cdt.managedbuild.tool.gnu.cross.assembler">
|
| 112 |
+
<inputType id="cdt.managedbuild.tool.gnu.assembler.input.725479607" superClass="cdt.managedbuild.tool.gnu.assembler.input"/>
|
| 113 |
+
</tool>
|
| 114 |
+
</toolChain>
|
| 115 |
+
</folderInfo>
|
| 116 |
+
</configuration>
|
| 117 |
+
</storageModule>
|
| 118 |
+
<storageModule moduleId="org.eclipse.cdt.core.externalSettings"/>
|
| 119 |
+
</cconfiguration>
|
| 120 |
+
</storageModule>
|
| 121 |
+
<storageModule moduleId="cdtBuildSystem" version="4.0.0">
|
| 122 |
+
<project id="CreateProbingPT.cdt.managedbuild.target.gnu.cross.exe.1649652220" name="Executable" projectType="cdt.managedbuild.target.gnu.cross.exe"/>
|
| 123 |
+
</storageModule>
|
| 124 |
+
<storageModule moduleId="scannerConfiguration">
|
| 125 |
+
<autodiscovery enabled="true" problemReportingEnabled="true" selectedProfileId=""/>
|
| 126 |
+
<scannerConfigBuildInfo instanceId="cdt.managedbuild.config.gnu.cross.exe.debug.1570028742;cdt.managedbuild.config.gnu.cross.exe.debug.1570028742.;cdt.managedbuild.tool.gnu.cross.cpp.compiler.345399823;cdt.managedbuild.tool.gnu.cpp.compiler.input.1025890847">
|
| 127 |
+
<autodiscovery enabled="true" problemReportingEnabled="true" selectedProfileId=""/>
|
| 128 |
+
</scannerConfigBuildInfo>
|
| 129 |
+
<scannerConfigBuildInfo instanceId="cdt.managedbuild.config.gnu.cross.exe.release.1619501710;cdt.managedbuild.config.gnu.cross.exe.release.1619501710.;cdt.managedbuild.tool.gnu.cross.cpp.compiler.291504447;cdt.managedbuild.tool.gnu.cpp.compiler.input.2087951440">
|
| 130 |
+
<autodiscovery enabled="true" problemReportingEnabled="true" selectedProfileId=""/>
|
| 131 |
+
</scannerConfigBuildInfo>
|
| 132 |
+
<scannerConfigBuildInfo instanceId="cdt.managedbuild.config.gnu.cross.exe.debug.1570028742;cdt.managedbuild.config.gnu.cross.exe.debug.1570028742.;cdt.managedbuild.tool.gnu.cross.c.compiler.1929025978;cdt.managedbuild.tool.gnu.c.compiler.input.1056616988">
|
| 133 |
+
<autodiscovery enabled="true" problemReportingEnabled="true" selectedProfileId=""/>
|
| 134 |
+
</scannerConfigBuildInfo>
|
| 135 |
+
<scannerConfigBuildInfo instanceId="cdt.managedbuild.config.gnu.cross.exe.release.1619501710;cdt.managedbuild.config.gnu.cross.exe.release.1619501710.;cdt.managedbuild.tool.gnu.cross.c.compiler.492064703;cdt.managedbuild.tool.gnu.c.compiler.input.199674880">
|
| 136 |
+
<autodiscovery enabled="true" problemReportingEnabled="true" selectedProfileId=""/>
|
| 137 |
+
</scannerConfigBuildInfo>
|
| 138 |
+
</storageModule>
|
| 139 |
+
<storageModule moduleId="org.eclipse.cdt.core.LanguageSettingsProviders"/>
|
| 140 |
+
<storageModule moduleId="refreshScope" versionNumber="2">
|
| 141 |
+
<configuration configurationName="Debug">
|
| 142 |
+
<resource resourceType="PROJECT" workspacePath="/CreateProbingPT"/>
|
| 143 |
+
</configuration>
|
| 144 |
+
<configuration configurationName="Release">
|
| 145 |
+
<resource resourceType="PROJECT" workspacePath="/CreateProbingPT"/>
|
| 146 |
+
</configuration>
|
| 147 |
+
</storageModule>
|
| 148 |
+
<storageModule moduleId="org.eclipse.cdt.internal.ui.text.commentOwnerProjectMappings"/>
|
| 149 |
+
<storageModule moduleId="org.eclipse.cdt.make.core.buildtargets"/>
|
| 150 |
+
</cproject>
|
mosesdecoder/contrib/other-builds/CreateProbingPT/.project
ADDED
|
@@ -0,0 +1,36 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
<?xml version="1.0" encoding="UTF-8"?>
|
| 2 |
+
<projectDescription>
|
| 3 |
+
<name>CreateProbingPT</name>
|
| 4 |
+
<comment></comment>
|
| 5 |
+
<projects>
|
| 6 |
+
<project>moses</project>
|
| 7 |
+
<project>util</project>
|
| 8 |
+
</projects>
|
| 9 |
+
<buildSpec>
|
| 10 |
+
<buildCommand>
|
| 11 |
+
<name>org.eclipse.cdt.managedbuilder.core.genmakebuilder</name>
|
| 12 |
+
<triggers>clean,full,incremental,</triggers>
|
| 13 |
+
<arguments>
|
| 14 |
+
</arguments>
|
| 15 |
+
</buildCommand>
|
| 16 |
+
<buildCommand>
|
| 17 |
+
<name>org.eclipse.cdt.managedbuilder.core.ScannerConfigBuilder</name>
|
| 18 |
+
<triggers>full,incremental,</triggers>
|
| 19 |
+
<arguments>
|
| 20 |
+
</arguments>
|
| 21 |
+
</buildCommand>
|
| 22 |
+
</buildSpec>
|
| 23 |
+
<natures>
|
| 24 |
+
<nature>org.eclipse.cdt.core.cnature</nature>
|
| 25 |
+
<nature>org.eclipse.cdt.core.ccnature</nature>
|
| 26 |
+
<nature>org.eclipse.cdt.managedbuilder.core.managedBuildNature</nature>
|
| 27 |
+
<nature>org.eclipse.cdt.managedbuilder.core.ScannerConfigNature</nature>
|
| 28 |
+
</natures>
|
| 29 |
+
<linkedResources>
|
| 30 |
+
<link>
|
| 31 |
+
<name>CreateProbingPT.cpp</name>
|
| 32 |
+
<type>1</type>
|
| 33 |
+
<locationURI>PARENT-3-PROJECT_LOC/probingpt/CreateProbingPT.cpp</locationURI>
|
| 34 |
+
</link>
|
| 35 |
+
</linkedResources>
|
| 36 |
+
</projectDescription>
|
mosesdecoder/contrib/other-builds/MosesManagedDLL/ManagedMoses.cpp
ADDED
|
@@ -0,0 +1,28 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
#include <msclr/marshal_cppstd.h>
|
| 2 |
+
#include "Moses2Wrapper.h"
|
| 3 |
+
|
| 4 |
+
using namespace System;
|
| 5 |
+
using namespace msclr::interop;
|
| 6 |
+
|
| 7 |
+
//TODO: include headers as per the build process
|
| 8 |
+
namespace Moses {
|
| 9 |
+
public ref class Moses2Wrapper
|
| 10 |
+
{
|
| 11 |
+
public:
|
| 12 |
+
Moses2Wrapper(String^ filePath) {
|
| 13 |
+
const std::string standardString = marshal_as<std::string>(filePath);
|
| 14 |
+
m_pWrapper = new Moses2::Moses2Wrapper(standardString);
|
| 15 |
+
}
|
| 16 |
+
~Moses2Wrapper() { this->!Moses2Wrapper(); }
|
| 17 |
+
String^ Translate(String^ input, long requestId) {
|
| 18 |
+
const std::string standardString = marshal_as<std::string>(input);
|
| 19 |
+
std::string output = m_pWrapper->Translate(standardString, requestId);
|
| 20 |
+
String^ str = gcnew String(output.c_str());
|
| 21 |
+
return str;
|
| 22 |
+
}
|
| 23 |
+
protected:
|
| 24 |
+
!Moses2Wrapper() { delete m_pWrapper; m_pWrapper = nullptr; }
|
| 25 |
+
private:
|
| 26 |
+
Moses2::Moses2Wrapper *m_pWrapper;
|
| 27 |
+
};
|
| 28 |
+
}
|
mosesdecoder/contrib/other-builds/MosesManagedDLL/MosesManagedDLL.vcxproj
ADDED
|
@@ -0,0 +1,170 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
<?xml version="1.0" encoding="utf-8"?>
|
| 2 |
+
<Project DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
| 3 |
+
<ItemGroup Label="ProjectConfigurations">
|
| 4 |
+
<ProjectConfiguration Include="Debug|Win32">
|
| 5 |
+
<Configuration>Debug</Configuration>
|
| 6 |
+
<Platform>Win32</Platform>
|
| 7 |
+
</ProjectConfiguration>
|
| 8 |
+
<ProjectConfiguration Include="Release|Win32">
|
| 9 |
+
<Configuration>Release</Configuration>
|
| 10 |
+
<Platform>Win32</Platform>
|
| 11 |
+
</ProjectConfiguration>
|
| 12 |
+
<ProjectConfiguration Include="Debug|x64">
|
| 13 |
+
<Configuration>Debug</Configuration>
|
| 14 |
+
<Platform>x64</Platform>
|
| 15 |
+
</ProjectConfiguration>
|
| 16 |
+
<ProjectConfiguration Include="Release|x64">
|
| 17 |
+
<Configuration>Release</Configuration>
|
| 18 |
+
<Platform>x64</Platform>
|
| 19 |
+
</ProjectConfiguration>
|
| 20 |
+
</ItemGroup>
|
| 21 |
+
<PropertyGroup Label="Globals">
|
| 22 |
+
<VCProjectVersion>16.0</VCProjectVersion>
|
| 23 |
+
<Keyword>Win32Proj</Keyword>
|
| 24 |
+
<ProjectGuid>{5fb67144-27c9-4993-a084-e2097ffcc4fe}</ProjectGuid>
|
| 25 |
+
<RootNamespace>MosesManagedDLL</RootNamespace>
|
| 26 |
+
<WindowsTargetPlatformVersion>10.0</WindowsTargetPlatformVersion>
|
| 27 |
+
</PropertyGroup>
|
| 28 |
+
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
|
| 29 |
+
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
|
| 30 |
+
<ConfigurationType>DynamicLibrary</ConfigurationType>
|
| 31 |
+
<UseDebugLibraries>true</UseDebugLibraries>
|
| 32 |
+
<PlatformToolset>v142</PlatformToolset>
|
| 33 |
+
<CharacterSet>Unicode</CharacterSet>
|
| 34 |
+
</PropertyGroup>
|
| 35 |
+
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
|
| 36 |
+
<ConfigurationType>DynamicLibrary</ConfigurationType>
|
| 37 |
+
<UseDebugLibraries>false</UseDebugLibraries>
|
| 38 |
+
<PlatformToolset>v142</PlatformToolset>
|
| 39 |
+
<WholeProgramOptimization>true</WholeProgramOptimization>
|
| 40 |
+
<CharacterSet>Unicode</CharacterSet>
|
| 41 |
+
</PropertyGroup>
|
| 42 |
+
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
|
| 43 |
+
<ConfigurationType>DynamicLibrary</ConfigurationType>
|
| 44 |
+
<UseDebugLibraries>true</UseDebugLibraries>
|
| 45 |
+
<PlatformToolset>v142</PlatformToolset>
|
| 46 |
+
<CharacterSet>Unicode</CharacterSet>
|
| 47 |
+
<CLRSupport>true</CLRSupport>
|
| 48 |
+
</PropertyGroup>
|
| 49 |
+
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
|
| 50 |
+
<ConfigurationType>DynamicLibrary</ConfigurationType>
|
| 51 |
+
<UseDebugLibraries>false</UseDebugLibraries>
|
| 52 |
+
<PlatformToolset>v142</PlatformToolset>
|
| 53 |
+
<WholeProgramOptimization>true</WholeProgramOptimization>
|
| 54 |
+
<CharacterSet>Unicode</CharacterSet>
|
| 55 |
+
</PropertyGroup>
|
| 56 |
+
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
|
| 57 |
+
<ImportGroup Label="ExtensionSettings">
|
| 58 |
+
</ImportGroup>
|
| 59 |
+
<ImportGroup Label="Shared">
|
| 60 |
+
</ImportGroup>
|
| 61 |
+
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
|
| 62 |
+
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
| 63 |
+
</ImportGroup>
|
| 64 |
+
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
|
| 65 |
+
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
| 66 |
+
</ImportGroup>
|
| 67 |
+
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
|
| 68 |
+
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
| 69 |
+
</ImportGroup>
|
| 70 |
+
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
|
| 71 |
+
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
| 72 |
+
</ImportGroup>
|
| 73 |
+
<PropertyGroup Label="UserMacros" />
|
| 74 |
+
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
|
| 75 |
+
<LinkIncremental>true</LinkIncremental>
|
| 76 |
+
</PropertyGroup>
|
| 77 |
+
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
|
| 78 |
+
<LinkIncremental>false</LinkIncremental>
|
| 79 |
+
</PropertyGroup>
|
| 80 |
+
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
|
| 81 |
+
<LinkIncremental>true</LinkIncremental>
|
| 82 |
+
</PropertyGroup>
|
| 83 |
+
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
|
| 84 |
+
<LinkIncremental>false</LinkIncremental>
|
| 85 |
+
</PropertyGroup>
|
| 86 |
+
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
|
| 87 |
+
<ClCompile>
|
| 88 |
+
<WarningLevel>Level3</WarningLevel>
|
| 89 |
+
<SDLCheck>true</SDLCheck>
|
| 90 |
+
<PreprocessorDefinitions>WIN32;_DEBUG;MOSESMANAGEDDLL_EXPORTS;_WINDOWS;_USRDLL;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
| 91 |
+
<ConformanceMode>true</ConformanceMode>
|
| 92 |
+
<PrecompiledHeader>Use</PrecompiledHeader>
|
| 93 |
+
<PrecompiledHeaderFile>pch.h</PrecompiledHeaderFile>
|
| 94 |
+
</ClCompile>
|
| 95 |
+
<Link>
|
| 96 |
+
<SubSystem>Windows</SubSystem>
|
| 97 |
+
<GenerateDebugInformation>true</GenerateDebugInformation>
|
| 98 |
+
<EnableUAC>false</EnableUAC>
|
| 99 |
+
</Link>
|
| 100 |
+
</ItemDefinitionGroup>
|
| 101 |
+
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
|
| 102 |
+
<ClCompile>
|
| 103 |
+
<WarningLevel>Level3</WarningLevel>
|
| 104 |
+
<FunctionLevelLinking>true</FunctionLevelLinking>
|
| 105 |
+
<IntrinsicFunctions>true</IntrinsicFunctions>
|
| 106 |
+
<SDLCheck>true</SDLCheck>
|
| 107 |
+
<PreprocessorDefinitions>WIN32;NDEBUG;MOSESMANAGEDDLL_EXPORTS;_WINDOWS;_USRDLL;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
| 108 |
+
<ConformanceMode>true</ConformanceMode>
|
| 109 |
+
<PrecompiledHeader>Use</PrecompiledHeader>
|
| 110 |
+
<PrecompiledHeaderFile>pch.h</PrecompiledHeaderFile>
|
| 111 |
+
</ClCompile>
|
| 112 |
+
<Link>
|
| 113 |
+
<SubSystem>Windows</SubSystem>
|
| 114 |
+
<EnableCOMDATFolding>true</EnableCOMDATFolding>
|
| 115 |
+
<OptimizeReferences>true</OptimizeReferences>
|
| 116 |
+
<GenerateDebugInformation>true</GenerateDebugInformation>
|
| 117 |
+
<EnableUAC>false</EnableUAC>
|
| 118 |
+
</Link>
|
| 119 |
+
</ItemDefinitionGroup>
|
| 120 |
+
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
|
| 121 |
+
<ClCompile>
|
| 122 |
+
<WarningLevel>Level3</WarningLevel>
|
| 123 |
+
<SDLCheck>true</SDLCheck>
|
| 124 |
+
<PreprocessorDefinitions>_DEBUG;MOSESMANAGEDDLL_EXPORTS;NO_COMPACT_TABLES;HAVE_CMPHXXX;MAX_NUM_FACTORS=4;KENLM_MAX_ORDER=6;_USE_MATH_DEFINES;NOMINMAX;WITH_THREADS;NO_PIPES;_CONSOLE;_LIB;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
| 125 |
+
<ConformanceMode>false</ConformanceMode>
|
| 126 |
+
<PrecompiledHeader>NotUsing</PrecompiledHeader>
|
| 127 |
+
<PrecompiledHeaderFile>pch.h</PrecompiledHeaderFile>
|
| 128 |
+
<AdditionalIncludeDirectories>F:\boost_1_72_0;D:\moses-mstranslator;D:\xmlrpc-c-1.51.06\include;D:\moses-mstranslator\moses2</AdditionalIncludeDirectories>
|
| 129 |
+
<MultiProcessorCompilation>true</MultiProcessorCompilation>
|
| 130 |
+
<RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
|
| 131 |
+
</ClCompile>
|
| 132 |
+
<Link>
|
| 133 |
+
<SubSystem>Windows</SubSystem>
|
| 134 |
+
<GenerateDebugInformation>true</GenerateDebugInformation>
|
| 135 |
+
<EnableUAC>false</EnableUAC>
|
| 136 |
+
<AdditionalLibraryDirectories>D:\zlib-1.2.8\contrib\vstudio\vc11\x64\ZlibDllRelease;D:\xmlrpc-c-1.51.06\bin\Debug-Static-x64;C:\Users\sija\Downloads\2.0.2\bonitao-cmph-e5f83da\Debug;D:\zlib_1_2_8_msvc2015_64\msvc2015_64\lib\zlib;D:\mman-win32-master\x64\Release;F:\boost_1_72_0\lib64-msvc-14.2;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
|
| 137 |
+
<AdditionalDependencies>libxmlrpc.lib;libxmlrpc_server_abyss.lib;libxmlrpc_server.lib;libxmlrpc_abyss.lib;libxmlrpc_util.lib;libxmlrpc_xmlparse.lib;libxmlrpc_xmltok.lib;libxmlrpc++.lib;zlibwapi.lib;mman.lib;cmph.lib;%(AdditionalDependencies)</AdditionalDependencies>
|
| 138 |
+
</Link>
|
| 139 |
+
</ItemDefinitionGroup>
|
| 140 |
+
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
|
| 141 |
+
<ClCompile>
|
| 142 |
+
<WarningLevel>Level3</WarningLevel>
|
| 143 |
+
<FunctionLevelLinking>true</FunctionLevelLinking>
|
| 144 |
+
<IntrinsicFunctions>true</IntrinsicFunctions>
|
| 145 |
+
<SDLCheck>true</SDLCheck>
|
| 146 |
+
<PreprocessorDefinitions>NDEBUG;MOSESMANAGEDDLL_EXPORTS;_WINDOWS;_USRDLL;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
| 147 |
+
<ConformanceMode>true</ConformanceMode>
|
| 148 |
+
<PrecompiledHeader>Use</PrecompiledHeader>
|
| 149 |
+
<PrecompiledHeaderFile>pch.h</PrecompiledHeaderFile>
|
| 150 |
+
</ClCompile>
|
| 151 |
+
<Link>
|
| 152 |
+
<SubSystem>Windows</SubSystem>
|
| 153 |
+
<EnableCOMDATFolding>true</EnableCOMDATFolding>
|
| 154 |
+
<OptimizeReferences>true</OptimizeReferences>
|
| 155 |
+
<GenerateDebugInformation>true</GenerateDebugInformation>
|
| 156 |
+
<EnableUAC>false</EnableUAC>
|
| 157 |
+
</Link>
|
| 158 |
+
</ItemDefinitionGroup>
|
| 159 |
+
<ItemGroup>
|
| 160 |
+
<ClCompile Include="ManagedMoses.cpp" />
|
| 161 |
+
</ItemGroup>
|
| 162 |
+
<ItemGroup>
|
| 163 |
+
<ProjectReference Include="..\moses2\moses2.vcxproj">
|
| 164 |
+
<Project>{b4304e97-d37f-4022-bd03-841a4faee398}</Project>
|
| 165 |
+
</ProjectReference>
|
| 166 |
+
</ItemGroup>
|
| 167 |
+
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
|
| 168 |
+
<ImportGroup Label="ExtensionTargets">
|
| 169 |
+
</ImportGroup>
|
| 170 |
+
</Project>
|
mosesdecoder/contrib/other-builds/MosesManagedDLL/MosesManagedDLL.vcxproj.filters
ADDED
|
@@ -0,0 +1,22 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
<?xml version="1.0" encoding="utf-8"?>
|
| 2 |
+
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
| 3 |
+
<ItemGroup>
|
| 4 |
+
<Filter Include="Source Files">
|
| 5 |
+
<UniqueIdentifier>{4FC737F1-C7A5-4376-A066-2A32D752A2FF}</UniqueIdentifier>
|
| 6 |
+
<Extensions>cpp;c;cc;cxx;c++;cppm;ixx;def;odl;idl;hpj;bat;asm;asmx</Extensions>
|
| 7 |
+
</Filter>
|
| 8 |
+
<Filter Include="Header Files">
|
| 9 |
+
<UniqueIdentifier>{93995380-89BD-4b04-88EB-625FBE52EBFB}</UniqueIdentifier>
|
| 10 |
+
<Extensions>h;hh;hpp;hxx;h++;hm;inl;inc;ipp;xsd</Extensions>
|
| 11 |
+
</Filter>
|
| 12 |
+
<Filter Include="Resource Files">
|
| 13 |
+
<UniqueIdentifier>{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}</UniqueIdentifier>
|
| 14 |
+
<Extensions>rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav;mfcribbon-ms</Extensions>
|
| 15 |
+
</Filter>
|
| 16 |
+
</ItemGroup>
|
| 17 |
+
<ItemGroup>
|
| 18 |
+
<ClCompile Include="ManagedMoses.cpp">
|
| 19 |
+
<Filter>Source Files</Filter>
|
| 20 |
+
</ClCompile>
|
| 21 |
+
</ItemGroup>
|
| 22 |
+
</Project>
|
mosesdecoder/contrib/other-builds/MosesWrapperTest/MosesWrapperTest.csproj
ADDED
|
@@ -0,0 +1,86 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
<?xml version="1.0" encoding="utf-8"?>
|
| 2 |
+
<Project ToolsVersion="15.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
| 3 |
+
<Import Project="$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props" Condition="Exists('$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props')" />
|
| 4 |
+
<PropertyGroup>
|
| 5 |
+
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
|
| 6 |
+
<Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
|
| 7 |
+
<ProjectGuid>{A2B603DB-F52E-4A83-BB61-F23D212E6482}</ProjectGuid>
|
| 8 |
+
<OutputType>Exe</OutputType>
|
| 9 |
+
<RootNamespace>MosesWrapperTest</RootNamespace>
|
| 10 |
+
<AssemblyName>MosesWrapperTest</AssemblyName>
|
| 11 |
+
<TargetFrameworkVersion>v4.7.2</TargetFrameworkVersion>
|
| 12 |
+
<FileAlignment>512</FileAlignment>
|
| 13 |
+
<AutoGenerateBindingRedirects>true</AutoGenerateBindingRedirects>
|
| 14 |
+
<Deterministic>true</Deterministic>
|
| 15 |
+
<PublishUrl>publish\</PublishUrl>
|
| 16 |
+
<Install>true</Install>
|
| 17 |
+
<InstallFrom>Disk</InstallFrom>
|
| 18 |
+
<UpdateEnabled>false</UpdateEnabled>
|
| 19 |
+
<UpdateMode>Foreground</UpdateMode>
|
| 20 |
+
<UpdateInterval>7</UpdateInterval>
|
| 21 |
+
<UpdateIntervalUnits>Days</UpdateIntervalUnits>
|
| 22 |
+
<UpdatePeriodically>false</UpdatePeriodically>
|
| 23 |
+
<UpdateRequired>false</UpdateRequired>
|
| 24 |
+
<MapFileExtensions>true</MapFileExtensions>
|
| 25 |
+
<ApplicationRevision>0</ApplicationRevision>
|
| 26 |
+
<ApplicationVersion>1.0.0.%2a</ApplicationVersion>
|
| 27 |
+
<IsWebBootstrapper>false</IsWebBootstrapper>
|
| 28 |
+
<UseApplicationTrust>false</UseApplicationTrust>
|
| 29 |
+
<BootstrapperEnabled>true</BootstrapperEnabled>
|
| 30 |
+
</PropertyGroup>
|
| 31 |
+
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
|
| 32 |
+
<PlatformTarget>x64</PlatformTarget>
|
| 33 |
+
<DebugSymbols>true</DebugSymbols>
|
| 34 |
+
<DebugType>full</DebugType>
|
| 35 |
+
<Optimize>false</Optimize>
|
| 36 |
+
<OutputPath>bin\Debug\</OutputPath>
|
| 37 |
+
<DefineConstants>DEBUG;TRACE</DefineConstants>
|
| 38 |
+
<ErrorReport>prompt</ErrorReport>
|
| 39 |
+
<WarningLevel>2</WarningLevel>
|
| 40 |
+
</PropertyGroup>
|
| 41 |
+
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
|
| 42 |
+
<PlatformTarget>AnyCPU</PlatformTarget>
|
| 43 |
+
<DebugType>pdbonly</DebugType>
|
| 44 |
+
<Optimize>true</Optimize>
|
| 45 |
+
<OutputPath>bin\Release\</OutputPath>
|
| 46 |
+
<DefineConstants>TRACE</DefineConstants>
|
| 47 |
+
<ErrorReport>prompt</ErrorReport>
|
| 48 |
+
<WarningLevel>4</WarningLevel>
|
| 49 |
+
</PropertyGroup>
|
| 50 |
+
<ItemGroup>
|
| 51 |
+
<Reference Include="System" />
|
| 52 |
+
<Reference Include="System.Core" />
|
| 53 |
+
<Reference Include="System.Xml.Linq" />
|
| 54 |
+
<Reference Include="System.Data.DataSetExtensions" />
|
| 55 |
+
<Reference Include="Microsoft.CSharp" />
|
| 56 |
+
<Reference Include="System.Data" />
|
| 57 |
+
<Reference Include="System.Net.Http" />
|
| 58 |
+
<Reference Include="System.Xml" />
|
| 59 |
+
</ItemGroup>
|
| 60 |
+
<ItemGroup>
|
| 61 |
+
<Compile Include="Program.cs" />
|
| 62 |
+
<Compile Include="Properties\AssemblyInfo.cs" />
|
| 63 |
+
</ItemGroup>
|
| 64 |
+
<ItemGroup>
|
| 65 |
+
<None Include="App.config" />
|
| 66 |
+
</ItemGroup>
|
| 67 |
+
<ItemGroup>
|
| 68 |
+
<ProjectReference Include="..\MosesManagedDLL\MosesManagedDLL.vcxproj">
|
| 69 |
+
<Project>{5fb67144-27c9-4993-a084-e2097ffcc4fe}</Project>
|
| 70 |
+
<Name>MosesManagedDLL</Name>
|
| 71 |
+
</ProjectReference>
|
| 72 |
+
</ItemGroup>
|
| 73 |
+
<ItemGroup>
|
| 74 |
+
<BootstrapperPackage Include=".NETFramework,Version=v4.7.2">
|
| 75 |
+
<Visible>False</Visible>
|
| 76 |
+
<ProductName>Microsoft .NET Framework 4.7.2 %28x86 and x64%29</ProductName>
|
| 77 |
+
<Install>true</Install>
|
| 78 |
+
</BootstrapperPackage>
|
| 79 |
+
<BootstrapperPackage Include="Microsoft.Net.Framework.3.5.SP1">
|
| 80 |
+
<Visible>False</Visible>
|
| 81 |
+
<ProductName>.NET Framework 3.5 SP1</ProductName>
|
| 82 |
+
<Install>false</Install>
|
| 83 |
+
</BootstrapperPackage>
|
| 84 |
+
</ItemGroup>
|
| 85 |
+
<Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
|
| 86 |
+
</Project>
|
mosesdecoder/contrib/other-builds/MosesWrapperTest/Program.cs
ADDED
|
@@ -0,0 +1,19 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
using System;
|
| 2 |
+
using System.Collections.Generic;
|
| 3 |
+
using System.Linq;
|
| 4 |
+
using System.Text;
|
| 5 |
+
using System.Threading.Tasks;
|
| 6 |
+
using Moses;
|
| 7 |
+
namespace MosesWrapperTest
|
| 8 |
+
{
|
| 9 |
+
class Program {
|
| 10 |
+
|
| 11 |
+
static void Main(string[] args)
|
| 12 |
+
{
|
| 13 |
+
Moses2Wrapper e = new Moses2Wrapper("D:/moses-mstranslator/test_sentence_with_candidates/moses_mspt.ini");
|
| 14 |
+
string mystring = e.Translate("फ ो ट ो ं @@@ ट ||| a ||| 0.5338410658500136 $$$ ट ||| c ||| 0.10587171128910133 $$$ ट ||| m ||| 0.7056508746775306 $$$ ं ||| l ||| 0.29237797398236876 $$$ ं ||| o ||| 0.4026301817948226 $$$ ं ||| r ||| 0.20594041196734436 $$$ फ ||| c ||| 0.46792456587433573 $$$ फ ||| g ||| 0.43855815762641204 $$$ फ ||| x ||| 0.7077570324853759 $$$ ो ||| h ||| 0.9869239425073358 $$$ ो ||| i ||| 0.6660016809625412 $$$ ो ||| h ||| 0.8425506301302961", 123456789);
|
| 15 |
+
Console.WriteLine(mystring);
|
| 16 |
+
return;
|
| 17 |
+
}
|
| 18 |
+
}
|
| 19 |
+
}
|
mosesdecoder/contrib/other-builds/OnDiskPt/.cproject
ADDED
|
@@ -0,0 +1,140 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
| 2 |
+
<?fileVersion 4.0.0?><cproject storage_type_id="org.eclipse.cdt.core.XmlProjectDescriptionStorage">
|
| 3 |
+
<storageModule moduleId="org.eclipse.cdt.core.settings">
|
| 4 |
+
<cconfiguration id="cdt.managedbuild.config.gnu.macosx.exe.debug.846397978">
|
| 5 |
+
<storageModule buildSystemId="org.eclipse.cdt.managedbuilder.core.configurationDataProvider" id="cdt.managedbuild.config.gnu.macosx.exe.debug.846397978" moduleId="org.eclipse.cdt.core.settings" name="Debug">
|
| 6 |
+
<externalSettings>
|
| 7 |
+
<externalSetting>
|
| 8 |
+
<entry flags="VALUE_WORKSPACE_PATH" kind="includePath" name="/OnDiskPt"/>
|
| 9 |
+
<entry flags="VALUE_WORKSPACE_PATH" kind="libraryPath" name="/OnDiskPt/Debug"/>
|
| 10 |
+
<entry flags="RESOLVED" kind="libraryFile" name="OnDiskPt" srcPrefixMapping="" srcRootPath=""/>
|
| 11 |
+
</externalSetting>
|
| 12 |
+
</externalSettings>
|
| 13 |
+
<extensions>
|
| 14 |
+
<extension id="org.eclipse.cdt.core.GNU_ELF" point="org.eclipse.cdt.core.BinaryParser"/>
|
| 15 |
+
<extension id="org.eclipse.cdt.core.GmakeErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
|
| 16 |
+
<extension id="org.eclipse.cdt.core.CWDLocator" point="org.eclipse.cdt.core.ErrorParser"/>
|
| 17 |
+
<extension id="org.eclipse.cdt.core.GCCErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
|
| 18 |
+
<extension id="org.eclipse.cdt.core.GASErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
|
| 19 |
+
</extensions>
|
| 20 |
+
</storageModule>
|
| 21 |
+
<storageModule moduleId="cdtBuildSystem" version="4.0.0">
|
| 22 |
+
<configuration artifactExtension="a" artifactName="${ProjName}" buildArtefactType="org.eclipse.cdt.build.core.buildArtefactType.staticLib" buildProperties="org.eclipse.cdt.build.core.buildArtefactType=org.eclipse.cdt.build.core.buildArtefactType.staticLib,org.eclipse.cdt.build.core.buildType=org.eclipse.cdt.build.core.buildType.debug" cleanCommand="rm -rf" description="" id="cdt.managedbuild.config.gnu.macosx.exe.debug.846397978" name="Debug" parent="cdt.managedbuild.config.gnu.macosx.exe.debug">
|
| 23 |
+
<folderInfo id="cdt.managedbuild.config.gnu.macosx.exe.debug.846397978." name="/" resourcePath="">
|
| 24 |
+
<toolChain id="cdt.managedbuild.toolchain.gnu.base.157856987" name="Linux GCC" superClass="cdt.managedbuild.toolchain.gnu.base">
|
| 25 |
+
<targetPlatform archList="all" binaryParser="org.eclipse.cdt.core.GNU_ELF" id="cdt.managedbuild.target.gnu.platform.base.1221655831" name="Debug Platform" osList="linux,hpux,aix,qnx" superClass="cdt.managedbuild.target.gnu.platform.base"/>
|
| 26 |
+
<builder buildPath="${workspace_loc:/OnDiskPt}/Debug" id="cdt.managedbuild.target.gnu.builder.base.1822256899" name="Gnu Make Builder.Debug" parallelBuildOn="true" parallelizationNumber="optimal" superClass="cdt.managedbuild.target.gnu.builder.base"/>
|
| 27 |
+
<tool id="cdt.managedbuild.tool.gnu.archiver.base.2090920984" name="GCC Archiver" superClass="cdt.managedbuild.tool.gnu.archiver.base"/>
|
| 28 |
+
<tool id="cdt.managedbuild.tool.gnu.cpp.compiler.base.1135838107" name="GCC C++ Compiler" superClass="cdt.managedbuild.tool.gnu.cpp.compiler.base">
|
| 29 |
+
<option id="gnu.cpp.compiler.option.include.paths.1219317473" superClass="gnu.cpp.compiler.option.include.paths" valueType="includePath">
|
| 30 |
+
<listOptionValue builtIn="false" value="/opt/local/include"/>
|
| 31 |
+
<listOptionValue builtIn="false" value=""${workspace_loc}/../../boost/include""/>
|
| 32 |
+
<listOptionValue builtIn="false" value="${workspace_loc}/../../"/>
|
| 33 |
+
</option>
|
| 34 |
+
<option id="gnu.cpp.compiler.option.preprocessor.def.852929239" superClass="gnu.cpp.compiler.option.preprocessor.def" valueType="definedSymbols">
|
| 35 |
+
<listOptionValue builtIn="false" value="TRACE_ENABLE"/>
|
| 36 |
+
<listOptionValue builtIn="false" value="KENLM_MAX_ORDER=7"/>
|
| 37 |
+
<listOptionValue builtIn="false" value="HAVE_BOOST"/>
|
| 38 |
+
<listOptionValue builtIn="false" value="MAX_NUM_FACTORS=4"/>
|
| 39 |
+
<listOptionValue builtIn="false" value="WITH_THREADS"/>
|
| 40 |
+
</option>
|
| 41 |
+
<option id="gnu.cpp.compiler.option.optimization.level.612567238" superClass="gnu.cpp.compiler.option.optimization.level" value="gnu.cpp.compiler.optimization.level.none" valueType="enumerated"/>
|
| 42 |
+
<option id="gnu.cpp.compiler.option.debugging.level.551520195" superClass="gnu.cpp.compiler.option.debugging.level" value="gnu.cpp.compiler.debugging.level.max" valueType="enumerated"/>
|
| 43 |
+
<inputType id="cdt.managedbuild.tool.gnu.cpp.compiler.input.1156759208" superClass="cdt.managedbuild.tool.gnu.cpp.compiler.input"/>
|
| 44 |
+
</tool>
|
| 45 |
+
<tool id="cdt.managedbuild.tool.gnu.c.compiler.base.698983549" name="GCC C Compiler" superClass="cdt.managedbuild.tool.gnu.c.compiler.base">
|
| 46 |
+
<option defaultValue="gnu.c.optimization.level.none" id="gnu.c.compiler.option.optimization.level.67773025" superClass="gnu.c.compiler.option.optimization.level" valueType="enumerated"/>
|
| 47 |
+
<option id="gnu.c.compiler.option.debugging.level.1386893486" superClass="gnu.c.compiler.option.debugging.level" value="gnu.c.debugging.level.max" valueType="enumerated"/>
|
| 48 |
+
<inputType id="cdt.managedbuild.tool.gnu.c.compiler.input.85619112" superClass="cdt.managedbuild.tool.gnu.c.compiler.input"/>
|
| 49 |
+
</tool>
|
| 50 |
+
<tool id="cdt.managedbuild.tool.gnu.c.linker.base.856427480" name="GCC C Linker" superClass="cdt.managedbuild.tool.gnu.c.linker.base"/>
|
| 51 |
+
<tool id="cdt.managedbuild.tool.gnu.cpp.linker.base.519828719" name="GCC C++ Linker" superClass="cdt.managedbuild.tool.gnu.cpp.linker.base"/>
|
| 52 |
+
<tool id="cdt.managedbuild.tool.gnu.assembler.base.1838269930" name="GCC Assembler" superClass="cdt.managedbuild.tool.gnu.assembler.base">
|
| 53 |
+
<inputType id="cdt.managedbuild.tool.gnu.assembler.input.563285869" superClass="cdt.managedbuild.tool.gnu.assembler.input"/>
|
| 54 |
+
</tool>
|
| 55 |
+
</toolChain>
|
| 56 |
+
</folderInfo>
|
| 57 |
+
<fileInfo id="cdt.managedbuild.config.gnu.macosx.exe.debug.846397978.726316251" name="Main.h" rcbsApplicability="disable" resourcePath="Main.h" toolsToInvoke=""/>
|
| 58 |
+
<sourceEntries>
|
| 59 |
+
<entry excluding="Main.h|Main.cpp" flags="VALUE_WORKSPACE_PATH|RESOLVED" kind="sourcePath" name=""/>
|
| 60 |
+
</sourceEntries>
|
| 61 |
+
</configuration>
|
| 62 |
+
</storageModule>
|
| 63 |
+
<storageModule moduleId="org.eclipse.cdt.core.externalSettings"/>
|
| 64 |
+
</cconfiguration>
|
| 65 |
+
<cconfiguration id="cdt.managedbuild.config.macosx.exe.release.701931933">
|
| 66 |
+
<storageModule buildSystemId="org.eclipse.cdt.managedbuilder.core.configurationDataProvider" id="cdt.managedbuild.config.macosx.exe.release.701931933" moduleId="org.eclipse.cdt.core.settings" name="Release">
|
| 67 |
+
<externalSettings/>
|
| 68 |
+
<extensions>
|
| 69 |
+
<extension id="org.eclipse.cdt.core.MachO64" point="org.eclipse.cdt.core.BinaryParser"/>
|
| 70 |
+
<extension id="org.eclipse.cdt.core.ELF" point="org.eclipse.cdt.core.BinaryParser"/>
|
| 71 |
+
<extension id="org.eclipse.cdt.core.GmakeErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
|
| 72 |
+
<extension id="org.eclipse.cdt.core.CWDLocator" point="org.eclipse.cdt.core.ErrorParser"/>
|
| 73 |
+
<extension id="org.eclipse.cdt.core.GCCErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
|
| 74 |
+
<extension id="org.eclipse.cdt.core.GASErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
|
| 75 |
+
<extension id="org.eclipse.cdt.core.GLDErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
|
| 76 |
+
</extensions>
|
| 77 |
+
</storageModule>
|
| 78 |
+
<storageModule moduleId="cdtBuildSystem" version="4.0.0">
|
| 79 |
+
<configuration artifactName="${ProjName}" buildArtefactType="org.eclipse.cdt.build.core.buildArtefactType.exe" buildProperties="org.eclipse.cdt.build.core.buildArtefactType=org.eclipse.cdt.build.core.buildArtefactType.exe,org.eclipse.cdt.build.core.buildType=org.eclipse.cdt.build.core.buildType.release" cleanCommand="rm -rf" description="" id="cdt.managedbuild.config.macosx.exe.release.701931933" name="Release" parent="cdt.managedbuild.config.macosx.exe.release">
|
| 80 |
+
<folderInfo id="cdt.managedbuild.config.macosx.exe.release.701931933." name="/" resourcePath="">
|
| 81 |
+
<toolChain id="cdt.managedbuild.toolchain.gnu.macosx.exe.release.5036266" name="MacOSX GCC" superClass="cdt.managedbuild.toolchain.gnu.macosx.exe.release">
|
| 82 |
+
<targetPlatform binaryParser="org.eclipse.cdt.core.MachO64;org.eclipse.cdt.core.ELF" id="cdt.managedbuild.target.gnu.platform.macosx.exe.release.396818757" name="Debug Platform" superClass="cdt.managedbuild.target.gnu.platform.macosx.exe.release"/>
|
| 83 |
+
<builder buildPath="${workspace_loc:/OnDiskPt/Release}" id="cdt.managedbuild.target.gnu.builder.macosx.exe.release.1081186575" keepEnvironmentInBuildfile="false" managedBuildOn="true" name="Gnu Make Builder" superClass="cdt.managedbuild.target.gnu.builder.macosx.exe.release"/>
|
| 84 |
+
<tool id="cdt.managedbuild.tool.macosx.c.linker.macosx.exe.release.894082374" name="MacOS X C Linker" superClass="cdt.managedbuild.tool.macosx.c.linker.macosx.exe.release"/>
|
| 85 |
+
<tool id="cdt.managedbuild.tool.macosx.cpp.linker.macosx.exe.release.640159085" name="MacOS X C++ Linker" superClass="cdt.managedbuild.tool.macosx.cpp.linker.macosx.exe.release">
|
| 86 |
+
<inputType id="cdt.managedbuild.tool.macosx.cpp.linker.input.1673993744" superClass="cdt.managedbuild.tool.macosx.cpp.linker.input">
|
| 87 |
+
<additionalInput kind="additionalinputdependency" paths="$(USER_OBJS)"/>
|
| 88 |
+
<additionalInput kind="additionalinput" paths="$(LIBS)"/>
|
| 89 |
+
</inputType>
|
| 90 |
+
</tool>
|
| 91 |
+
<tool id="cdt.managedbuild.tool.gnu.assembler.macosx.exe.release.596082362" name="GCC Assembler" superClass="cdt.managedbuild.tool.gnu.assembler.macosx.exe.release">
|
| 92 |
+
<inputType id="cdt.managedbuild.tool.gnu.assembler.input.851420859" superClass="cdt.managedbuild.tool.gnu.assembler.input"/>
|
| 93 |
+
</tool>
|
| 94 |
+
<tool id="cdt.managedbuild.tool.gnu.archiver.macosx.base.385722535" name="GCC Archiver" superClass="cdt.managedbuild.tool.gnu.archiver.macosx.base"/>
|
| 95 |
+
<tool id="cdt.managedbuild.tool.gnu.cpp.compiler.macosx.exe.release.983488413" name="GCC C++ Compiler" superClass="cdt.managedbuild.tool.gnu.cpp.compiler.macosx.exe.release">
|
| 96 |
+
<option id="gnu.cpp.compiler.macosx.exe.release.option.optimization.level.21058138" name="Optimization Level" superClass="gnu.cpp.compiler.macosx.exe.release.option.optimization.level" useByScannerDiscovery="false" value="gnu.cpp.compiler.optimization.level.most" valueType="enumerated"/>
|
| 97 |
+
<option id="gnu.cpp.compiler.macosx.exe.release.option.debugging.level.1704184753" name="Debug Level" superClass="gnu.cpp.compiler.macosx.exe.release.option.debugging.level" useByScannerDiscovery="false" value="gnu.cpp.compiler.debugging.level.none" valueType="enumerated"/>
|
| 98 |
+
<inputType id="cdt.managedbuild.tool.gnu.cpp.compiler.input.1034344194" superClass="cdt.managedbuild.tool.gnu.cpp.compiler.input"/>
|
| 99 |
+
</tool>
|
| 100 |
+
<tool id="cdt.managedbuild.tool.gnu.c.compiler.macosx.exe.release.1029035384" name="GCC C Compiler" superClass="cdt.managedbuild.tool.gnu.c.compiler.macosx.exe.release">
|
| 101 |
+
<option defaultValue="gnu.c.optimization.level.most" id="gnu.c.compiler.macosx.exe.release.option.optimization.level.171488636" name="Optimization Level" superClass="gnu.c.compiler.macosx.exe.release.option.optimization.level" useByScannerDiscovery="false" valueType="enumerated"/>
|
| 102 |
+
<option id="gnu.c.compiler.macosx.exe.release.option.debugging.level.843129626" name="Debug Level" superClass="gnu.c.compiler.macosx.exe.release.option.debugging.level" useByScannerDiscovery="false" value="gnu.c.debugging.level.none" valueType="enumerated"/>
|
| 103 |
+
<inputType id="cdt.managedbuild.tool.gnu.c.compiler.input.1014721928" superClass="cdt.managedbuild.tool.gnu.c.compiler.input"/>
|
| 104 |
+
</tool>
|
| 105 |
+
</toolChain>
|
| 106 |
+
</folderInfo>
|
| 107 |
+
</configuration>
|
| 108 |
+
</storageModule>
|
| 109 |
+
<storageModule moduleId="org.eclipse.cdt.core.externalSettings"/>
|
| 110 |
+
</cconfiguration>
|
| 111 |
+
</storageModule>
|
| 112 |
+
<storageModule moduleId="cdtBuildSystem" version="4.0.0">
|
| 113 |
+
<project id="OnDiskPt.cdt.managedbuild.target.macosx.exe.542902806" name="Executable" projectType="cdt.managedbuild.target.macosx.exe"/>
|
| 114 |
+
</storageModule>
|
| 115 |
+
<storageModule moduleId="scannerConfiguration">
|
| 116 |
+
<autodiscovery enabled="true" problemReportingEnabled="true" selectedProfileId=""/>
|
| 117 |
+
<scannerConfigBuildInfo instanceId="cdt.managedbuild.config.macosx.exe.release.701931933;cdt.managedbuild.config.macosx.exe.release.701931933.;cdt.managedbuild.tool.gnu.c.compiler.macosx.exe.release.1029035384;cdt.managedbuild.tool.gnu.c.compiler.input.1014721928">
|
| 118 |
+
<autodiscovery enabled="true" problemReportingEnabled="true" selectedProfileId="org.eclipse.cdt.managedbuilder.core.GCCManagedMakePerProjectProfileC"/>
|
| 119 |
+
</scannerConfigBuildInfo>
|
| 120 |
+
<scannerConfigBuildInfo instanceId="cdt.managedbuild.config.gnu.macosx.exe.debug.846397978;cdt.managedbuild.config.gnu.macosx.exe.debug.846397978.;cdt.managedbuild.tool.gnu.c.compiler.macosx.exe.debug.1161943634;cdt.managedbuild.tool.gnu.c.compiler.input.1925590121">
|
| 121 |
+
<autodiscovery enabled="true" problemReportingEnabled="true" selectedProfileId="org.eclipse.cdt.managedbuilder.core.GCCManagedMakePerProjectProfileC"/>
|
| 122 |
+
</scannerConfigBuildInfo>
|
| 123 |
+
<scannerConfigBuildInfo instanceId="cdt.managedbuild.config.gnu.macosx.exe.debug.846397978;cdt.managedbuild.config.gnu.macosx.exe.debug.846397978.;cdt.managedbuild.tool.gnu.cpp.compiler.macosx.exe.debug.2001028511;cdt.managedbuild.tool.gnu.cpp.compiler.input.1930757481">
|
| 124 |
+
<autodiscovery enabled="true" problemReportingEnabled="true" selectedProfileId="org.eclipse.cdt.managedbuilder.core.GCCManagedMakePerProjectProfileCPP"/>
|
| 125 |
+
</scannerConfigBuildInfo>
|
| 126 |
+
<scannerConfigBuildInfo instanceId="cdt.managedbuild.config.macosx.exe.release.701931933;cdt.managedbuild.config.macosx.exe.release.701931933.;cdt.managedbuild.tool.gnu.cpp.compiler.macosx.exe.release.983488413;cdt.managedbuild.tool.gnu.cpp.compiler.input.1034344194">
|
| 127 |
+
<autodiscovery enabled="true" problemReportingEnabled="true" selectedProfileId="org.eclipse.cdt.managedbuilder.core.GCCManagedMakePerProjectProfileCPP"/>
|
| 128 |
+
</scannerConfigBuildInfo>
|
| 129 |
+
</storageModule>
|
| 130 |
+
<storageModule moduleId="refreshScope" versionNumber="2">
|
| 131 |
+
<configuration configurationName="Release">
|
| 132 |
+
<resource resourceType="PROJECT" workspacePath="/OnDiskPt"/>
|
| 133 |
+
</configuration>
|
| 134 |
+
<configuration configurationName="Debug">
|
| 135 |
+
<resource resourceType="PROJECT" workspacePath="/OnDiskPt"/>
|
| 136 |
+
</configuration>
|
| 137 |
+
</storageModule>
|
| 138 |
+
<storageModule moduleId="org.eclipse.cdt.make.core.buildtargets"/>
|
| 139 |
+
<storageModule moduleId="org.eclipse.cdt.core.LanguageSettingsProviders"/>
|
| 140 |
+
</cproject>
|
mosesdecoder/contrib/other-builds/OnDiskPt/.project
ADDED
|
@@ -0,0 +1,185 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
<?xml version="1.0" encoding="UTF-8"?>
|
| 2 |
+
<projectDescription>
|
| 3 |
+
<name>OnDiskPt</name>
|
| 4 |
+
<comment></comment>
|
| 5 |
+
<projects>
|
| 6 |
+
</projects>
|
| 7 |
+
<buildSpec>
|
| 8 |
+
<buildCommand>
|
| 9 |
+
<name>org.eclipse.cdt.managedbuilder.core.genmakebuilder</name>
|
| 10 |
+
<triggers>clean,full,incremental,</triggers>
|
| 11 |
+
<arguments>
|
| 12 |
+
<dictionary>
|
| 13 |
+
<key>?name?</key>
|
| 14 |
+
<value></value>
|
| 15 |
+
</dictionary>
|
| 16 |
+
<dictionary>
|
| 17 |
+
<key>org.eclipse.cdt.make.core.append_environment</key>
|
| 18 |
+
<value>true</value>
|
| 19 |
+
</dictionary>
|
| 20 |
+
<dictionary>
|
| 21 |
+
<key>org.eclipse.cdt.make.core.autoBuildTarget</key>
|
| 22 |
+
<value>all</value>
|
| 23 |
+
</dictionary>
|
| 24 |
+
<dictionary>
|
| 25 |
+
<key>org.eclipse.cdt.make.core.buildArguments</key>
|
| 26 |
+
<value>-j3</value>
|
| 27 |
+
</dictionary>
|
| 28 |
+
<dictionary>
|
| 29 |
+
<key>org.eclipse.cdt.make.core.buildCommand</key>
|
| 30 |
+
<value>make</value>
|
| 31 |
+
</dictionary>
|
| 32 |
+
<dictionary>
|
| 33 |
+
<key>org.eclipse.cdt.make.core.buildLocation</key>
|
| 34 |
+
<value>${workspace_loc:/OnDiskPt/Debug}</value>
|
| 35 |
+
</dictionary>
|
| 36 |
+
<dictionary>
|
| 37 |
+
<key>org.eclipse.cdt.make.core.cleanBuildTarget</key>
|
| 38 |
+
<value>clean</value>
|
| 39 |
+
</dictionary>
|
| 40 |
+
<dictionary>
|
| 41 |
+
<key>org.eclipse.cdt.make.core.contents</key>
|
| 42 |
+
<value>org.eclipse.cdt.make.core.activeConfigSettings</value>
|
| 43 |
+
</dictionary>
|
| 44 |
+
<dictionary>
|
| 45 |
+
<key>org.eclipse.cdt.make.core.enableAutoBuild</key>
|
| 46 |
+
<value>false</value>
|
| 47 |
+
</dictionary>
|
| 48 |
+
<dictionary>
|
| 49 |
+
<key>org.eclipse.cdt.make.core.enableCleanBuild</key>
|
| 50 |
+
<value>true</value>
|
| 51 |
+
</dictionary>
|
| 52 |
+
<dictionary>
|
| 53 |
+
<key>org.eclipse.cdt.make.core.enableFullBuild</key>
|
| 54 |
+
<value>true</value>
|
| 55 |
+
</dictionary>
|
| 56 |
+
<dictionary>
|
| 57 |
+
<key>org.eclipse.cdt.make.core.fullBuildTarget</key>
|
| 58 |
+
<value>all</value>
|
| 59 |
+
</dictionary>
|
| 60 |
+
<dictionary>
|
| 61 |
+
<key>org.eclipse.cdt.make.core.stopOnError</key>
|
| 62 |
+
<value>true</value>
|
| 63 |
+
</dictionary>
|
| 64 |
+
<dictionary>
|
| 65 |
+
<key>org.eclipse.cdt.make.core.useDefaultBuildCmd</key>
|
| 66 |
+
<value>true</value>
|
| 67 |
+
</dictionary>
|
| 68 |
+
</arguments>
|
| 69 |
+
</buildCommand>
|
| 70 |
+
<buildCommand>
|
| 71 |
+
<name>org.eclipse.cdt.managedbuilder.core.ScannerConfigBuilder</name>
|
| 72 |
+
<triggers>full,incremental,</triggers>
|
| 73 |
+
<arguments>
|
| 74 |
+
</arguments>
|
| 75 |
+
</buildCommand>
|
| 76 |
+
</buildSpec>
|
| 77 |
+
<natures>
|
| 78 |
+
<nature>org.eclipse.cdt.core.cnature</nature>
|
| 79 |
+
<nature>org.eclipse.cdt.core.ccnature</nature>
|
| 80 |
+
<nature>org.eclipse.cdt.managedbuilder.core.managedBuildNature</nature>
|
| 81 |
+
<nature>org.eclipse.cdt.managedbuilder.core.ScannerConfigNature</nature>
|
| 82 |
+
</natures>
|
| 83 |
+
<linkedResources>
|
| 84 |
+
<link>
|
| 85 |
+
<name>Jamfile</name>
|
| 86 |
+
<type>1</type>
|
| 87 |
+
<locationURI>PARENT-3-PROJECT_LOC/OnDiskPt/Jamfile</locationURI>
|
| 88 |
+
</link>
|
| 89 |
+
<link>
|
| 90 |
+
<name>Main.cpp</name>
|
| 91 |
+
<type>1</type>
|
| 92 |
+
<locationURI>PARENT-3-PROJECT_LOC/OnDiskPt/Main.cpp</locationURI>
|
| 93 |
+
</link>
|
| 94 |
+
<link>
|
| 95 |
+
<name>Main.h</name>
|
| 96 |
+
<type>1</type>
|
| 97 |
+
<locationURI>PARENT-3-PROJECT_LOC/OnDiskPt/Main.h</locationURI>
|
| 98 |
+
</link>
|
| 99 |
+
<link>
|
| 100 |
+
<name>OnDiskWrapper.cpp</name>
|
| 101 |
+
<type>1</type>
|
| 102 |
+
<locationURI>PARENT-3-PROJECT_LOC/OnDiskPt/OnDiskWrapper.cpp</locationURI>
|
| 103 |
+
</link>
|
| 104 |
+
<link>
|
| 105 |
+
<name>OnDiskWrapper.h</name>
|
| 106 |
+
<type>1</type>
|
| 107 |
+
<locationURI>PARENT-3-PROJECT_LOC/OnDiskPt/OnDiskWrapper.h</locationURI>
|
| 108 |
+
</link>
|
| 109 |
+
<link>
|
| 110 |
+
<name>Phrase.cpp</name>
|
| 111 |
+
<type>1</type>
|
| 112 |
+
<locationURI>PARENT-3-PROJECT_LOC/OnDiskPt/Phrase.cpp</locationURI>
|
| 113 |
+
</link>
|
| 114 |
+
<link>
|
| 115 |
+
<name>Phrase.h</name>
|
| 116 |
+
<type>1</type>
|
| 117 |
+
<locationURI>PARENT-3-PROJECT_LOC/OnDiskPt/Phrase.h</locationURI>
|
| 118 |
+
</link>
|
| 119 |
+
<link>
|
| 120 |
+
<name>PhraseNode.cpp</name>
|
| 121 |
+
<type>1</type>
|
| 122 |
+
<locationURI>PARENT-3-PROJECT_LOC/OnDiskPt/PhraseNode.cpp</locationURI>
|
| 123 |
+
</link>
|
| 124 |
+
<link>
|
| 125 |
+
<name>PhraseNode.h</name>
|
| 126 |
+
<type>1</type>
|
| 127 |
+
<locationURI>PARENT-3-PROJECT_LOC/OnDiskPt/PhraseNode.h</locationURI>
|
| 128 |
+
</link>
|
| 129 |
+
<link>
|
| 130 |
+
<name>SourcePhrase.cpp</name>
|
| 131 |
+
<type>1</type>
|
| 132 |
+
<locationURI>PARENT-3-PROJECT_LOC/OnDiskPt/SourcePhrase.cpp</locationURI>
|
| 133 |
+
</link>
|
| 134 |
+
<link>
|
| 135 |
+
<name>SourcePhrase.h</name>
|
| 136 |
+
<type>1</type>
|
| 137 |
+
<locationURI>PARENT-3-PROJECT_LOC/OnDiskPt/SourcePhrase.h</locationURI>
|
| 138 |
+
</link>
|
| 139 |
+
<link>
|
| 140 |
+
<name>TargetPhrase.cpp</name>
|
| 141 |
+
<type>1</type>
|
| 142 |
+
<locationURI>PARENT-3-PROJECT_LOC/OnDiskPt/TargetPhrase.cpp</locationURI>
|
| 143 |
+
</link>
|
| 144 |
+
<link>
|
| 145 |
+
<name>TargetPhrase.h</name>
|
| 146 |
+
<type>1</type>
|
| 147 |
+
<locationURI>PARENT-3-PROJECT_LOC/OnDiskPt/TargetPhrase.h</locationURI>
|
| 148 |
+
</link>
|
| 149 |
+
<link>
|
| 150 |
+
<name>TargetPhraseCollection.cpp</name>
|
| 151 |
+
<type>1</type>
|
| 152 |
+
<locationURI>PARENT-3-PROJECT_LOC/OnDiskPt/TargetPhraseCollection.cpp</locationURI>
|
| 153 |
+
</link>
|
| 154 |
+
<link>
|
| 155 |
+
<name>TargetPhraseCollection.h</name>
|
| 156 |
+
<type>1</type>
|
| 157 |
+
<locationURI>PARENT-3-PROJECT_LOC/OnDiskPt/TargetPhraseCollection.h</locationURI>
|
| 158 |
+
</link>
|
| 159 |
+
<link>
|
| 160 |
+
<name>Vocab.cpp</name>
|
| 161 |
+
<type>1</type>
|
| 162 |
+
<locationURI>PARENT-3-PROJECT_LOC/OnDiskPt/Vocab.cpp</locationURI>
|
| 163 |
+
</link>
|
| 164 |
+
<link>
|
| 165 |
+
<name>Vocab.h</name>
|
| 166 |
+
<type>1</type>
|
| 167 |
+
<locationURI>PARENT-3-PROJECT_LOC/OnDiskPt/Vocab.h</locationURI>
|
| 168 |
+
</link>
|
| 169 |
+
<link>
|
| 170 |
+
<name>Word.cpp</name>
|
| 171 |
+
<type>1</type>
|
| 172 |
+
<locationURI>PARENT-3-PROJECT_LOC/OnDiskPt/Word.cpp</locationURI>
|
| 173 |
+
</link>
|
| 174 |
+
<link>
|
| 175 |
+
<name>Word.h</name>
|
| 176 |
+
<type>1</type>
|
| 177 |
+
<locationURI>PARENT-3-PROJECT_LOC/OnDiskPt/Word.h</locationURI>
|
| 178 |
+
</link>
|
| 179 |
+
<link>
|
| 180 |
+
<name>queryOnDiskPt.cpp</name>
|
| 181 |
+
<type>1</type>
|
| 182 |
+
<locationURI>PARENT-3-PROJECT_LOC/OnDiskPt/queryOnDiskPt.cpp</locationURI>
|
| 183 |
+
</link>
|
| 184 |
+
</linkedResources>
|
| 185 |
+
</projectDescription>
|
mosesdecoder/contrib/other-builds/OnDiskPt/OnDiskPt.project
ADDED
|
@@ -0,0 +1,140 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
<?xml version="1.0" encoding="UTF-8"?>
|
| 2 |
+
<CodeLite_Project Name="OnDiskPt" InternalType="Library">
|
| 3 |
+
<Plugins>
|
| 4 |
+
<Plugin Name="CMakePlugin">
|
| 5 |
+
<![CDATA[[{
|
| 6 |
+
"name": "Debug",
|
| 7 |
+
"enabled": false,
|
| 8 |
+
"buildDirectory": "build",
|
| 9 |
+
"sourceDirectory": "$(ProjectPath)",
|
| 10 |
+
"generator": "",
|
| 11 |
+
"buildType": "",
|
| 12 |
+
"arguments": [],
|
| 13 |
+
"parentProject": ""
|
| 14 |
+
}]]]>
|
| 15 |
+
</Plugin>
|
| 16 |
+
<Plugin Name="qmake">
|
| 17 |
+
<![CDATA[00010001N0005Debug000000000000]]>
|
| 18 |
+
</Plugin>
|
| 19 |
+
</Plugins>
|
| 20 |
+
<Description/>
|
| 21 |
+
<Dependencies/>
|
| 22 |
+
<VirtualDirectory Name="src"/>
|
| 23 |
+
<VirtualDirectory Name="include"/>
|
| 24 |
+
<VirtualDirectory Name="OnDiskPt">
|
| 25 |
+
<File Name="../../../OnDiskPt/Main.cpp"/>
|
| 26 |
+
<File Name="../../../OnDiskPt/Main.h"/>
|
| 27 |
+
<File Name="../../../OnDiskPt/OnDiskQuery.cpp"/>
|
| 28 |
+
<File Name="../../../OnDiskPt/OnDiskQuery.h"/>
|
| 29 |
+
<File Name="../../../OnDiskPt/OnDiskWrapper.cpp"/>
|
| 30 |
+
<File Name="../../../OnDiskPt/OnDiskWrapper.h"/>
|
| 31 |
+
<File Name="../../../OnDiskPt/Phrase.cpp"/>
|
| 32 |
+
<File Name="../../../OnDiskPt/Phrase.h"/>
|
| 33 |
+
<File Name="../../../OnDiskPt/PhraseNode.cpp"/>
|
| 34 |
+
<File Name="../../../OnDiskPt/PhraseNode.h"/>
|
| 35 |
+
<File Name="../../../OnDiskPt/queryOnDiskPt.cpp"/>
|
| 36 |
+
<File Name="../../../OnDiskPt/SourcePhrase.cpp"/>
|
| 37 |
+
<File Name="../../../OnDiskPt/SourcePhrase.h"/>
|
| 38 |
+
<File Name="../../../OnDiskPt/TargetPhrase.cpp"/>
|
| 39 |
+
<File Name="../../../OnDiskPt/TargetPhrase.h"/>
|
| 40 |
+
<File Name="../../../OnDiskPt/TargetPhraseCollection.cpp"/>
|
| 41 |
+
<File Name="../../../OnDiskPt/TargetPhraseCollection.h"/>
|
| 42 |
+
<File Name="../../../OnDiskPt/Vocab.cpp"/>
|
| 43 |
+
<File Name="../../../OnDiskPt/Vocab.h"/>
|
| 44 |
+
<File Name="../../../OnDiskPt/Word.cpp"/>
|
| 45 |
+
<File Name="../../../OnDiskPt/Word.h"/>
|
| 46 |
+
</VirtualDirectory>
|
| 47 |
+
<Dependencies Name="Debug"/>
|
| 48 |
+
<Dependencies Name="Release"/>
|
| 49 |
+
<Settings Type="Static Library">
|
| 50 |
+
<GlobalSettings>
|
| 51 |
+
<Compiler Options="" C_Options="" Assembler="">
|
| 52 |
+
<IncludePath Value="."/>
|
| 53 |
+
</Compiler>
|
| 54 |
+
<Linker Options="">
|
| 55 |
+
<LibraryPath Value="."/>
|
| 56 |
+
</Linker>
|
| 57 |
+
<ResourceCompiler Options=""/>
|
| 58 |
+
</GlobalSettings>
|
| 59 |
+
<Configuration Name="Debug" CompilerType="GCC" DebuggerType="LLDB Debugger" Type="Static Library" BuildCmpWithGlobalSettings="append" BuildLnkWithGlobalSettings="append" BuildResWithGlobalSettings="append">
|
| 60 |
+
<Compiler Options="-g" C_Options="-g" Assembler="" Required="yes" PreCompiledHeader="" PCHInCommandLine="no" PCHFlags="" PCHFlagsPolicy="0">
|
| 61 |
+
<IncludePath Value="."/>
|
| 62 |
+
<IncludePath Value="../../.."/>
|
| 63 |
+
<IncludePath Value="../../../phrase-extract"/>
|
| 64 |
+
<IncludePath Value="../../../boost/include"/>
|
| 65 |
+
<Preprocessor Value="MAX_NUM_FACTORS=4"/>
|
| 66 |
+
</Compiler>
|
| 67 |
+
<Linker Options="" Required="yes"/>
|
| 68 |
+
<ResourceCompiler Options="" Required="no"/>
|
| 69 |
+
<General OutputFile="$(IntermediateDirectory)/lib$(ProjectName).a" IntermediateDirectory="./Debug" Command="" CommandArguments="" UseSeparateDebugArgs="no" DebugArguments="" WorkingDirectory="$(IntermediateDirectory)" PauseExecWhenProcTerminates="yes" IsGUIProgram="no" IsEnabled="yes"/>
|
| 70 |
+
<Environment EnvVarSetName="<Use Defaults>" DbgSetName="<Use Defaults>">
|
| 71 |
+
<![CDATA[]]>
|
| 72 |
+
</Environment>
|
| 73 |
+
<Debugger IsRemote="no" RemoteHostName="" RemoteHostPort="" DebuggerPath="" IsExtended="yes">
|
| 74 |
+
<DebuggerSearchPaths/>
|
| 75 |
+
<PostConnectCommands/>
|
| 76 |
+
<StartupCommands/>
|
| 77 |
+
</Debugger>
|
| 78 |
+
<PreBuild/>
|
| 79 |
+
<PostBuild/>
|
| 80 |
+
<CustomBuild Enabled="no">
|
| 81 |
+
<RebuildCommand/>
|
| 82 |
+
<CleanCommand/>
|
| 83 |
+
<BuildCommand/>
|
| 84 |
+
<PreprocessFileCommand/>
|
| 85 |
+
<SingleFileCommand/>
|
| 86 |
+
<MakefileGenerationCommand/>
|
| 87 |
+
<ThirdPartyToolName/>
|
| 88 |
+
<WorkingDirectory/>
|
| 89 |
+
</CustomBuild>
|
| 90 |
+
<AdditionalRules>
|
| 91 |
+
<CustomPostBuild/>
|
| 92 |
+
<CustomPreBuild/>
|
| 93 |
+
</AdditionalRules>
|
| 94 |
+
<Completion EnableCpp11="no" EnableCpp14="no">
|
| 95 |
+
<ClangCmpFlagsC/>
|
| 96 |
+
<ClangCmpFlags/>
|
| 97 |
+
<ClangPP/>
|
| 98 |
+
<SearchPaths/>
|
| 99 |
+
</Completion>
|
| 100 |
+
</Configuration>
|
| 101 |
+
<Configuration Name="Release" CompilerType="clang( based on LLVM 3.5svn )" DebuggerType="LLDB Debugger" Type="Static Library" BuildCmpWithGlobalSettings="append" BuildLnkWithGlobalSettings="append" BuildResWithGlobalSettings="append">
|
| 102 |
+
<Compiler Options="" C_Options="" Assembler="" Required="yes" PreCompiledHeader="" PCHInCommandLine="no" PCHFlags="" PCHFlagsPolicy="0">
|
| 103 |
+
<IncludePath Value="."/>
|
| 104 |
+
</Compiler>
|
| 105 |
+
<Linker Options="" Required="yes"/>
|
| 106 |
+
<ResourceCompiler Options="" Required="no"/>
|
| 107 |
+
<General OutputFile="$(IntermediateDirectory)/lib$(ProjectName).a" IntermediateDirectory="./Release" Command="" CommandArguments="" UseSeparateDebugArgs="no" DebugArguments="" WorkingDirectory="$(IntermediateDirectory)" PauseExecWhenProcTerminates="yes" IsGUIProgram="no" IsEnabled="yes"/>
|
| 108 |
+
<Environment EnvVarSetName="<Use Defaults>" DbgSetName="<Use Defaults>">
|
| 109 |
+
<![CDATA[]]>
|
| 110 |
+
</Environment>
|
| 111 |
+
<Debugger IsRemote="no" RemoteHostName="" RemoteHostPort="" DebuggerPath="" IsExtended="yes">
|
| 112 |
+
<DebuggerSearchPaths/>
|
| 113 |
+
<PostConnectCommands/>
|
| 114 |
+
<StartupCommands/>
|
| 115 |
+
</Debugger>
|
| 116 |
+
<PreBuild/>
|
| 117 |
+
<PostBuild/>
|
| 118 |
+
<CustomBuild Enabled="no">
|
| 119 |
+
<RebuildCommand/>
|
| 120 |
+
<CleanCommand/>
|
| 121 |
+
<BuildCommand/>
|
| 122 |
+
<PreprocessFileCommand/>
|
| 123 |
+
<SingleFileCommand/>
|
| 124 |
+
<MakefileGenerationCommand/>
|
| 125 |
+
<ThirdPartyToolName/>
|
| 126 |
+
<WorkingDirectory/>
|
| 127 |
+
</CustomBuild>
|
| 128 |
+
<AdditionalRules>
|
| 129 |
+
<CustomPostBuild/>
|
| 130 |
+
<CustomPreBuild/>
|
| 131 |
+
</AdditionalRules>
|
| 132 |
+
<Completion EnableCpp11="no" EnableCpp14="no">
|
| 133 |
+
<ClangCmpFlagsC/>
|
| 134 |
+
<ClangCmpFlags/>
|
| 135 |
+
<ClangPP/>
|
| 136 |
+
<SearchPaths/>
|
| 137 |
+
</Completion>
|
| 138 |
+
</Configuration>
|
| 139 |
+
</Settings>
|
| 140 |
+
</CodeLite_Project>
|
mosesdecoder/contrib/other-builds/all.workspace
ADDED
|
@@ -0,0 +1,44 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
<?xml version="1.0" encoding="UTF-8"?>
|
| 2 |
+
<CodeLite_Workspace Name="all" Database="all.tags">
|
| 3 |
+
<Project Name="extract" Path="extract/extract.project" Active="No"/>
|
| 4 |
+
<Project Name="util" Path="util/util.project" Active="No"/>
|
| 5 |
+
<Project Name="extract-mixed-syntax" Path="extract-mixed-syntax/extract-mixed-syntax.project" Active="No"/>
|
| 6 |
+
<Project Name="lm" Path="lm/lm.project" Active="No"/>
|
| 7 |
+
<Project Name="OnDiskPt" Path="OnDiskPt/OnDiskPt.project" Active="No"/>
|
| 8 |
+
<Project Name="search" Path="search/search.project" Active="No"/>
|
| 9 |
+
<Project Name="moses-cmd" Path="moses-cmd/moses-cmd.project" Active="No"/>
|
| 10 |
+
<Project Name="score" Path="score/score.project" Active="No"/>
|
| 11 |
+
<Project Name="consolidate" Path="consolidate/consolidate.project" Active="No"/>
|
| 12 |
+
<Project Name="moses" Path="moses/moses.project" Active="No"/>
|
| 13 |
+
<Project Name="pruneGeneration" Path="pruneGeneration/pruneGeneration.project" Active="Yes"/>
|
| 14 |
+
<BuildMatrix>
|
| 15 |
+
<WorkspaceConfiguration Name="Debug" Selected="yes">
|
| 16 |
+
<Project Name="manual-label" ConfigName="Debug"/>
|
| 17 |
+
<Project Name="extract" ConfigName="Debug"/>
|
| 18 |
+
<Project Name="util" ConfigName="Debug"/>
|
| 19 |
+
<Project Name="extract-mixed-syntax" ConfigName="Debug"/>
|
| 20 |
+
<Project Name="lm" ConfigName="Debug"/>
|
| 21 |
+
<Project Name="OnDiskPt" ConfigName="Debug"/>
|
| 22 |
+
<Project Name="search" ConfigName="Debug"/>
|
| 23 |
+
<Project Name="moses-cmd" ConfigName="Debug"/>
|
| 24 |
+
<Project Name="score" ConfigName="Debug"/>
|
| 25 |
+
<Project Name="consolidate" ConfigName="Debug"/>
|
| 26 |
+
<Project Name="moses" ConfigName="Debug"/>
|
| 27 |
+
<Project Name="pruneGeneration" ConfigName="Debug"/>
|
| 28 |
+
</WorkspaceConfiguration>
|
| 29 |
+
<WorkspaceConfiguration Name="Release" Selected="yes">
|
| 30 |
+
<Project Name="manual-label" ConfigName="Release"/>
|
| 31 |
+
<Project Name="extract" ConfigName="Release"/>
|
| 32 |
+
<Project Name="util" ConfigName="Release"/>
|
| 33 |
+
<Project Name="extract-mixed-syntax" ConfigName="Release"/>
|
| 34 |
+
<Project Name="lm" ConfigName="Release"/>
|
| 35 |
+
<Project Name="OnDiskPt" ConfigName="Release"/>
|
| 36 |
+
<Project Name="search" ConfigName="Release"/>
|
| 37 |
+
<Project Name="moses-cmd" ConfigName="Release"/>
|
| 38 |
+
<Project Name="score" ConfigName="Release"/>
|
| 39 |
+
<Project Name="consolidate" ConfigName="Release"/>
|
| 40 |
+
<Project Name="moses" ConfigName="Release"/>
|
| 41 |
+
<Project Name="pruneGeneration" ConfigName="Release"/>
|
| 42 |
+
</WorkspaceConfiguration>
|
| 43 |
+
</BuildMatrix>
|
| 44 |
+
</CodeLite_Workspace>
|
mosesdecoder/contrib/other-builds/cmake/boost.example/CMakeLists.txt
ADDED
|
@@ -0,0 +1,7 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
cmake_minimum_required(VERSION 2.8)
|
| 2 |
+
|
| 3 |
+
find_package(Boost 1.36.0 REQUIRED COMPONENTS locale)
|
| 4 |
+
|
| 5 |
+
include_directories(${Boost_INCLUDE_DIRS})
|
| 6 |
+
add_executable(demo main.cpp)
|
| 7 |
+
target_link_libraries(demo ${Boost_LIBRARIES})
|
mosesdecoder/contrib/other-builds/consolidate/.cproject
ADDED
|
@@ -0,0 +1,165 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
| 2 |
+
<?fileVersion 4.0.0?><cproject storage_type_id="org.eclipse.cdt.core.XmlProjectDescriptionStorage">
|
| 3 |
+
<storageModule moduleId="org.eclipse.cdt.core.settings">
|
| 4 |
+
<cconfiguration id="cdt.managedbuild.config.gnu.exe.debug.2091728208">
|
| 5 |
+
<storageModule buildSystemId="org.eclipse.cdt.managedbuilder.core.configurationDataProvider" id="cdt.managedbuild.config.gnu.exe.debug.2091728208" moduleId="org.eclipse.cdt.core.settings" name="Debug">
|
| 6 |
+
<externalSettings/>
|
| 7 |
+
<extensions>
|
| 8 |
+
<extension id="org.eclipse.cdt.core.GNU_ELF" point="org.eclipse.cdt.core.BinaryParser"/>
|
| 9 |
+
<extension id="org.eclipse.cdt.core.GmakeErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
|
| 10 |
+
<extension id="org.eclipse.cdt.core.CWDLocator" point="org.eclipse.cdt.core.ErrorParser"/>
|
| 11 |
+
<extension id="org.eclipse.cdt.core.GCCErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
|
| 12 |
+
<extension id="org.eclipse.cdt.core.GASErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
|
| 13 |
+
<extension id="org.eclipse.cdt.core.GLDErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
|
| 14 |
+
</extensions>
|
| 15 |
+
</storageModule>
|
| 16 |
+
<storageModule moduleId="cdtBuildSystem" version="4.0.0">
|
| 17 |
+
<configuration artifactName="${ProjName}" buildArtefactType="org.eclipse.cdt.build.core.buildArtefactType.exe" buildProperties="org.eclipse.cdt.build.core.buildArtefactType=org.eclipse.cdt.build.core.buildArtefactType.exe,org.eclipse.cdt.build.core.buildType=org.eclipse.cdt.build.core.buildType.debug" cleanCommand="rm -rf" description="" id="cdt.managedbuild.config.gnu.exe.debug.2091728208" name="Debug" parent="cdt.managedbuild.config.gnu.exe.debug">
|
| 18 |
+
<folderInfo id="cdt.managedbuild.config.gnu.exe.debug.2091728208." name="/" resourcePath="">
|
| 19 |
+
<toolChain id="cdt.managedbuild.toolchain.gnu.exe.debug.69362991" name="Linux GCC" superClass="cdt.managedbuild.toolchain.gnu.exe.debug">
|
| 20 |
+
<targetPlatform id="cdt.managedbuild.target.gnu.platform.exe.debug.641760346" name="Debug Platform" superClass="cdt.managedbuild.target.gnu.platform.exe.debug"/>
|
| 21 |
+
<builder buildPath="${workspace_loc:/consolidate}/Debug" id="cdt.managedbuild.target.gnu.builder.exe.debug.1286696537" keepEnvironmentInBuildfile="false" managedBuildOn="true" name="Gnu Make Builder" parallelBuildOn="true" parallelizationNumber="optimal" superClass="cdt.managedbuild.target.gnu.builder.exe.debug"/>
|
| 22 |
+
<tool id="cdt.managedbuild.tool.gnu.archiver.base.1571215005" name="GCC Archiver" superClass="cdt.managedbuild.tool.gnu.archiver.base"/>
|
| 23 |
+
<tool id="cdt.managedbuild.tool.gnu.cpp.compiler.exe.debug.1626949654" name="GCC C++ Compiler" superClass="cdt.managedbuild.tool.gnu.cpp.compiler.exe.debug">
|
| 24 |
+
<option id="gnu.cpp.compiler.exe.debug.option.optimization.level.1186248186" name="Optimization Level" superClass="gnu.cpp.compiler.exe.debug.option.optimization.level" useByScannerDiscovery="false" value="gnu.cpp.compiler.optimization.level.none" valueType="enumerated"/>
|
| 25 |
+
<option id="gnu.cpp.compiler.exe.debug.option.debugging.level.1416850495" name="Debug Level" superClass="gnu.cpp.compiler.exe.debug.option.debugging.level" useByScannerDiscovery="false" value="gnu.cpp.compiler.debugging.level.max" valueType="enumerated"/>
|
| 26 |
+
<option id="gnu.cpp.compiler.option.include.paths.534201039" name="Include paths (-I)" superClass="gnu.cpp.compiler.option.include.paths" useByScannerDiscovery="false" valueType="includePath">
|
| 27 |
+
<listOptionValue builtIn="false" value=""${workspace_loc}/../..""/>
|
| 28 |
+
<listOptionValue builtIn="false" value=""${workspace_loc:}/../../boost/include""/>
|
| 29 |
+
</option>
|
| 30 |
+
<inputType id="cdt.managedbuild.tool.gnu.cpp.compiler.input.1468157552" superClass="cdt.managedbuild.tool.gnu.cpp.compiler.input"/>
|
| 31 |
+
</tool>
|
| 32 |
+
<tool id="cdt.managedbuild.tool.gnu.c.compiler.exe.debug.82249493" name="GCC C Compiler" superClass="cdt.managedbuild.tool.gnu.c.compiler.exe.debug">
|
| 33 |
+
<option defaultValue="gnu.c.optimization.level.none" id="gnu.c.compiler.exe.debug.option.optimization.level.83105790" name="Optimization Level" superClass="gnu.c.compiler.exe.debug.option.optimization.level" useByScannerDiscovery="false" valueType="enumerated"/>
|
| 34 |
+
<option id="gnu.c.compiler.exe.debug.option.debugging.level.937329669" name="Debug Level" superClass="gnu.c.compiler.exe.debug.option.debugging.level" useByScannerDiscovery="false" value="gnu.c.debugging.level.max" valueType="enumerated"/>
|
| 35 |
+
<option id="gnu.c.compiler.option.dialect.std.1673130461" superClass="gnu.c.compiler.option.dialect.std" useByScannerDiscovery="true" value="gnu.c.compiler.dialect.c11" valueType="enumerated"/>
|
| 36 |
+
<inputType id="cdt.managedbuild.tool.gnu.c.compiler.input.461173729" superClass="cdt.managedbuild.tool.gnu.c.compiler.input"/>
|
| 37 |
+
</tool>
|
| 38 |
+
<tool id="cdt.managedbuild.tool.gnu.c.linker.exe.debug.1950007837" name="GCC C Linker" superClass="cdt.managedbuild.tool.gnu.c.linker.exe.debug"/>
|
| 39 |
+
<tool id="cdt.managedbuild.tool.gnu.cpp.linker.exe.debug.110628197" name="GCC C++ Linker" superClass="cdt.managedbuild.tool.gnu.cpp.linker.exe.debug">
|
| 40 |
+
<option id="gnu.cpp.link.option.libs.1393924562" name="Libraries (-l)" superClass="gnu.cpp.link.option.libs" valueType="libs">
|
| 41 |
+
<listOptionValue builtIn="false" value="moses"/>
|
| 42 |
+
<listOptionValue builtIn="false" value="search"/>
|
| 43 |
+
<listOptionValue builtIn="false" value="OnDiskPt"/>
|
| 44 |
+
<listOptionValue builtIn="false" value="lm"/>
|
| 45 |
+
<listOptionValue builtIn="false" value="util"/>
|
| 46 |
+
<listOptionValue builtIn="false" value="boost_iostreams"/>
|
| 47 |
+
<listOptionValue builtIn="false" value="boost_serialization"/>
|
| 48 |
+
<listOptionValue builtIn="false" value="boost_system"/>
|
| 49 |
+
<listOptionValue builtIn="false" value="boost_thread"/>
|
| 50 |
+
<listOptionValue builtIn="false" value="boost_filesystem"/>
|
| 51 |
+
<listOptionValue builtIn="false" value="boost_program_options"/>
|
| 52 |
+
<listOptionValue builtIn="false" value="pthread"/>
|
| 53 |
+
<listOptionValue builtIn="false" value="z"/>
|
| 54 |
+
<listOptionValue builtIn="false" value="bz2"/>
|
| 55 |
+
<listOptionValue builtIn="false" value="dl"/>
|
| 56 |
+
<listOptionValue builtIn="false" value="rt"/>
|
| 57 |
+
</option>
|
| 58 |
+
<option id="gnu.cpp.link.option.paths.1967422094" name="Library search path (-L)" superClass="gnu.cpp.link.option.paths" valueType="libPaths">
|
| 59 |
+
<listOptionValue builtIn="false" value=""${workspace_loc:}/../../boost/lib64""/>
|
| 60 |
+
<listOptionValue builtIn="false" value=""${workspace_loc:}/moses/Debug""/>
|
| 61 |
+
<listOptionValue builtIn="false" value=""${workspace_loc:}/util/Debug""/>
|
| 62 |
+
<listOptionValue builtIn="false" value=""${workspace_loc:}/search/Debug""/>
|
| 63 |
+
<listOptionValue builtIn="false" value=""${workspace_loc:}/lm/Debug""/>
|
| 64 |
+
<listOptionValue builtIn="false" value=""${workspace_loc:}/OnDiskPt/Debug""/>
|
| 65 |
+
<listOptionValue builtIn="false" value="/opt/local/lib"/>
|
| 66 |
+
</option>
|
| 67 |
+
<inputType id="cdt.managedbuild.tool.gnu.cpp.linker.input.1093223502" superClass="cdt.managedbuild.tool.gnu.cpp.linker.input">
|
| 68 |
+
<additionalInput kind="additionalinputdependency" paths="$(USER_OBJS)"/>
|
| 69 |
+
<additionalInput kind="additionalinput" paths="$(LIBS)"/>
|
| 70 |
+
</inputType>
|
| 71 |
+
</tool>
|
| 72 |
+
<tool id="cdt.managedbuild.tool.gnu.assembler.exe.debug.1334927727" name="GCC Assembler" superClass="cdt.managedbuild.tool.gnu.assembler.exe.debug">
|
| 73 |
+
<inputType id="cdt.managedbuild.tool.gnu.assembler.input.197989377" superClass="cdt.managedbuild.tool.gnu.assembler.input"/>
|
| 74 |
+
</tool>
|
| 75 |
+
</toolChain>
|
| 76 |
+
</folderInfo>
|
| 77 |
+
<fileInfo id="cdt.managedbuild.config.gnu.exe.debug.2091728208.911524129" name="PropertiesConsolidator.cpp" rcbsApplicability="disable" resourcePath="PropertiesConsolidator.cpp" toolsToInvoke="cdt.managedbuild.tool.gnu.cpp.compiler.exe.debug.1626949654.741737356">
|
| 78 |
+
<tool id="cdt.managedbuild.tool.gnu.cpp.compiler.exe.debug.1626949654.741737356" name="GCC C++ Compiler" superClass="cdt.managedbuild.tool.gnu.cpp.compiler.exe.debug.1626949654">
|
| 79 |
+
<option id="gnu.cpp.compiler.option.include.paths.858416673" name="Include paths (-I)" superClass="gnu.cpp.compiler.option.include.paths" valueType="includePath">
|
| 80 |
+
<listOptionValue builtIn="false" value=""${workspace_loc:}/../../boost/include""/>
|
| 81 |
+
<listOptionValue builtIn="false" value=""${workspace_loc}/../..""/>
|
| 82 |
+
</option>
|
| 83 |
+
<inputType id="cdt.managedbuild.tool.gnu.cpp.compiler.input.2042647079" superClass="cdt.managedbuild.tool.gnu.cpp.compiler.input"/>
|
| 84 |
+
</tool>
|
| 85 |
+
</fileInfo>
|
| 86 |
+
</configuration>
|
| 87 |
+
</storageModule>
|
| 88 |
+
<storageModule moduleId="org.eclipse.cdt.core.externalSettings"/>
|
| 89 |
+
</cconfiguration>
|
| 90 |
+
<cconfiguration id="cdt.managedbuild.config.gnu.exe.release.185559773">
|
| 91 |
+
<storageModule buildSystemId="org.eclipse.cdt.managedbuilder.core.configurationDataProvider" id="cdt.managedbuild.config.gnu.exe.release.185559773" moduleId="org.eclipse.cdt.core.settings" name="Release">
|
| 92 |
+
<externalSettings/>
|
| 93 |
+
<extensions>
|
| 94 |
+
<extension id="org.eclipse.cdt.core.GNU_ELF" point="org.eclipse.cdt.core.BinaryParser"/>
|
| 95 |
+
<extension id="org.eclipse.cdt.core.GmakeErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
|
| 96 |
+
<extension id="org.eclipse.cdt.core.CWDLocator" point="org.eclipse.cdt.core.ErrorParser"/>
|
| 97 |
+
<extension id="org.eclipse.cdt.core.GCCErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
|
| 98 |
+
<extension id="org.eclipse.cdt.core.GASErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
|
| 99 |
+
<extension id="org.eclipse.cdt.core.GLDErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
|
| 100 |
+
</extensions>
|
| 101 |
+
</storageModule>
|
| 102 |
+
<storageModule moduleId="cdtBuildSystem" version="4.0.0">
|
| 103 |
+
<configuration artifactName="${ProjName}" buildArtefactType="org.eclipse.cdt.build.core.buildArtefactType.exe" buildProperties="org.eclipse.cdt.build.core.buildArtefactType=org.eclipse.cdt.build.core.buildArtefactType.exe,org.eclipse.cdt.build.core.buildType=org.eclipse.cdt.build.core.buildType.release" cleanCommand="rm -rf" description="" id="cdt.managedbuild.config.gnu.exe.release.185559773" name="Release" parent="cdt.managedbuild.config.gnu.exe.release">
|
| 104 |
+
<folderInfo id="cdt.managedbuild.config.gnu.exe.release.185559773." name="/" resourcePath="">
|
| 105 |
+
<toolChain id="cdt.managedbuild.toolchain.gnu.exe.release.33298530" name="Linux GCC" superClass="cdt.managedbuild.toolchain.gnu.exe.release">
|
| 106 |
+
<targetPlatform id="cdt.managedbuild.target.gnu.platform.exe.release.1524270442" name="Debug Platform" superClass="cdt.managedbuild.target.gnu.platform.exe.release"/>
|
| 107 |
+
<builder buildPath="${workspace_loc:/consolidate}/Release" id="cdt.managedbuild.target.gnu.builder.exe.release.1812036307" keepEnvironmentInBuildfile="false" managedBuildOn="true" name="Gnu Make Builder" superClass="cdt.managedbuild.target.gnu.builder.exe.release"/>
|
| 108 |
+
<tool id="cdt.managedbuild.tool.gnu.archiver.base.1942293389" name="GCC Archiver" superClass="cdt.managedbuild.tool.gnu.archiver.base"/>
|
| 109 |
+
<tool id="cdt.managedbuild.tool.gnu.cpp.compiler.exe.release.520681695" name="GCC C++ Compiler" superClass="cdt.managedbuild.tool.gnu.cpp.compiler.exe.release">
|
| 110 |
+
<option id="gnu.cpp.compiler.exe.release.option.optimization.level.649091161" name="Optimization Level" superClass="gnu.cpp.compiler.exe.release.option.optimization.level" useByScannerDiscovery="false" value="gnu.cpp.compiler.optimization.level.most" valueType="enumerated"/>
|
| 111 |
+
<option id="gnu.cpp.compiler.exe.release.option.debugging.level.1279967053" name="Debug Level" superClass="gnu.cpp.compiler.exe.release.option.debugging.level" useByScannerDiscovery="false" value="gnu.cpp.compiler.debugging.level.none" valueType="enumerated"/>
|
| 112 |
+
<inputType id="cdt.managedbuild.tool.gnu.cpp.compiler.input.624630717" superClass="cdt.managedbuild.tool.gnu.cpp.compiler.input"/>
|
| 113 |
+
</tool>
|
| 114 |
+
<tool id="cdt.managedbuild.tool.gnu.c.compiler.exe.release.233526141" name="GCC C Compiler" superClass="cdt.managedbuild.tool.gnu.c.compiler.exe.release">
|
| 115 |
+
<option defaultValue="gnu.c.optimization.level.most" id="gnu.c.compiler.exe.release.option.optimization.level.1882834640" name="Optimization Level" superClass="gnu.c.compiler.exe.release.option.optimization.level" useByScannerDiscovery="false" valueType="enumerated"/>
|
| 116 |
+
<option id="gnu.c.compiler.exe.release.option.debugging.level.1438334736" name="Debug Level" superClass="gnu.c.compiler.exe.release.option.debugging.level" useByScannerDiscovery="false" value="gnu.c.debugging.level.none" valueType="enumerated"/>
|
| 117 |
+
<inputType id="cdt.managedbuild.tool.gnu.c.compiler.input.1338220126" superClass="cdt.managedbuild.tool.gnu.c.compiler.input"/>
|
| 118 |
+
</tool>
|
| 119 |
+
<tool id="cdt.managedbuild.tool.gnu.c.linker.exe.release.2105674082" name="GCC C Linker" superClass="cdt.managedbuild.tool.gnu.c.linker.exe.release"/>
|
| 120 |
+
<tool id="cdt.managedbuild.tool.gnu.cpp.linker.exe.release.1531731895" name="GCC C++ Linker" superClass="cdt.managedbuild.tool.gnu.cpp.linker.exe.release">
|
| 121 |
+
<inputType id="cdt.managedbuild.tool.gnu.cpp.linker.input.286541559" superClass="cdt.managedbuild.tool.gnu.cpp.linker.input">
|
| 122 |
+
<additionalInput kind="additionalinputdependency" paths="$(USER_OBJS)"/>
|
| 123 |
+
<additionalInput kind="additionalinput" paths="$(LIBS)"/>
|
| 124 |
+
</inputType>
|
| 125 |
+
</tool>
|
| 126 |
+
<tool id="cdt.managedbuild.tool.gnu.assembler.exe.release.1075374533" name="GCC Assembler" superClass="cdt.managedbuild.tool.gnu.assembler.exe.release">
|
| 127 |
+
<inputType id="cdt.managedbuild.tool.gnu.assembler.input.231041028" superClass="cdt.managedbuild.tool.gnu.assembler.input"/>
|
| 128 |
+
</tool>
|
| 129 |
+
</toolChain>
|
| 130 |
+
</folderInfo>
|
| 131 |
+
</configuration>
|
| 132 |
+
</storageModule>
|
| 133 |
+
<storageModule moduleId="org.eclipse.cdt.core.externalSettings"/>
|
| 134 |
+
</cconfiguration>
|
| 135 |
+
</storageModule>
|
| 136 |
+
<storageModule moduleId="cdtBuildSystem" version="4.0.0">
|
| 137 |
+
<project id="consolidate.cdt.managedbuild.target.gnu.exe.1024637209" name="Executable" projectType="cdt.managedbuild.target.gnu.exe"/>
|
| 138 |
+
</storageModule>
|
| 139 |
+
<storageModule moduleId="scannerConfiguration">
|
| 140 |
+
<autodiscovery enabled="true" problemReportingEnabled="true" selectedProfileId=""/>
|
| 141 |
+
<scannerConfigBuildInfo instanceId="cdt.managedbuild.config.gnu.exe.debug.2091728208;cdt.managedbuild.config.gnu.exe.debug.2091728208.;cdt.managedbuild.tool.gnu.cpp.compiler.exe.debug.1626949654;cdt.managedbuild.tool.gnu.cpp.compiler.input.1468157552">
|
| 142 |
+
<autodiscovery enabled="true" problemReportingEnabled="true" selectedProfileId=""/>
|
| 143 |
+
</scannerConfigBuildInfo>
|
| 144 |
+
<scannerConfigBuildInfo instanceId="cdt.managedbuild.config.gnu.exe.debug.2091728208;cdt.managedbuild.config.gnu.exe.debug.2091728208.;cdt.managedbuild.tool.gnu.c.compiler.exe.debug.82249493;cdt.managedbuild.tool.gnu.c.compiler.input.461173729">
|
| 145 |
+
<autodiscovery enabled="true" problemReportingEnabled="true" selectedProfileId=""/>
|
| 146 |
+
</scannerConfigBuildInfo>
|
| 147 |
+
<scannerConfigBuildInfo instanceId="cdt.managedbuild.config.gnu.exe.release.185559773;cdt.managedbuild.config.gnu.exe.release.185559773.;cdt.managedbuild.tool.gnu.c.compiler.exe.release.233526141;cdt.managedbuild.tool.gnu.c.compiler.input.1338220126">
|
| 148 |
+
<autodiscovery enabled="true" problemReportingEnabled="true" selectedProfileId=""/>
|
| 149 |
+
</scannerConfigBuildInfo>
|
| 150 |
+
<scannerConfigBuildInfo instanceId="cdt.managedbuild.config.gnu.exe.release.185559773;cdt.managedbuild.config.gnu.exe.release.185559773.;cdt.managedbuild.tool.gnu.cpp.compiler.exe.release.520681695;cdt.managedbuild.tool.gnu.cpp.compiler.input.624630717">
|
| 151 |
+
<autodiscovery enabled="true" problemReportingEnabled="true" selectedProfileId=""/>
|
| 152 |
+
</scannerConfigBuildInfo>
|
| 153 |
+
</storageModule>
|
| 154 |
+
<storageModule moduleId="org.eclipse.cdt.core.LanguageSettingsProviders"/>
|
| 155 |
+
<storageModule moduleId="refreshScope" versionNumber="2">
|
| 156 |
+
<configuration configurationName="Release">
|
| 157 |
+
<resource resourceType="PROJECT" workspacePath="/consolidate"/>
|
| 158 |
+
</configuration>
|
| 159 |
+
<configuration configurationName="Debug">
|
| 160 |
+
<resource resourceType="PROJECT" workspacePath="/consolidate"/>
|
| 161 |
+
</configuration>
|
| 162 |
+
</storageModule>
|
| 163 |
+
<storageModule moduleId="org.eclipse.cdt.internal.ui.text.commentOwnerProjectMappings"/>
|
| 164 |
+
<storageModule moduleId="org.eclipse.cdt.make.core.buildtargets"/>
|
| 165 |
+
</cproject>
|
mosesdecoder/contrib/other-builds/consolidate/.project
ADDED
|
@@ -0,0 +1,79 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
<?xml version="1.0" encoding="UTF-8"?>
|
| 2 |
+
<projectDescription>
|
| 3 |
+
<name>consolidate</name>
|
| 4 |
+
<comment></comment>
|
| 5 |
+
<projects>
|
| 6 |
+
<project>lm</project>
|
| 7 |
+
<project>moses</project>
|
| 8 |
+
<project>OnDiskPt</project>
|
| 9 |
+
<project>search</project>
|
| 10 |
+
<project>util</project>
|
| 11 |
+
</projects>
|
| 12 |
+
<buildSpec>
|
| 13 |
+
<buildCommand>
|
| 14 |
+
<name>org.eclipse.cdt.managedbuilder.core.genmakebuilder</name>
|
| 15 |
+
<triggers>clean,full,incremental,</triggers>
|
| 16 |
+
<arguments>
|
| 17 |
+
</arguments>
|
| 18 |
+
</buildCommand>
|
| 19 |
+
<buildCommand>
|
| 20 |
+
<name>org.eclipse.cdt.managedbuilder.core.ScannerConfigBuilder</name>
|
| 21 |
+
<triggers>full,incremental,</triggers>
|
| 22 |
+
<arguments>
|
| 23 |
+
</arguments>
|
| 24 |
+
</buildCommand>
|
| 25 |
+
</buildSpec>
|
| 26 |
+
<natures>
|
| 27 |
+
<nature>org.eclipse.cdt.core.cnature</nature>
|
| 28 |
+
<nature>org.eclipse.cdt.core.ccnature</nature>
|
| 29 |
+
<nature>org.eclipse.cdt.managedbuilder.core.managedBuildNature</nature>
|
| 30 |
+
<nature>org.eclipse.cdt.managedbuilder.core.ScannerConfigNature</nature>
|
| 31 |
+
</natures>
|
| 32 |
+
<linkedResources>
|
| 33 |
+
<link>
|
| 34 |
+
<name>InputFileStream.cpp</name>
|
| 35 |
+
<type>1</type>
|
| 36 |
+
<locationURI>PARENT-3-PROJECT_LOC/phrase-extract/InputFileStream.cpp</locationURI>
|
| 37 |
+
</link>
|
| 38 |
+
<link>
|
| 39 |
+
<name>InputFileStream.h</name>
|
| 40 |
+
<type>1</type>
|
| 41 |
+
<locationURI>PARENT-3-PROJECT_LOC/phrase-extract/InputFileStream.h</locationURI>
|
| 42 |
+
</link>
|
| 43 |
+
<link>
|
| 44 |
+
<name>OutputFileStream.cpp</name>
|
| 45 |
+
<type>1</type>
|
| 46 |
+
<locationURI>PARENT-3-PROJECT_LOC/phrase-extract/OutputFileStream.cpp</locationURI>
|
| 47 |
+
</link>
|
| 48 |
+
<link>
|
| 49 |
+
<name>OutputFileStream.h</name>
|
| 50 |
+
<type>1</type>
|
| 51 |
+
<locationURI>PARENT-3-PROJECT_LOC/phrase-extract/OutputFileStream.h</locationURI>
|
| 52 |
+
</link>
|
| 53 |
+
<link>
|
| 54 |
+
<name>PropertiesConsolidator.cpp</name>
|
| 55 |
+
<type>1</type>
|
| 56 |
+
<locationURI>PARENT-3-PROJECT_LOC/phrase-extract/PropertiesConsolidator.cpp</locationURI>
|
| 57 |
+
</link>
|
| 58 |
+
<link>
|
| 59 |
+
<name>PropertiesConsolidator.h</name>
|
| 60 |
+
<type>1</type>
|
| 61 |
+
<locationURI>PARENT-3-PROJECT_LOC/phrase-extract/PropertiesConsolidator.h</locationURI>
|
| 62 |
+
</link>
|
| 63 |
+
<link>
|
| 64 |
+
<name>consolidate-main.cpp</name>
|
| 65 |
+
<type>1</type>
|
| 66 |
+
<locationURI>PARENT-3-PROJECT_LOC/phrase-extract/consolidate-main.cpp</locationURI>
|
| 67 |
+
</link>
|
| 68 |
+
<link>
|
| 69 |
+
<name>tables-core.cpp</name>
|
| 70 |
+
<type>1</type>
|
| 71 |
+
<locationURI>PARENT-3-PROJECT_LOC/phrase-extract/tables-core.cpp</locationURI>
|
| 72 |
+
</link>
|
| 73 |
+
<link>
|
| 74 |
+
<name>tables-core.h</name>
|
| 75 |
+
<type>1</type>
|
| 76 |
+
<locationURI>PARENT-3-PROJECT_LOC/phrase-extract/tables-core.h</locationURI>
|
| 77 |
+
</link>
|
| 78 |
+
</linkedResources>
|
| 79 |
+
</projectDescription>
|
mosesdecoder/contrib/other-builds/consolidate/consolidate.project
ADDED
|
@@ -0,0 +1,137 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
<?xml version="1.0" encoding="UTF-8"?>
|
| 2 |
+
<CodeLite_Project Name="consolidate" InternalType="Console">
|
| 3 |
+
<Description/>
|
| 4 |
+
<Dependencies/>
|
| 5 |
+
<VirtualDirectory Name="src">
|
| 6 |
+
<File Name="../../../phrase-extract/consolidate-direct-main.cpp"/>
|
| 7 |
+
<File Name="../../../phrase-extract/InputFileStream.cpp"/>
|
| 8 |
+
<File Name="../../../phrase-extract/InputFileStream.h"/>
|
| 9 |
+
<File Name="../../../phrase-extract/OutputFileStream.cpp"/>
|
| 10 |
+
<File Name="../../../phrase-extract/OutputFileStream.h"/>
|
| 11 |
+
<File Name="../../../phrase-extract/PropertiesConsolidator.cpp"/>
|
| 12 |
+
<File Name="../../../phrase-extract/PropertiesConsolidator.h"/>
|
| 13 |
+
<File Name="../../../phrase-extract/tables-core.cpp"/>
|
| 14 |
+
<File Name="../../../phrase-extract/tables-core.h"/>
|
| 15 |
+
</VirtualDirectory>
|
| 16 |
+
<Settings Type="Executable">
|
| 17 |
+
<GlobalSettings>
|
| 18 |
+
<Compiler Options="" C_Options="" Assembler="">
|
| 19 |
+
<IncludePath Value="."/>
|
| 20 |
+
</Compiler>
|
| 21 |
+
<Linker Options="">
|
| 22 |
+
<LibraryPath Value="."/>
|
| 23 |
+
</Linker>
|
| 24 |
+
<ResourceCompiler Options=""/>
|
| 25 |
+
</GlobalSettings>
|
| 26 |
+
<Configuration Name="Debug" CompilerType="clang( based on LLVM 3.5svn )" DebuggerType="LLDB Debugger" Type="Executable" BuildCmpWithGlobalSettings="append" BuildLnkWithGlobalSettings="append" BuildResWithGlobalSettings="append">
|
| 27 |
+
<Compiler Options="-g;-O0;-Wall" C_Options="-g;-O0;-Wall" Assembler="" Required="yes" PreCompiledHeader="" PCHInCommandLine="no" PCHFlags="" PCHFlagsPolicy="0">
|
| 28 |
+
<IncludePath Value="."/>
|
| 29 |
+
<IncludePath Value="../../.."/>
|
| 30 |
+
<IncludePath Value="../../../phrase-extract"/>
|
| 31 |
+
<IncludePath Value="../../../boost/include"/>
|
| 32 |
+
</Compiler>
|
| 33 |
+
<Linker Options="" Required="yes">
|
| 34 |
+
<LibraryPath Value="../../../boost/lib64"/>
|
| 35 |
+
<LibraryPath Value="../../../contrib/other-builds/lm/Debug"/>
|
| 36 |
+
<LibraryPath Value="../../../contrib/other-builds/moses/Debug"/>
|
| 37 |
+
<LibraryPath Value="../../../contrib/other-builds/OnDiskPt/Debug"/>
|
| 38 |
+
<LibraryPath Value="../../../contrib/other-builds/search/Debug"/>
|
| 39 |
+
<LibraryPath Value="../../../contrib/other-builds/util/Debug"/>
|
| 40 |
+
<Library Value="moses"/>
|
| 41 |
+
<Library Value="search"/>
|
| 42 |
+
<Library Value="OnDiskPt"/>
|
| 43 |
+
<Library Value="lm"/>
|
| 44 |
+
<Library Value="util"/>
|
| 45 |
+
<Library Value="boost_iostreams"/>
|
| 46 |
+
<Library Value="boost_serialization"/>
|
| 47 |
+
<Library Value="boost_system"/>
|
| 48 |
+
<Library Value="boost_thread"/>
|
| 49 |
+
<Library Value="boost_filesystem"/>
|
| 50 |
+
<Library Value="boost_program_options"/>
|
| 51 |
+
<Library Value="pthread"/>
|
| 52 |
+
<Library Value="z"/>
|
| 53 |
+
<Library Value="bz2"/>
|
| 54 |
+
<Library Value="dl"/>
|
| 55 |
+
<Library Value="rt"/>
|
| 56 |
+
</Linker>
|
| 57 |
+
<ResourceCompiler Options="" Required="no"/>
|
| 58 |
+
<General OutputFile="$(IntermediateDirectory)/$(ProjectName)" IntermediateDirectory="./Debug" Command="./$(ProjectName)" CommandArguments="" UseSeparateDebugArgs="no" DebugArguments="" WorkingDirectory="$(IntermediateDirectory)" PauseExecWhenProcTerminates="yes" IsGUIProgram="no" IsEnabled="yes"/>
|
| 59 |
+
<Environment EnvVarSetName="<Use Defaults>" DbgSetName="<Use Defaults>">
|
| 60 |
+
<![CDATA[]]>
|
| 61 |
+
</Environment>
|
| 62 |
+
<Debugger IsRemote="no" RemoteHostName="" RemoteHostPort="" DebuggerPath="" IsExtended="no">
|
| 63 |
+
<DebuggerSearchPaths/>
|
| 64 |
+
<PostConnectCommands/>
|
| 65 |
+
<StartupCommands/>
|
| 66 |
+
</Debugger>
|
| 67 |
+
<PreBuild/>
|
| 68 |
+
<PostBuild/>
|
| 69 |
+
<CustomBuild Enabled="no">
|
| 70 |
+
<RebuildCommand/>
|
| 71 |
+
<CleanCommand/>
|
| 72 |
+
<BuildCommand/>
|
| 73 |
+
<PreprocessFileCommand/>
|
| 74 |
+
<SingleFileCommand/>
|
| 75 |
+
<MakefileGenerationCommand/>
|
| 76 |
+
<ThirdPartyToolName>None</ThirdPartyToolName>
|
| 77 |
+
<WorkingDirectory/>
|
| 78 |
+
</CustomBuild>
|
| 79 |
+
<AdditionalRules>
|
| 80 |
+
<CustomPostBuild/>
|
| 81 |
+
<CustomPreBuild/>
|
| 82 |
+
</AdditionalRules>
|
| 83 |
+
<Completion EnableCpp11="no">
|
| 84 |
+
<ClangCmpFlagsC/>
|
| 85 |
+
<ClangCmpFlags/>
|
| 86 |
+
<ClangPP/>
|
| 87 |
+
<SearchPaths/>
|
| 88 |
+
</Completion>
|
| 89 |
+
</Configuration>
|
| 90 |
+
<Configuration Name="Release" CompilerType="clang( based on LLVM 3.5svn )" DebuggerType="LLDB Debugger" Type="Executable" BuildCmpWithGlobalSettings="append" BuildLnkWithGlobalSettings="append" BuildResWithGlobalSettings="append">
|
| 91 |
+
<Compiler Options="-O2;-Wall" C_Options="-O2;-Wall" Assembler="" Required="yes" PreCompiledHeader="" PCHInCommandLine="no" PCHFlags="" PCHFlagsPolicy="0">
|
| 92 |
+
<IncludePath Value="."/>
|
| 93 |
+
<Preprocessor Value="NDEBUG"/>
|
| 94 |
+
</Compiler>
|
| 95 |
+
<Linker Options="" Required="yes"/>
|
| 96 |
+
<ResourceCompiler Options="" Required="no"/>
|
| 97 |
+
<General OutputFile="$(IntermediateDirectory)/$(ProjectName)" IntermediateDirectory="./Release" Command="./$(ProjectName)" CommandArguments="" UseSeparateDebugArgs="no" DebugArguments="" WorkingDirectory="$(IntermediateDirectory)" PauseExecWhenProcTerminates="yes" IsGUIProgram="no" IsEnabled="yes"/>
|
| 98 |
+
<Environment EnvVarSetName="<Use Defaults>" DbgSetName="<Use Defaults>">
|
| 99 |
+
<![CDATA[]]>
|
| 100 |
+
</Environment>
|
| 101 |
+
<Debugger IsRemote="no" RemoteHostName="" RemoteHostPort="" DebuggerPath="" IsExtended="no">
|
| 102 |
+
<DebuggerSearchPaths/>
|
| 103 |
+
<PostConnectCommands/>
|
| 104 |
+
<StartupCommands/>
|
| 105 |
+
</Debugger>
|
| 106 |
+
<PreBuild/>
|
| 107 |
+
<PostBuild/>
|
| 108 |
+
<CustomBuild Enabled="no">
|
| 109 |
+
<RebuildCommand/>
|
| 110 |
+
<CleanCommand/>
|
| 111 |
+
<BuildCommand/>
|
| 112 |
+
<PreprocessFileCommand/>
|
| 113 |
+
<SingleFileCommand/>
|
| 114 |
+
<MakefileGenerationCommand/>
|
| 115 |
+
<ThirdPartyToolName>None</ThirdPartyToolName>
|
| 116 |
+
<WorkingDirectory/>
|
| 117 |
+
</CustomBuild>
|
| 118 |
+
<AdditionalRules>
|
| 119 |
+
<CustomPostBuild/>
|
| 120 |
+
<CustomPreBuild/>
|
| 121 |
+
</AdditionalRules>
|
| 122 |
+
<Completion EnableCpp11="no">
|
| 123 |
+
<ClangCmpFlagsC/>
|
| 124 |
+
<ClangCmpFlags/>
|
| 125 |
+
<ClangPP/>
|
| 126 |
+
<SearchPaths/>
|
| 127 |
+
</Completion>
|
| 128 |
+
</Configuration>
|
| 129 |
+
</Settings>
|
| 130 |
+
<Dependencies Name="Debug">
|
| 131 |
+
<Project Name="util"/>
|
| 132 |
+
<Project Name="lm"/>
|
| 133 |
+
<Project Name="search"/>
|
| 134 |
+
<Project Name="OnDiskPt"/>
|
| 135 |
+
</Dependencies>
|
| 136 |
+
<Dependencies Name="Release"/>
|
| 137 |
+
</CodeLite_Project>
|
mosesdecoder/contrib/other-builds/extractor/.cproject
ADDED
|
@@ -0,0 +1,144 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
| 2 |
+
<?fileVersion 4.0.0?><cproject storage_type_id="org.eclipse.cdt.core.XmlProjectDescriptionStorage">
|
| 3 |
+
<storageModule moduleId="org.eclipse.cdt.core.settings">
|
| 4 |
+
<cconfiguration id="cdt.managedbuild.config.gnu.exe.debug.1133345948">
|
| 5 |
+
<storageModule buildSystemId="org.eclipse.cdt.managedbuilder.core.configurationDataProvider" id="cdt.managedbuild.config.gnu.exe.debug.1133345948" moduleId="org.eclipse.cdt.core.settings" name="Debug">
|
| 6 |
+
<externalSettings/>
|
| 7 |
+
<extensions>
|
| 8 |
+
<extension id="org.eclipse.cdt.core.GNU_ELF" point="org.eclipse.cdt.core.BinaryParser"/>
|
| 9 |
+
<extension id="org.eclipse.cdt.core.GmakeErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
|
| 10 |
+
<extension id="org.eclipse.cdt.core.CWDLocator" point="org.eclipse.cdt.core.ErrorParser"/>
|
| 11 |
+
<extension id="org.eclipse.cdt.core.GCCErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
|
| 12 |
+
<extension id="org.eclipse.cdt.core.GASErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
|
| 13 |
+
<extension id="org.eclipse.cdt.core.GLDErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
|
| 14 |
+
</extensions>
|
| 15 |
+
</storageModule>
|
| 16 |
+
<storageModule moduleId="cdtBuildSystem" version="4.0.0">
|
| 17 |
+
<configuration artifactName="${ProjName}" buildArtefactType="org.eclipse.cdt.build.core.buildArtefactType.exe" buildProperties="org.eclipse.cdt.build.core.buildArtefactType=org.eclipse.cdt.build.core.buildArtefactType.exe,org.eclipse.cdt.build.core.buildType=org.eclipse.cdt.build.core.buildType.debug" cleanCommand="rm -rf" description="" id="cdt.managedbuild.config.gnu.exe.debug.1133345948" name="Debug" parent="cdt.managedbuild.config.gnu.exe.debug">
|
| 18 |
+
<folderInfo id="cdt.managedbuild.config.gnu.exe.debug.1133345948." name="/" resourcePath="">
|
| 19 |
+
<toolChain id="cdt.managedbuild.toolchain.gnu.exe.debug.1405862229" name="Linux GCC" superClass="cdt.managedbuild.toolchain.gnu.exe.debug">
|
| 20 |
+
<targetPlatform id="cdt.managedbuild.target.gnu.platform.exe.debug.605722566" name="Debug Platform" superClass="cdt.managedbuild.target.gnu.platform.exe.debug"/>
|
| 21 |
+
<builder buildPath="${workspace_loc:/extractor/Debug}" id="cdt.managedbuild.target.gnu.builder.exe.debug.238577912" keepEnvironmentInBuildfile="false" managedBuildOn="true" name="Gnu Make Builder" parallelBuildOn="true" parallelizationNumber="optimal" superClass="cdt.managedbuild.target.gnu.builder.exe.debug"/>
|
| 22 |
+
<tool id="cdt.managedbuild.tool.gnu.archiver.base.1956867596" name="GCC Archiver" superClass="cdt.managedbuild.tool.gnu.archiver.base"/>
|
| 23 |
+
<tool id="cdt.managedbuild.tool.gnu.cpp.compiler.exe.debug.1512268277" name="GCC C++ Compiler" superClass="cdt.managedbuild.tool.gnu.cpp.compiler.exe.debug">
|
| 24 |
+
<option id="gnu.cpp.compiler.exe.debug.option.optimization.level.2143789149" name="Optimization Level" superClass="gnu.cpp.compiler.exe.debug.option.optimization.level" useByScannerDiscovery="false" value="gnu.cpp.compiler.optimization.level.none" valueType="enumerated"/>
|
| 25 |
+
<option id="gnu.cpp.compiler.exe.debug.option.debugging.level.285958391" name="Debug Level" superClass="gnu.cpp.compiler.exe.debug.option.debugging.level" useByScannerDiscovery="false" value="gnu.cpp.compiler.debugging.level.max" valueType="enumerated"/>
|
| 26 |
+
<option id="gnu.cpp.compiler.option.include.paths.966722418" name="Include paths (-I)" superClass="gnu.cpp.compiler.option.include.paths" useByScannerDiscovery="false" valueType="includePath">
|
| 27 |
+
<listOptionValue builtIn="false" value=""${workspace_loc}/../../boost/include""/>
|
| 28 |
+
<listOptionValue builtIn="false" value=""${workspace_loc}/../../""/>
|
| 29 |
+
</option>
|
| 30 |
+
<inputType id="cdt.managedbuild.tool.gnu.cpp.compiler.input.1839105433" superClass="cdt.managedbuild.tool.gnu.cpp.compiler.input"/>
|
| 31 |
+
</tool>
|
| 32 |
+
<tool id="cdt.managedbuild.tool.gnu.c.compiler.exe.debug.554846982" name="GCC C Compiler" superClass="cdt.managedbuild.tool.gnu.c.compiler.exe.debug">
|
| 33 |
+
<option defaultValue="gnu.c.optimization.level.none" id="gnu.c.compiler.exe.debug.option.optimization.level.538786560" name="Optimization Level" superClass="gnu.c.compiler.exe.debug.option.optimization.level" useByScannerDiscovery="false" valueType="enumerated"/>
|
| 34 |
+
<option id="gnu.c.compiler.exe.debug.option.debugging.level.2125704556" name="Debug Level" superClass="gnu.c.compiler.exe.debug.option.debugging.level" useByScannerDiscovery="false" value="gnu.c.debugging.level.max" valueType="enumerated"/>
|
| 35 |
+
<option id="gnu.c.compiler.option.dialect.std.511347863" superClass="gnu.c.compiler.option.dialect.std" useByScannerDiscovery="true" value="gnu.c.compiler.dialect.c11" valueType="enumerated"/>
|
| 36 |
+
<inputType id="cdt.managedbuild.tool.gnu.c.compiler.input.100176353" superClass="cdt.managedbuild.tool.gnu.c.compiler.input"/>
|
| 37 |
+
</tool>
|
| 38 |
+
<tool id="cdt.managedbuild.tool.gnu.c.linker.exe.debug.1048685119" name="GCC C Linker" superClass="cdt.managedbuild.tool.gnu.c.linker.exe.debug"/>
|
| 39 |
+
<tool id="cdt.managedbuild.tool.gnu.cpp.linker.exe.debug.1295498016" name="GCC C++ Linker" superClass="cdt.managedbuild.tool.gnu.cpp.linker.exe.debug">
|
| 40 |
+
<option id="gnu.cpp.link.option.paths.338150127" name="Library search path (-L)" superClass="gnu.cpp.link.option.paths" valueType="libPaths">
|
| 41 |
+
<listOptionValue builtIn="false" value=""${workspace_loc:}/../../boost/lib64""/>
|
| 42 |
+
<listOptionValue builtIn="false" value=""${workspace_loc:}/mert_lib/Debug""/>
|
| 43 |
+
<listOptionValue builtIn="false" value=""${workspace_loc:}/util/Debug""/>
|
| 44 |
+
<listOptionValue builtIn="false" value="/opt/local/lib"/>
|
| 45 |
+
</option>
|
| 46 |
+
<option id="gnu.cpp.link.option.libs.585257079" name="Libraries (-l)" superClass="gnu.cpp.link.option.libs" valueType="libs">
|
| 47 |
+
<listOptionValue builtIn="false" value="mert_lib"/>
|
| 48 |
+
<listOptionValue builtIn="false" value="util"/>
|
| 49 |
+
<listOptionValue builtIn="false" value="boost_system"/>
|
| 50 |
+
<listOptionValue builtIn="false" value="boost_thread"/>
|
| 51 |
+
<listOptionValue builtIn="false" value="z"/>
|
| 52 |
+
<listOptionValue builtIn="false" value="pthread"/>
|
| 53 |
+
<listOptionValue builtIn="false" value="rt"/>
|
| 54 |
+
</option>
|
| 55 |
+
<inputType id="cdt.managedbuild.tool.gnu.cpp.linker.input.656319745" superClass="cdt.managedbuild.tool.gnu.cpp.linker.input">
|
| 56 |
+
<additionalInput kind="additionalinputdependency" paths="$(USER_OBJS)"/>
|
| 57 |
+
<additionalInput kind="additionalinput" paths="$(LIBS)"/>
|
| 58 |
+
</inputType>
|
| 59 |
+
</tool>
|
| 60 |
+
<tool id="cdt.managedbuild.tool.gnu.assembler.exe.debug.1361889787" name="GCC Assembler" superClass="cdt.managedbuild.tool.gnu.assembler.exe.debug">
|
| 61 |
+
<inputType id="cdt.managedbuild.tool.gnu.assembler.input.955209559" superClass="cdt.managedbuild.tool.gnu.assembler.input"/>
|
| 62 |
+
</tool>
|
| 63 |
+
</toolChain>
|
| 64 |
+
</folderInfo>
|
| 65 |
+
</configuration>
|
| 66 |
+
</storageModule>
|
| 67 |
+
<storageModule moduleId="org.eclipse.cdt.core.externalSettings"/>
|
| 68 |
+
</cconfiguration>
|
| 69 |
+
<cconfiguration id="cdt.managedbuild.config.gnu.exe.release.1385955159">
|
| 70 |
+
<storageModule buildSystemId="org.eclipse.cdt.managedbuilder.core.configurationDataProvider" id="cdt.managedbuild.config.gnu.exe.release.1385955159" moduleId="org.eclipse.cdt.core.settings" name="Release">
|
| 71 |
+
<externalSettings/>
|
| 72 |
+
<extensions>
|
| 73 |
+
<extension id="org.eclipse.cdt.core.GNU_ELF" point="org.eclipse.cdt.core.BinaryParser"/>
|
| 74 |
+
<extension id="org.eclipse.cdt.core.GmakeErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
|
| 75 |
+
<extension id="org.eclipse.cdt.core.CWDLocator" point="org.eclipse.cdt.core.ErrorParser"/>
|
| 76 |
+
<extension id="org.eclipse.cdt.core.GCCErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
|
| 77 |
+
<extension id="org.eclipse.cdt.core.GASErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
|
| 78 |
+
<extension id="org.eclipse.cdt.core.GLDErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
|
| 79 |
+
</extensions>
|
| 80 |
+
</storageModule>
|
| 81 |
+
<storageModule moduleId="cdtBuildSystem" version="4.0.0">
|
| 82 |
+
<configuration artifactName="${ProjName}" buildArtefactType="org.eclipse.cdt.build.core.buildArtefactType.exe" buildProperties="org.eclipse.cdt.build.core.buildArtefactType=org.eclipse.cdt.build.core.buildArtefactType.exe,org.eclipse.cdt.build.core.buildType=org.eclipse.cdt.build.core.buildType.release" cleanCommand="rm -rf" description="" id="cdt.managedbuild.config.gnu.exe.release.1385955159" name="Release" parent="cdt.managedbuild.config.gnu.exe.release">
|
| 83 |
+
<folderInfo id="cdt.managedbuild.config.gnu.exe.release.1385955159." name="/" resourcePath="">
|
| 84 |
+
<toolChain id="cdt.managedbuild.toolchain.gnu.exe.release.887500021" name="Linux GCC" superClass="cdt.managedbuild.toolchain.gnu.exe.release">
|
| 85 |
+
<targetPlatform id="cdt.managedbuild.target.gnu.platform.exe.release.1965146498" name="Debug Platform" superClass="cdt.managedbuild.target.gnu.platform.exe.release"/>
|
| 86 |
+
<builder buildPath="${workspace_loc:/extractor/Release}" id="cdt.managedbuild.target.gnu.builder.exe.release.1583162909" keepEnvironmentInBuildfile="false" managedBuildOn="true" name="Gnu Make Builder" superClass="cdt.managedbuild.target.gnu.builder.exe.release"/>
|
| 87 |
+
<tool id="cdt.managedbuild.tool.gnu.archiver.base.141140356" name="GCC Archiver" superClass="cdt.managedbuild.tool.gnu.archiver.base"/>
|
| 88 |
+
<tool id="cdt.managedbuild.tool.gnu.cpp.compiler.exe.release.2048722912" name="GCC C++ Compiler" superClass="cdt.managedbuild.tool.gnu.cpp.compiler.exe.release">
|
| 89 |
+
<option id="gnu.cpp.compiler.exe.release.option.optimization.level.1971624451" name="Optimization Level" superClass="gnu.cpp.compiler.exe.release.option.optimization.level" useByScannerDiscovery="false" value="gnu.cpp.compiler.optimization.level.most" valueType="enumerated"/>
|
| 90 |
+
<option id="gnu.cpp.compiler.exe.release.option.debugging.level.582466413" name="Debug Level" superClass="gnu.cpp.compiler.exe.release.option.debugging.level" useByScannerDiscovery="false" value="gnu.cpp.compiler.debugging.level.none" valueType="enumerated"/>
|
| 91 |
+
<inputType id="cdt.managedbuild.tool.gnu.cpp.compiler.input.1466533418" superClass="cdt.managedbuild.tool.gnu.cpp.compiler.input"/>
|
| 92 |
+
</tool>
|
| 93 |
+
<tool id="cdt.managedbuild.tool.gnu.c.compiler.exe.release.328232610" name="GCC C Compiler" superClass="cdt.managedbuild.tool.gnu.c.compiler.exe.release">
|
| 94 |
+
<option defaultValue="gnu.c.optimization.level.most" id="gnu.c.compiler.exe.release.option.optimization.level.447164665" name="Optimization Level" superClass="gnu.c.compiler.exe.release.option.optimization.level" useByScannerDiscovery="false" valueType="enumerated"/>
|
| 95 |
+
<option id="gnu.c.compiler.exe.release.option.debugging.level.28848417" name="Debug Level" superClass="gnu.c.compiler.exe.release.option.debugging.level" useByScannerDiscovery="false" value="gnu.c.debugging.level.none" valueType="enumerated"/>
|
| 96 |
+
<inputType id="cdt.managedbuild.tool.gnu.c.compiler.input.1088446293" superClass="cdt.managedbuild.tool.gnu.c.compiler.input"/>
|
| 97 |
+
</tool>
|
| 98 |
+
<tool id="cdt.managedbuild.tool.gnu.c.linker.exe.release.1134906841" name="GCC C Linker" superClass="cdt.managedbuild.tool.gnu.c.linker.exe.release"/>
|
| 99 |
+
<tool id="cdt.managedbuild.tool.gnu.cpp.linker.exe.release.450257401" name="GCC C++ Linker" superClass="cdt.managedbuild.tool.gnu.cpp.linker.exe.release">
|
| 100 |
+
<inputType id="cdt.managedbuild.tool.gnu.cpp.linker.input.813260151" superClass="cdt.managedbuild.tool.gnu.cpp.linker.input">
|
| 101 |
+
<additionalInput kind="additionalinputdependency" paths="$(USER_OBJS)"/>
|
| 102 |
+
<additionalInput kind="additionalinput" paths="$(LIBS)"/>
|
| 103 |
+
</inputType>
|
| 104 |
+
</tool>
|
| 105 |
+
<tool id="cdt.managedbuild.tool.gnu.assembler.exe.release.205332755" name="GCC Assembler" superClass="cdt.managedbuild.tool.gnu.assembler.exe.release">
|
| 106 |
+
<inputType id="cdt.managedbuild.tool.gnu.assembler.input.337244768" superClass="cdt.managedbuild.tool.gnu.assembler.input"/>
|
| 107 |
+
</tool>
|
| 108 |
+
</toolChain>
|
| 109 |
+
</folderInfo>
|
| 110 |
+
</configuration>
|
| 111 |
+
</storageModule>
|
| 112 |
+
<storageModule moduleId="org.eclipse.cdt.core.externalSettings"/>
|
| 113 |
+
</cconfiguration>
|
| 114 |
+
</storageModule>
|
| 115 |
+
<storageModule moduleId="cdtBuildSystem" version="4.0.0">
|
| 116 |
+
<project id="extractor.cdt.managedbuild.target.gnu.exe.1336860963" name="Executable" projectType="cdt.managedbuild.target.gnu.exe"/>
|
| 117 |
+
</storageModule>
|
| 118 |
+
<storageModule moduleId="scannerConfiguration">
|
| 119 |
+
<autodiscovery enabled="true" problemReportingEnabled="true" selectedProfileId=""/>
|
| 120 |
+
<scannerConfigBuildInfo instanceId="cdt.managedbuild.config.gnu.exe.release.1385955159;cdt.managedbuild.config.gnu.exe.release.1385955159.;cdt.managedbuild.tool.gnu.c.compiler.exe.release.328232610;cdt.managedbuild.tool.gnu.c.compiler.input.1088446293">
|
| 121 |
+
<autodiscovery enabled="true" problemReportingEnabled="true" selectedProfileId="org.eclipse.cdt.managedbuilder.core.GCCManagedMakePerProjectProfileC"/>
|
| 122 |
+
</scannerConfigBuildInfo>
|
| 123 |
+
<scannerConfigBuildInfo instanceId="cdt.managedbuild.config.gnu.exe.debug.1133345948;cdt.managedbuild.config.gnu.exe.debug.1133345948.;cdt.managedbuild.tool.gnu.cpp.compiler.exe.debug.1512268277;cdt.managedbuild.tool.gnu.cpp.compiler.input.1839105433">
|
| 124 |
+
<autodiscovery enabled="true" problemReportingEnabled="true" selectedProfileId="org.eclipse.cdt.managedbuilder.core.GCCManagedMakePerProjectProfileCPP"/>
|
| 125 |
+
</scannerConfigBuildInfo>
|
| 126 |
+
<scannerConfigBuildInfo instanceId="cdt.managedbuild.config.gnu.exe.release.1385955159;cdt.managedbuild.config.gnu.exe.release.1385955159.;cdt.managedbuild.tool.gnu.cpp.compiler.exe.release.2048722912;cdt.managedbuild.tool.gnu.cpp.compiler.input.1466533418">
|
| 127 |
+
<autodiscovery enabled="true" problemReportingEnabled="true" selectedProfileId="org.eclipse.cdt.managedbuilder.core.GCCManagedMakePerProjectProfileCPP"/>
|
| 128 |
+
</scannerConfigBuildInfo>
|
| 129 |
+
<scannerConfigBuildInfo instanceId="cdt.managedbuild.config.gnu.exe.debug.1133345948;cdt.managedbuild.config.gnu.exe.debug.1133345948.;cdt.managedbuild.tool.gnu.c.compiler.exe.debug.554846982;cdt.managedbuild.tool.gnu.c.compiler.input.100176353">
|
| 130 |
+
<autodiscovery enabled="true" problemReportingEnabled="true" selectedProfileId="org.eclipse.cdt.managedbuilder.core.GCCManagedMakePerProjectProfileC"/>
|
| 131 |
+
</scannerConfigBuildInfo>
|
| 132 |
+
</storageModule>
|
| 133 |
+
<storageModule moduleId="refreshScope" versionNumber="2">
|
| 134 |
+
<configuration configurationName="Release">
|
| 135 |
+
<resource resourceType="PROJECT" workspacePath="/extractor"/>
|
| 136 |
+
</configuration>
|
| 137 |
+
<configuration configurationName="Debug">
|
| 138 |
+
<resource resourceType="PROJECT" workspacePath="/extractor"/>
|
| 139 |
+
</configuration>
|
| 140 |
+
</storageModule>
|
| 141 |
+
<storageModule moduleId="org.eclipse.cdt.core.LanguageSettingsProviders"/>
|
| 142 |
+
<storageModule moduleId="org.eclipse.cdt.make.core.buildtargets"/>
|
| 143 |
+
<storageModule moduleId="org.eclipse.cdt.internal.ui.text.commentOwnerProjectMappings"/>
|
| 144 |
+
</cproject>
|
mosesdecoder/contrib/other-builds/extractor/.project
ADDED
|
@@ -0,0 +1,607 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
<?xml version="1.0" encoding="UTF-8"?>
|
| 2 |
+
<projectDescription>
|
| 3 |
+
<name>extractor</name>
|
| 4 |
+
<comment></comment>
|
| 5 |
+
<projects>
|
| 6 |
+
<project>mert_lib</project>
|
| 7 |
+
<project>util</project>
|
| 8 |
+
</projects>
|
| 9 |
+
<buildSpec>
|
| 10 |
+
<buildCommand>
|
| 11 |
+
<name>org.eclipse.cdt.managedbuilder.core.genmakebuilder</name>
|
| 12 |
+
<triggers>clean,full,incremental,</triggers>
|
| 13 |
+
<arguments>
|
| 14 |
+
<dictionary>
|
| 15 |
+
<key>?name?</key>
|
| 16 |
+
<value></value>
|
| 17 |
+
</dictionary>
|
| 18 |
+
<dictionary>
|
| 19 |
+
<key>org.eclipse.cdt.make.core.append_environment</key>
|
| 20 |
+
<value>true</value>
|
| 21 |
+
</dictionary>
|
| 22 |
+
<dictionary>
|
| 23 |
+
<key>org.eclipse.cdt.make.core.autoBuildTarget</key>
|
| 24 |
+
<value>all</value>
|
| 25 |
+
</dictionary>
|
| 26 |
+
<dictionary>
|
| 27 |
+
<key>org.eclipse.cdt.make.core.buildArguments</key>
|
| 28 |
+
<value></value>
|
| 29 |
+
</dictionary>
|
| 30 |
+
<dictionary>
|
| 31 |
+
<key>org.eclipse.cdt.make.core.buildCommand</key>
|
| 32 |
+
<value>make</value>
|
| 33 |
+
</dictionary>
|
| 34 |
+
<dictionary>
|
| 35 |
+
<key>org.eclipse.cdt.make.core.buildLocation</key>
|
| 36 |
+
<value>${workspace_loc:/extractor/Debug}</value>
|
| 37 |
+
</dictionary>
|
| 38 |
+
<dictionary>
|
| 39 |
+
<key>org.eclipse.cdt.make.core.cleanBuildTarget</key>
|
| 40 |
+
<value>clean</value>
|
| 41 |
+
</dictionary>
|
| 42 |
+
<dictionary>
|
| 43 |
+
<key>org.eclipse.cdt.make.core.contents</key>
|
| 44 |
+
<value>org.eclipse.cdt.make.core.activeConfigSettings</value>
|
| 45 |
+
</dictionary>
|
| 46 |
+
<dictionary>
|
| 47 |
+
<key>org.eclipse.cdt.make.core.enableAutoBuild</key>
|
| 48 |
+
<value>false</value>
|
| 49 |
+
</dictionary>
|
| 50 |
+
<dictionary>
|
| 51 |
+
<key>org.eclipse.cdt.make.core.enableCleanBuild</key>
|
| 52 |
+
<value>true</value>
|
| 53 |
+
</dictionary>
|
| 54 |
+
<dictionary>
|
| 55 |
+
<key>org.eclipse.cdt.make.core.enableFullBuild</key>
|
| 56 |
+
<value>true</value>
|
| 57 |
+
</dictionary>
|
| 58 |
+
<dictionary>
|
| 59 |
+
<key>org.eclipse.cdt.make.core.fullBuildTarget</key>
|
| 60 |
+
<value>all</value>
|
| 61 |
+
</dictionary>
|
| 62 |
+
<dictionary>
|
| 63 |
+
<key>org.eclipse.cdt.make.core.stopOnError</key>
|
| 64 |
+
<value>true</value>
|
| 65 |
+
</dictionary>
|
| 66 |
+
<dictionary>
|
| 67 |
+
<key>org.eclipse.cdt.make.core.useDefaultBuildCmd</key>
|
| 68 |
+
<value>true</value>
|
| 69 |
+
</dictionary>
|
| 70 |
+
</arguments>
|
| 71 |
+
</buildCommand>
|
| 72 |
+
<buildCommand>
|
| 73 |
+
<name>org.eclipse.cdt.managedbuilder.core.ScannerConfigBuilder</name>
|
| 74 |
+
<triggers>full,incremental,</triggers>
|
| 75 |
+
<arguments>
|
| 76 |
+
</arguments>
|
| 77 |
+
</buildCommand>
|
| 78 |
+
</buildSpec>
|
| 79 |
+
<natures>
|
| 80 |
+
<nature>org.eclipse.cdt.core.cnature</nature>
|
| 81 |
+
<nature>org.eclipse.cdt.core.ccnature</nature>
|
| 82 |
+
<nature>org.eclipse.cdt.managedbuilder.core.managedBuildNature</nature>
|
| 83 |
+
<nature>org.eclipse.cdt.managedbuilder.core.ScannerConfigNature</nature>
|
| 84 |
+
</natures>
|
| 85 |
+
<linkedResources>
|
| 86 |
+
<link>
|
| 87 |
+
<name>InternalTree.cpp</name>
|
| 88 |
+
<type>1</type>
|
| 89 |
+
<locationURI>PARENT-3-PROJECT_LOC/mert/InternalTree.cpp</locationURI>
|
| 90 |
+
</link>
|
| 91 |
+
<link>
|
| 92 |
+
<name>InternalTree.h</name>
|
| 93 |
+
<type>1</type>
|
| 94 |
+
<locationURI>PARENT-3-PROJECT_LOC/mert/InternalTree.h</locationURI>
|
| 95 |
+
</link>
|
| 96 |
+
<link>
|
| 97 |
+
<name>bin</name>
|
| 98 |
+
<type>2</type>
|
| 99 |
+
<locationURI>virtual:/virtual</locationURI>
|
| 100 |
+
</link>
|
| 101 |
+
<link>
|
| 102 |
+
<name>extractor.cpp</name>
|
| 103 |
+
<type>1</type>
|
| 104 |
+
<locationURI>PARENT-3-PROJECT_LOC/mert/extractor.cpp</locationURI>
|
| 105 |
+
</link>
|
| 106 |
+
<link>
|
| 107 |
+
<name>bin/gcc-4.8</name>
|
| 108 |
+
<type>2</type>
|
| 109 |
+
<locationURI>virtual:/virtual</locationURI>
|
| 110 |
+
</link>
|
| 111 |
+
<link>
|
| 112 |
+
<name>bin/gcc-4.8/release</name>
|
| 113 |
+
<type>2</type>
|
| 114 |
+
<locationURI>virtual:/virtual</locationURI>
|
| 115 |
+
</link>
|
| 116 |
+
<link>
|
| 117 |
+
<name>bin/gcc-4.8/release/debug-symbols-on</name>
|
| 118 |
+
<type>2</type>
|
| 119 |
+
<locationURI>virtual:/virtual</locationURI>
|
| 120 |
+
</link>
|
| 121 |
+
<link>
|
| 122 |
+
<name>bin/gcc-4.8/release/debug-symbols-on/link-static</name>
|
| 123 |
+
<type>2</type>
|
| 124 |
+
<locationURI>virtual:/virtual</locationURI>
|
| 125 |
+
</link>
|
| 126 |
+
<link>
|
| 127 |
+
<name>bin/gcc-4.8/release/debug-symbols-on/link-static/threading-multi</name>
|
| 128 |
+
<type>2</type>
|
| 129 |
+
<locationURI>virtual:/virtual</locationURI>
|
| 130 |
+
</link>
|
| 131 |
+
<link>
|
| 132 |
+
<name>bin/gcc-4.8/release/debug-symbols-on/link-static/threading-multi/BleuDocScorer.o</name>
|
| 133 |
+
<type>1</type>
|
| 134 |
+
<locationURI>PARENT-3-PROJECT_LOC/mert/bin/gcc-4.8/release/debug-symbols-on/link-static/threading-multi/BleuDocScorer.o</locationURI>
|
| 135 |
+
</link>
|
| 136 |
+
<link>
|
| 137 |
+
<name>bin/gcc-4.8/release/debug-symbols-on/link-static/threading-multi/BleuScorer.o</name>
|
| 138 |
+
<type>1</type>
|
| 139 |
+
<locationURI>PARENT-3-PROJECT_LOC/mert/bin/gcc-4.8/release/debug-symbols-on/link-static/threading-multi/BleuScorer.o</locationURI>
|
| 140 |
+
</link>
|
| 141 |
+
<link>
|
| 142 |
+
<name>bin/gcc-4.8/release/debug-symbols-on/link-static/threading-multi/BleuScorerTest.o</name>
|
| 143 |
+
<type>1</type>
|
| 144 |
+
<locationURI>PARENT-3-PROJECT_LOC/mert/bin/gcc-4.8/release/debug-symbols-on/link-static/threading-multi/BleuScorerTest.o</locationURI>
|
| 145 |
+
</link>
|
| 146 |
+
<link>
|
| 147 |
+
<name>bin/gcc-4.8/release/debug-symbols-on/link-static/threading-multi/CderScorer.o</name>
|
| 148 |
+
<type>1</type>
|
| 149 |
+
<locationURI>PARENT-3-PROJECT_LOC/mert/bin/gcc-4.8/release/debug-symbols-on/link-static/threading-multi/CderScorer.o</locationURI>
|
| 150 |
+
</link>
|
| 151 |
+
<link>
|
| 152 |
+
<name>bin/gcc-4.8/release/debug-symbols-on/link-static/threading-multi/Data.o</name>
|
| 153 |
+
<type>1</type>
|
| 154 |
+
<locationURI>PARENT-3-PROJECT_LOC/mert/bin/gcc-4.8/release/debug-symbols-on/link-static/threading-multi/Data.o</locationURI>
|
| 155 |
+
</link>
|
| 156 |
+
<link>
|
| 157 |
+
<name>bin/gcc-4.8/release/debug-symbols-on/link-static/threading-multi/DataTest.o</name>
|
| 158 |
+
<type>1</type>
|
| 159 |
+
<locationURI>PARENT-3-PROJECT_LOC/mert/bin/gcc-4.8/release/debug-symbols-on/link-static/threading-multi/DataTest.o</locationURI>
|
| 160 |
+
</link>
|
| 161 |
+
<link>
|
| 162 |
+
<name>bin/gcc-4.8/release/debug-symbols-on/link-static/threading-multi/FeatureArray.o</name>
|
| 163 |
+
<type>1</type>
|
| 164 |
+
<locationURI>PARENT-3-PROJECT_LOC/mert/bin/gcc-4.8/release/debug-symbols-on/link-static/threading-multi/FeatureArray.o</locationURI>
|
| 165 |
+
</link>
|
| 166 |
+
<link>
|
| 167 |
+
<name>bin/gcc-4.8/release/debug-symbols-on/link-static/threading-multi/FeatureData.o</name>
|
| 168 |
+
<type>1</type>
|
| 169 |
+
<locationURI>PARENT-3-PROJECT_LOC/mert/bin/gcc-4.8/release/debug-symbols-on/link-static/threading-multi/FeatureData.o</locationURI>
|
| 170 |
+
</link>
|
| 171 |
+
<link>
|
| 172 |
+
<name>bin/gcc-4.8/release/debug-symbols-on/link-static/threading-multi/FeatureDataIterator.o</name>
|
| 173 |
+
<type>1</type>
|
| 174 |
+
<locationURI>PARENT-3-PROJECT_LOC/mert/bin/gcc-4.8/release/debug-symbols-on/link-static/threading-multi/FeatureDataIterator.o</locationURI>
|
| 175 |
+
</link>
|
| 176 |
+
<link>
|
| 177 |
+
<name>bin/gcc-4.8/release/debug-symbols-on/link-static/threading-multi/FeatureDataTest.o</name>
|
| 178 |
+
<type>1</type>
|
| 179 |
+
<locationURI>PARENT-3-PROJECT_LOC/mert/bin/gcc-4.8/release/debug-symbols-on/link-static/threading-multi/FeatureDataTest.o</locationURI>
|
| 180 |
+
</link>
|
| 181 |
+
<link>
|
| 182 |
+
<name>bin/gcc-4.8/release/debug-symbols-on/link-static/threading-multi/FeatureStats.o</name>
|
| 183 |
+
<type>1</type>
|
| 184 |
+
<locationURI>PARENT-3-PROJECT_LOC/mert/bin/gcc-4.8/release/debug-symbols-on/link-static/threading-multi/FeatureStats.o</locationURI>
|
| 185 |
+
</link>
|
| 186 |
+
<link>
|
| 187 |
+
<name>bin/gcc-4.8/release/debug-symbols-on/link-static/threading-multi/FileStream.o</name>
|
| 188 |
+
<type>1</type>
|
| 189 |
+
<locationURI>PARENT-3-PROJECT_LOC/mert/bin/gcc-4.8/release/debug-symbols-on/link-static/threading-multi/FileStream.o</locationURI>
|
| 190 |
+
</link>
|
| 191 |
+
<link>
|
| 192 |
+
<name>bin/gcc-4.8/release/debug-symbols-on/link-static/threading-multi/GzFileBuf.o</name>
|
| 193 |
+
<type>1</type>
|
| 194 |
+
<locationURI>PARENT-3-PROJECT_LOC/mert/bin/gcc-4.8/release/debug-symbols-on/link-static/threading-multi/GzFileBuf.o</locationURI>
|
| 195 |
+
</link>
|
| 196 |
+
<link>
|
| 197 |
+
<name>bin/gcc-4.8/release/debug-symbols-on/link-static/threading-multi/HypPackEnumerator.o</name>
|
| 198 |
+
<type>1</type>
|
| 199 |
+
<locationURI>PARENT-3-PROJECT_LOC/mert/bin/gcc-4.8/release/debug-symbols-on/link-static/threading-multi/HypPackEnumerator.o</locationURI>
|
| 200 |
+
</link>
|
| 201 |
+
<link>
|
| 202 |
+
<name>bin/gcc-4.8/release/debug-symbols-on/link-static/threading-multi/InterpolatedScorer.o</name>
|
| 203 |
+
<type>1</type>
|
| 204 |
+
<locationURI>PARENT-3-PROJECT_LOC/mert/bin/gcc-4.8/release/debug-symbols-on/link-static/threading-multi/InterpolatedScorer.o</locationURI>
|
| 205 |
+
</link>
|
| 206 |
+
<link>
|
| 207 |
+
<name>bin/gcc-4.8/release/debug-symbols-on/link-static/threading-multi/MeteorScorer.o</name>
|
| 208 |
+
<type>1</type>
|
| 209 |
+
<locationURI>PARENT-3-PROJECT_LOC/mert/bin/gcc-4.8/release/debug-symbols-on/link-static/threading-multi/MeteorScorer.o</locationURI>
|
| 210 |
+
</link>
|
| 211 |
+
<link>
|
| 212 |
+
<name>bin/gcc-4.8/release/debug-symbols-on/link-static/threading-multi/MiraFeatureVector.o</name>
|
| 213 |
+
<type>1</type>
|
| 214 |
+
<locationURI>PARENT-3-PROJECT_LOC/mert/bin/gcc-4.8/release/debug-symbols-on/link-static/threading-multi/MiraFeatureVector.o</locationURI>
|
| 215 |
+
</link>
|
| 216 |
+
<link>
|
| 217 |
+
<name>bin/gcc-4.8/release/debug-symbols-on/link-static/threading-multi/MiraWeightVector.o</name>
|
| 218 |
+
<type>1</type>
|
| 219 |
+
<locationURI>PARENT-3-PROJECT_LOC/mert/bin/gcc-4.8/release/debug-symbols-on/link-static/threading-multi/MiraWeightVector.o</locationURI>
|
| 220 |
+
</link>
|
| 221 |
+
<link>
|
| 222 |
+
<name>bin/gcc-4.8/release/debug-symbols-on/link-static/threading-multi/NgramTest.o</name>
|
| 223 |
+
<type>1</type>
|
| 224 |
+
<locationURI>PARENT-3-PROJECT_LOC/mert/bin/gcc-4.8/release/debug-symbols-on/link-static/threading-multi/NgramTest.o</locationURI>
|
| 225 |
+
</link>
|
| 226 |
+
<link>
|
| 227 |
+
<name>bin/gcc-4.8/release/debug-symbols-on/link-static/threading-multi/Optimizer.o</name>
|
| 228 |
+
<type>1</type>
|
| 229 |
+
<locationURI>PARENT-3-PROJECT_LOC/mert/bin/gcc-4.8/release/debug-symbols-on/link-static/threading-multi/Optimizer.o</locationURI>
|
| 230 |
+
</link>
|
| 231 |
+
<link>
|
| 232 |
+
<name>bin/gcc-4.8/release/debug-symbols-on/link-static/threading-multi/OptimizerFactory.o</name>
|
| 233 |
+
<type>1</type>
|
| 234 |
+
<locationURI>PARENT-3-PROJECT_LOC/mert/bin/gcc-4.8/release/debug-symbols-on/link-static/threading-multi/OptimizerFactory.o</locationURI>
|
| 235 |
+
</link>
|
| 236 |
+
<link>
|
| 237 |
+
<name>bin/gcc-4.8/release/debug-symbols-on/link-static/threading-multi/OptimizerFactoryTest.o</name>
|
| 238 |
+
<type>1</type>
|
| 239 |
+
<locationURI>PARENT-3-PROJECT_LOC/mert/bin/gcc-4.8/release/debug-symbols-on/link-static/threading-multi/OptimizerFactoryTest.o</locationURI>
|
| 240 |
+
</link>
|
| 241 |
+
<link>
|
| 242 |
+
<name>bin/gcc-4.8/release/debug-symbols-on/link-static/threading-multi/PerScorer.o</name>
|
| 243 |
+
<type>1</type>
|
| 244 |
+
<locationURI>PARENT-3-PROJECT_LOC/mert/bin/gcc-4.8/release/debug-symbols-on/link-static/threading-multi/PerScorer.o</locationURI>
|
| 245 |
+
</link>
|
| 246 |
+
<link>
|
| 247 |
+
<name>bin/gcc-4.8/release/debug-symbols-on/link-static/threading-multi/Permutation.o</name>
|
| 248 |
+
<type>1</type>
|
| 249 |
+
<locationURI>PARENT-3-PROJECT_LOC/mert/bin/gcc-4.8/release/debug-symbols-on/link-static/threading-multi/Permutation.o</locationURI>
|
| 250 |
+
</link>
|
| 251 |
+
<link>
|
| 252 |
+
<name>bin/gcc-4.8/release/debug-symbols-on/link-static/threading-multi/PermutationScorer.o</name>
|
| 253 |
+
<type>1</type>
|
| 254 |
+
<locationURI>PARENT-3-PROJECT_LOC/mert/bin/gcc-4.8/release/debug-symbols-on/link-static/threading-multi/PermutationScorer.o</locationURI>
|
| 255 |
+
</link>
|
| 256 |
+
<link>
|
| 257 |
+
<name>bin/gcc-4.8/release/debug-symbols-on/link-static/threading-multi/Point.o</name>
|
| 258 |
+
<type>1</type>
|
| 259 |
+
<locationURI>PARENT-3-PROJECT_LOC/mert/bin/gcc-4.8/release/debug-symbols-on/link-static/threading-multi/Point.o</locationURI>
|
| 260 |
+
</link>
|
| 261 |
+
<link>
|
| 262 |
+
<name>bin/gcc-4.8/release/debug-symbols-on/link-static/threading-multi/PointTest.o</name>
|
| 263 |
+
<type>1</type>
|
| 264 |
+
<locationURI>PARENT-3-PROJECT_LOC/mert/bin/gcc-4.8/release/debug-symbols-on/link-static/threading-multi/PointTest.o</locationURI>
|
| 265 |
+
</link>
|
| 266 |
+
<link>
|
| 267 |
+
<name>bin/gcc-4.8/release/debug-symbols-on/link-static/threading-multi/PreProcessFilter.o</name>
|
| 268 |
+
<type>1</type>
|
| 269 |
+
<locationURI>PARENT-3-PROJECT_LOC/mert/bin/gcc-4.8/release/debug-symbols-on/link-static/threading-multi/PreProcessFilter.o</locationURI>
|
| 270 |
+
</link>
|
| 271 |
+
<link>
|
| 272 |
+
<name>bin/gcc-4.8/release/debug-symbols-on/link-static/threading-multi/ReferenceTest.o</name>
|
| 273 |
+
<type>1</type>
|
| 274 |
+
<locationURI>PARENT-3-PROJECT_LOC/mert/bin/gcc-4.8/release/debug-symbols-on/link-static/threading-multi/ReferenceTest.o</locationURI>
|
| 275 |
+
</link>
|
| 276 |
+
<link>
|
| 277 |
+
<name>bin/gcc-4.8/release/debug-symbols-on/link-static/threading-multi/ScoreArray.o</name>
|
| 278 |
+
<type>1</type>
|
| 279 |
+
<locationURI>PARENT-3-PROJECT_LOC/mert/bin/gcc-4.8/release/debug-symbols-on/link-static/threading-multi/ScoreArray.o</locationURI>
|
| 280 |
+
</link>
|
| 281 |
+
<link>
|
| 282 |
+
<name>bin/gcc-4.8/release/debug-symbols-on/link-static/threading-multi/ScoreData.o</name>
|
| 283 |
+
<type>1</type>
|
| 284 |
+
<locationURI>PARENT-3-PROJECT_LOC/mert/bin/gcc-4.8/release/debug-symbols-on/link-static/threading-multi/ScoreData.o</locationURI>
|
| 285 |
+
</link>
|
| 286 |
+
<link>
|
| 287 |
+
<name>bin/gcc-4.8/release/debug-symbols-on/link-static/threading-multi/ScoreDataIterator.o</name>
|
| 288 |
+
<type>1</type>
|
| 289 |
+
<locationURI>PARENT-3-PROJECT_LOC/mert/bin/gcc-4.8/release/debug-symbols-on/link-static/threading-multi/ScoreDataIterator.o</locationURI>
|
| 290 |
+
</link>
|
| 291 |
+
<link>
|
| 292 |
+
<name>bin/gcc-4.8/release/debug-symbols-on/link-static/threading-multi/ScoreStats.o</name>
|
| 293 |
+
<type>1</type>
|
| 294 |
+
<locationURI>PARENT-3-PROJECT_LOC/mert/bin/gcc-4.8/release/debug-symbols-on/link-static/threading-multi/ScoreStats.o</locationURI>
|
| 295 |
+
</link>
|
| 296 |
+
<link>
|
| 297 |
+
<name>bin/gcc-4.8/release/debug-symbols-on/link-static/threading-multi/Scorer.o</name>
|
| 298 |
+
<type>1</type>
|
| 299 |
+
<locationURI>PARENT-3-PROJECT_LOC/mert/bin/gcc-4.8/release/debug-symbols-on/link-static/threading-multi/Scorer.o</locationURI>
|
| 300 |
+
</link>
|
| 301 |
+
<link>
|
| 302 |
+
<name>bin/gcc-4.8/release/debug-symbols-on/link-static/threading-multi/ScorerFactory.o</name>
|
| 303 |
+
<type>1</type>
|
| 304 |
+
<locationURI>PARENT-3-PROJECT_LOC/mert/bin/gcc-4.8/release/debug-symbols-on/link-static/threading-multi/ScorerFactory.o</locationURI>
|
| 305 |
+
</link>
|
| 306 |
+
<link>
|
| 307 |
+
<name>bin/gcc-4.8/release/debug-symbols-on/link-static/threading-multi/SemposOverlapping.o</name>
|
| 308 |
+
<type>1</type>
|
| 309 |
+
<locationURI>PARENT-3-PROJECT_LOC/mert/bin/gcc-4.8/release/debug-symbols-on/link-static/threading-multi/SemposOverlapping.o</locationURI>
|
| 310 |
+
</link>
|
| 311 |
+
<link>
|
| 312 |
+
<name>bin/gcc-4.8/release/debug-symbols-on/link-static/threading-multi/SemposScorer.o</name>
|
| 313 |
+
<type>1</type>
|
| 314 |
+
<locationURI>PARENT-3-PROJECT_LOC/mert/bin/gcc-4.8/release/debug-symbols-on/link-static/threading-multi/SemposScorer.o</locationURI>
|
| 315 |
+
</link>
|
| 316 |
+
<link>
|
| 317 |
+
<name>bin/gcc-4.8/release/debug-symbols-on/link-static/threading-multi/SentenceLevelScorer.o</name>
|
| 318 |
+
<type>1</type>
|
| 319 |
+
<locationURI>PARENT-3-PROJECT_LOC/mert/bin/gcc-4.8/release/debug-symbols-on/link-static/threading-multi/SentenceLevelScorer.o</locationURI>
|
| 320 |
+
</link>
|
| 321 |
+
<link>
|
| 322 |
+
<name>bin/gcc-4.8/release/debug-symbols-on/link-static/threading-multi/SingletonTest.o</name>
|
| 323 |
+
<type>1</type>
|
| 324 |
+
<locationURI>PARENT-3-PROJECT_LOC/mert/bin/gcc-4.8/release/debug-symbols-on/link-static/threading-multi/SingletonTest.o</locationURI>
|
| 325 |
+
</link>
|
| 326 |
+
<link>
|
| 327 |
+
<name>bin/gcc-4.8/release/debug-symbols-on/link-static/threading-multi/StatisticsBasedScorer.o</name>
|
| 328 |
+
<type>1</type>
|
| 329 |
+
<locationURI>PARENT-3-PROJECT_LOC/mert/bin/gcc-4.8/release/debug-symbols-on/link-static/threading-multi/StatisticsBasedScorer.o</locationURI>
|
| 330 |
+
</link>
|
| 331 |
+
<link>
|
| 332 |
+
<name>bin/gcc-4.8/release/debug-symbols-on/link-static/threading-multi/TER</name>
|
| 333 |
+
<type>2</type>
|
| 334 |
+
<locationURI>virtual:/virtual</locationURI>
|
| 335 |
+
</link>
|
| 336 |
+
<link>
|
| 337 |
+
<name>bin/gcc-4.8/release/debug-symbols-on/link-static/threading-multi/TerScorer.o</name>
|
| 338 |
+
<type>1</type>
|
| 339 |
+
<locationURI>PARENT-3-PROJECT_LOC/mert/bin/gcc-4.8/release/debug-symbols-on/link-static/threading-multi/TerScorer.o</locationURI>
|
| 340 |
+
</link>
|
| 341 |
+
<link>
|
| 342 |
+
<name>bin/gcc-4.8/release/debug-symbols-on/link-static/threading-multi/ThreadPool.o</name>
|
| 343 |
+
<type>1</type>
|
| 344 |
+
<locationURI>PARENT-3-PROJECT_LOC/mert/bin/gcc-4.8/release/debug-symbols-on/link-static/threading-multi/ThreadPool.o</locationURI>
|
| 345 |
+
</link>
|
| 346 |
+
<link>
|
| 347 |
+
<name>bin/gcc-4.8/release/debug-symbols-on/link-static/threading-multi/Timer.o</name>
|
| 348 |
+
<type>1</type>
|
| 349 |
+
<locationURI>PARENT-3-PROJECT_LOC/mert/bin/gcc-4.8/release/debug-symbols-on/link-static/threading-multi/Timer.o</locationURI>
|
| 350 |
+
</link>
|
| 351 |
+
<link>
|
| 352 |
+
<name>bin/gcc-4.8/release/debug-symbols-on/link-static/threading-multi/TimerTest.o</name>
|
| 353 |
+
<type>1</type>
|
| 354 |
+
<locationURI>PARENT-3-PROJECT_LOC/mert/bin/gcc-4.8/release/debug-symbols-on/link-static/threading-multi/TimerTest.o</locationURI>
|
| 355 |
+
</link>
|
| 356 |
+
<link>
|
| 357 |
+
<name>bin/gcc-4.8/release/debug-symbols-on/link-static/threading-multi/Util.o</name>
|
| 358 |
+
<type>1</type>
|
| 359 |
+
<locationURI>PARENT-3-PROJECT_LOC/mert/bin/gcc-4.8/release/debug-symbols-on/link-static/threading-multi/Util.o</locationURI>
|
| 360 |
+
</link>
|
| 361 |
+
<link>
|
| 362 |
+
<name>bin/gcc-4.8/release/debug-symbols-on/link-static/threading-multi/UtilTest.o</name>
|
| 363 |
+
<type>1</type>
|
| 364 |
+
<locationURI>PARENT-3-PROJECT_LOC/mert/bin/gcc-4.8/release/debug-symbols-on/link-static/threading-multi/UtilTest.o</locationURI>
|
| 365 |
+
</link>
|
| 366 |
+
<link>
|
| 367 |
+
<name>bin/gcc-4.8/release/debug-symbols-on/link-static/threading-multi/Vocabulary.o</name>
|
| 368 |
+
<type>1</type>
|
| 369 |
+
<locationURI>PARENT-3-PROJECT_LOC/mert/bin/gcc-4.8/release/debug-symbols-on/link-static/threading-multi/Vocabulary.o</locationURI>
|
| 370 |
+
</link>
|
| 371 |
+
<link>
|
| 372 |
+
<name>bin/gcc-4.8/release/debug-symbols-on/link-static/threading-multi/VocabularyTest.o</name>
|
| 373 |
+
<type>1</type>
|
| 374 |
+
<locationURI>PARENT-3-PROJECT_LOC/mert/bin/gcc-4.8/release/debug-symbols-on/link-static/threading-multi/VocabularyTest.o</locationURI>
|
| 375 |
+
</link>
|
| 376 |
+
<link>
|
| 377 |
+
<name>bin/gcc-4.8/release/debug-symbols-on/link-static/threading-multi/bleu_scorer_test</name>
|
| 378 |
+
<type>1</type>
|
| 379 |
+
<locationURI>PARENT-3-PROJECT_LOC/mert/bin/gcc-4.8/release/debug-symbols-on/link-static/threading-multi/bleu_scorer_test</locationURI>
|
| 380 |
+
</link>
|
| 381 |
+
<link>
|
| 382 |
+
<name>bin/gcc-4.8/release/debug-symbols-on/link-static/threading-multi/bleu_scorer_test.passed</name>
|
| 383 |
+
<type>1</type>
|
| 384 |
+
<locationURI>PARENT-3-PROJECT_LOC/mert/bin/gcc-4.8/release/debug-symbols-on/link-static/threading-multi/bleu_scorer_test.passed</locationURI>
|
| 385 |
+
</link>
|
| 386 |
+
<link>
|
| 387 |
+
<name>bin/gcc-4.8/release/debug-symbols-on/link-static/threading-multi/data_test</name>
|
| 388 |
+
<type>1</type>
|
| 389 |
+
<locationURI>PARENT-3-PROJECT_LOC/mert/bin/gcc-4.8/release/debug-symbols-on/link-static/threading-multi/data_test</locationURI>
|
| 390 |
+
</link>
|
| 391 |
+
<link>
|
| 392 |
+
<name>bin/gcc-4.8/release/debug-symbols-on/link-static/threading-multi/data_test.passed</name>
|
| 393 |
+
<type>1</type>
|
| 394 |
+
<locationURI>PARENT-3-PROJECT_LOC/mert/bin/gcc-4.8/release/debug-symbols-on/link-static/threading-multi/data_test.passed</locationURI>
|
| 395 |
+
</link>
|
| 396 |
+
<link>
|
| 397 |
+
<name>bin/gcc-4.8/release/debug-symbols-on/link-static/threading-multi/evaluator</name>
|
| 398 |
+
<type>1</type>
|
| 399 |
+
<locationURI>PARENT-3-PROJECT_LOC/mert/bin/gcc-4.8/release/debug-symbols-on/link-static/threading-multi/evaluator</locationURI>
|
| 400 |
+
</link>
|
| 401 |
+
<link>
|
| 402 |
+
<name>bin/gcc-4.8/release/debug-symbols-on/link-static/threading-multi/evaluator.o</name>
|
| 403 |
+
<type>1</type>
|
| 404 |
+
<locationURI>PARENT-3-PROJECT_LOC/mert/bin/gcc-4.8/release/debug-symbols-on/link-static/threading-multi/evaluator.o</locationURI>
|
| 405 |
+
</link>
|
| 406 |
+
<link>
|
| 407 |
+
<name>bin/gcc-4.8/release/debug-symbols-on/link-static/threading-multi/extractor</name>
|
| 408 |
+
<type>1</type>
|
| 409 |
+
<locationURI>PARENT-3-PROJECT_LOC/mert/bin/gcc-4.8/release/debug-symbols-on/link-static/threading-multi/extractor</locationURI>
|
| 410 |
+
</link>
|
| 411 |
+
<link>
|
| 412 |
+
<name>bin/gcc-4.8/release/debug-symbols-on/link-static/threading-multi/extractor.o</name>
|
| 413 |
+
<type>1</type>
|
| 414 |
+
<locationURI>PARENT-3-PROJECT_LOC/mert/bin/gcc-4.8/release/debug-symbols-on/link-static/threading-multi/extractor.o</locationURI>
|
| 415 |
+
</link>
|
| 416 |
+
<link>
|
| 417 |
+
<name>bin/gcc-4.8/release/debug-symbols-on/link-static/threading-multi/feature_data_test</name>
|
| 418 |
+
<type>1</type>
|
| 419 |
+
<locationURI>PARENT-3-PROJECT_LOC/mert/bin/gcc-4.8/release/debug-symbols-on/link-static/threading-multi/feature_data_test</locationURI>
|
| 420 |
+
</link>
|
| 421 |
+
<link>
|
| 422 |
+
<name>bin/gcc-4.8/release/debug-symbols-on/link-static/threading-multi/feature_data_test.passed</name>
|
| 423 |
+
<type>1</type>
|
| 424 |
+
<locationURI>PARENT-3-PROJECT_LOC/mert/bin/gcc-4.8/release/debug-symbols-on/link-static/threading-multi/feature_data_test.passed</locationURI>
|
| 425 |
+
</link>
|
| 426 |
+
<link>
|
| 427 |
+
<name>bin/gcc-4.8/release/debug-symbols-on/link-static/threading-multi/kbmira</name>
|
| 428 |
+
<type>1</type>
|
| 429 |
+
<locationURI>PARENT-3-PROJECT_LOC/mert/bin/gcc-4.8/release/debug-symbols-on/link-static/threading-multi/kbmira</locationURI>
|
| 430 |
+
</link>
|
| 431 |
+
<link>
|
| 432 |
+
<name>bin/gcc-4.8/release/debug-symbols-on/link-static/threading-multi/kbmira.o</name>
|
| 433 |
+
<type>1</type>
|
| 434 |
+
<locationURI>PARENT-3-PROJECT_LOC/mert/bin/gcc-4.8/release/debug-symbols-on/link-static/threading-multi/kbmira.o</locationURI>
|
| 435 |
+
</link>
|
| 436 |
+
<link>
|
| 437 |
+
<name>bin/gcc-4.8/release/debug-symbols-on/link-static/threading-multi/libmert_lib.a</name>
|
| 438 |
+
<type>1</type>
|
| 439 |
+
<locationURI>PARENT-3-PROJECT_LOC/mert/bin/gcc-4.8/release/debug-symbols-on/link-static/threading-multi/libmert_lib.a</locationURI>
|
| 440 |
+
</link>
|
| 441 |
+
<link>
|
| 442 |
+
<name>bin/gcc-4.8/release/debug-symbols-on/link-static/threading-multi/mert</name>
|
| 443 |
+
<type>1</type>
|
| 444 |
+
<locationURI>PARENT-3-PROJECT_LOC/mert/bin/gcc-4.8/release/debug-symbols-on/link-static/threading-multi/mert</locationURI>
|
| 445 |
+
</link>
|
| 446 |
+
<link>
|
| 447 |
+
<name>bin/gcc-4.8/release/debug-symbols-on/link-static/threading-multi/mert.o</name>
|
| 448 |
+
<type>1</type>
|
| 449 |
+
<locationURI>PARENT-3-PROJECT_LOC/mert/bin/gcc-4.8/release/debug-symbols-on/link-static/threading-multi/mert.o</locationURI>
|
| 450 |
+
</link>
|
| 451 |
+
<link>
|
| 452 |
+
<name>bin/gcc-4.8/release/debug-symbols-on/link-static/threading-multi/ngram_test</name>
|
| 453 |
+
<type>1</type>
|
| 454 |
+
<locationURI>PARENT-3-PROJECT_LOC/mert/bin/gcc-4.8/release/debug-symbols-on/link-static/threading-multi/ngram_test</locationURI>
|
| 455 |
+
</link>
|
| 456 |
+
<link>
|
| 457 |
+
<name>bin/gcc-4.8/release/debug-symbols-on/link-static/threading-multi/ngram_test.passed</name>
|
| 458 |
+
<type>1</type>
|
| 459 |
+
<locationURI>PARENT-3-PROJECT_LOC/mert/bin/gcc-4.8/release/debug-symbols-on/link-static/threading-multi/ngram_test.passed</locationURI>
|
| 460 |
+
</link>
|
| 461 |
+
<link>
|
| 462 |
+
<name>bin/gcc-4.8/release/debug-symbols-on/link-static/threading-multi/optimizer_factory_test</name>
|
| 463 |
+
<type>1</type>
|
| 464 |
+
<locationURI>PARENT-3-PROJECT_LOC/mert/bin/gcc-4.8/release/debug-symbols-on/link-static/threading-multi/optimizer_factory_test</locationURI>
|
| 465 |
+
</link>
|
| 466 |
+
<link>
|
| 467 |
+
<name>bin/gcc-4.8/release/debug-symbols-on/link-static/threading-multi/optimizer_factory_test.passed</name>
|
| 468 |
+
<type>1</type>
|
| 469 |
+
<locationURI>PARENT-3-PROJECT_LOC/mert/bin/gcc-4.8/release/debug-symbols-on/link-static/threading-multi/optimizer_factory_test.passed</locationURI>
|
| 470 |
+
</link>
|
| 471 |
+
<link>
|
| 472 |
+
<name>bin/gcc-4.8/release/debug-symbols-on/link-static/threading-multi/point_test</name>
|
| 473 |
+
<type>1</type>
|
| 474 |
+
<locationURI>PARENT-3-PROJECT_LOC/mert/bin/gcc-4.8/release/debug-symbols-on/link-static/threading-multi/point_test</locationURI>
|
| 475 |
+
</link>
|
| 476 |
+
<link>
|
| 477 |
+
<name>bin/gcc-4.8/release/debug-symbols-on/link-static/threading-multi/point_test.passed</name>
|
| 478 |
+
<type>1</type>
|
| 479 |
+
<locationURI>PARENT-3-PROJECT_LOC/mert/bin/gcc-4.8/release/debug-symbols-on/link-static/threading-multi/point_test.passed</locationURI>
|
| 480 |
+
</link>
|
| 481 |
+
<link>
|
| 482 |
+
<name>bin/gcc-4.8/release/debug-symbols-on/link-static/threading-multi/pro</name>
|
| 483 |
+
<type>1</type>
|
| 484 |
+
<locationURI>PARENT-3-PROJECT_LOC/mert/bin/gcc-4.8/release/debug-symbols-on/link-static/threading-multi/pro</locationURI>
|
| 485 |
+
</link>
|
| 486 |
+
<link>
|
| 487 |
+
<name>bin/gcc-4.8/release/debug-symbols-on/link-static/threading-multi/pro.o</name>
|
| 488 |
+
<type>1</type>
|
| 489 |
+
<locationURI>PARENT-3-PROJECT_LOC/mert/bin/gcc-4.8/release/debug-symbols-on/link-static/threading-multi/pro.o</locationURI>
|
| 490 |
+
</link>
|
| 491 |
+
<link>
|
| 492 |
+
<name>bin/gcc-4.8/release/debug-symbols-on/link-static/threading-multi/reference_test</name>
|
| 493 |
+
<type>1</type>
|
| 494 |
+
<locationURI>PARENT-3-PROJECT_LOC/mert/bin/gcc-4.8/release/debug-symbols-on/link-static/threading-multi/reference_test</locationURI>
|
| 495 |
+
</link>
|
| 496 |
+
<link>
|
| 497 |
+
<name>bin/gcc-4.8/release/debug-symbols-on/link-static/threading-multi/reference_test.passed</name>
|
| 498 |
+
<type>1</type>
|
| 499 |
+
<locationURI>PARENT-3-PROJECT_LOC/mert/bin/gcc-4.8/release/debug-symbols-on/link-static/threading-multi/reference_test.passed</locationURI>
|
| 500 |
+
</link>
|
| 501 |
+
<link>
|
| 502 |
+
<name>bin/gcc-4.8/release/debug-symbols-on/link-static/threading-multi/sentence-bleu</name>
|
| 503 |
+
<type>1</type>
|
| 504 |
+
<locationURI>PARENT-3-PROJECT_LOC/mert/bin/gcc-4.8/release/debug-symbols-on/link-static/threading-multi/sentence-bleu</locationURI>
|
| 505 |
+
</link>
|
| 506 |
+
<link>
|
| 507 |
+
<name>bin/gcc-4.8/release/debug-symbols-on/link-static/threading-multi/sentence-bleu.o</name>
|
| 508 |
+
<type>1</type>
|
| 509 |
+
<locationURI>PARENT-3-PROJECT_LOC/mert/bin/gcc-4.8/release/debug-symbols-on/link-static/threading-multi/sentence-bleu.o</locationURI>
|
| 510 |
+
</link>
|
| 511 |
+
<link>
|
| 512 |
+
<name>bin/gcc-4.8/release/debug-symbols-on/link-static/threading-multi/singleton_test</name>
|
| 513 |
+
<type>1</type>
|
| 514 |
+
<locationURI>PARENT-3-PROJECT_LOC/mert/bin/gcc-4.8/release/debug-symbols-on/link-static/threading-multi/singleton_test</locationURI>
|
| 515 |
+
</link>
|
| 516 |
+
<link>
|
| 517 |
+
<name>bin/gcc-4.8/release/debug-symbols-on/link-static/threading-multi/singleton_test.passed</name>
|
| 518 |
+
<type>1</type>
|
| 519 |
+
<locationURI>PARENT-3-PROJECT_LOC/mert/bin/gcc-4.8/release/debug-symbols-on/link-static/threading-multi/singleton_test.passed</locationURI>
|
| 520 |
+
</link>
|
| 521 |
+
<link>
|
| 522 |
+
<name>bin/gcc-4.8/release/debug-symbols-on/link-static/threading-multi/timer_test</name>
|
| 523 |
+
<type>1</type>
|
| 524 |
+
<locationURI>PARENT-3-PROJECT_LOC/mert/bin/gcc-4.8/release/debug-symbols-on/link-static/threading-multi/timer_test</locationURI>
|
| 525 |
+
</link>
|
| 526 |
+
<link>
|
| 527 |
+
<name>bin/gcc-4.8/release/debug-symbols-on/link-static/threading-multi/timer_test.passed</name>
|
| 528 |
+
<type>1</type>
|
| 529 |
+
<locationURI>PARENT-3-PROJECT_LOC/mert/bin/gcc-4.8/release/debug-symbols-on/link-static/threading-multi/timer_test.passed</locationURI>
|
| 530 |
+
</link>
|
| 531 |
+
<link>
|
| 532 |
+
<name>bin/gcc-4.8/release/debug-symbols-on/link-static/threading-multi/util_test</name>
|
| 533 |
+
<type>1</type>
|
| 534 |
+
<locationURI>PARENT-3-PROJECT_LOC/mert/bin/gcc-4.8/release/debug-symbols-on/link-static/threading-multi/util_test</locationURI>
|
| 535 |
+
</link>
|
| 536 |
+
<link>
|
| 537 |
+
<name>bin/gcc-4.8/release/debug-symbols-on/link-static/threading-multi/util_test.passed</name>
|
| 538 |
+
<type>1</type>
|
| 539 |
+
<locationURI>PARENT-3-PROJECT_LOC/mert/bin/gcc-4.8/release/debug-symbols-on/link-static/threading-multi/util_test.passed</locationURI>
|
| 540 |
+
</link>
|
| 541 |
+
<link>
|
| 542 |
+
<name>bin/gcc-4.8/release/debug-symbols-on/link-static/threading-multi/vocabulary_test</name>
|
| 543 |
+
<type>1</type>
|
| 544 |
+
<locationURI>PARENT-3-PROJECT_LOC/mert/bin/gcc-4.8/release/debug-symbols-on/link-static/threading-multi/vocabulary_test</locationURI>
|
| 545 |
+
</link>
|
| 546 |
+
<link>
|
| 547 |
+
<name>bin/gcc-4.8/release/debug-symbols-on/link-static/threading-multi/vocabulary_test.passed</name>
|
| 548 |
+
<type>1</type>
|
| 549 |
+
<locationURI>PARENT-3-PROJECT_LOC/mert/bin/gcc-4.8/release/debug-symbols-on/link-static/threading-multi/vocabulary_test.passed</locationURI>
|
| 550 |
+
</link>
|
| 551 |
+
<link>
|
| 552 |
+
<name>bin/gcc-4.8/release/debug-symbols-on/link-static/threading-multi/TER/alignmentStruct.o</name>
|
| 553 |
+
<type>1</type>
|
| 554 |
+
<locationURI>PARENT-3-PROJECT_LOC/mert/bin/gcc-4.8/release/debug-symbols-on/link-static/threading-multi/TER/alignmentStruct.o</locationURI>
|
| 555 |
+
</link>
|
| 556 |
+
<link>
|
| 557 |
+
<name>bin/gcc-4.8/release/debug-symbols-on/link-static/threading-multi/TER/hashMap.o</name>
|
| 558 |
+
<type>1</type>
|
| 559 |
+
<locationURI>PARENT-3-PROJECT_LOC/mert/bin/gcc-4.8/release/debug-symbols-on/link-static/threading-multi/TER/hashMap.o</locationURI>
|
| 560 |
+
</link>
|
| 561 |
+
<link>
|
| 562 |
+
<name>bin/gcc-4.8/release/debug-symbols-on/link-static/threading-multi/TER/hashMapInfos.o</name>
|
| 563 |
+
<type>1</type>
|
| 564 |
+
<locationURI>PARENT-3-PROJECT_LOC/mert/bin/gcc-4.8/release/debug-symbols-on/link-static/threading-multi/TER/hashMapInfos.o</locationURI>
|
| 565 |
+
</link>
|
| 566 |
+
<link>
|
| 567 |
+
<name>bin/gcc-4.8/release/debug-symbols-on/link-static/threading-multi/TER/hashMapStringInfos.o</name>
|
| 568 |
+
<type>1</type>
|
| 569 |
+
<locationURI>PARENT-3-PROJECT_LOC/mert/bin/gcc-4.8/release/debug-symbols-on/link-static/threading-multi/TER/hashMapStringInfos.o</locationURI>
|
| 570 |
+
</link>
|
| 571 |
+
<link>
|
| 572 |
+
<name>bin/gcc-4.8/release/debug-symbols-on/link-static/threading-multi/TER/infosHasher.o</name>
|
| 573 |
+
<type>1</type>
|
| 574 |
+
<locationURI>PARENT-3-PROJECT_LOC/mert/bin/gcc-4.8/release/debug-symbols-on/link-static/threading-multi/TER/infosHasher.o</locationURI>
|
| 575 |
+
</link>
|
| 576 |
+
<link>
|
| 577 |
+
<name>bin/gcc-4.8/release/debug-symbols-on/link-static/threading-multi/TER/stringHasher.o</name>
|
| 578 |
+
<type>1</type>
|
| 579 |
+
<locationURI>PARENT-3-PROJECT_LOC/mert/bin/gcc-4.8/release/debug-symbols-on/link-static/threading-multi/TER/stringHasher.o</locationURI>
|
| 580 |
+
</link>
|
| 581 |
+
<link>
|
| 582 |
+
<name>bin/gcc-4.8/release/debug-symbols-on/link-static/threading-multi/TER/stringInfosHasher.o</name>
|
| 583 |
+
<type>1</type>
|
| 584 |
+
<locationURI>PARENT-3-PROJECT_LOC/mert/bin/gcc-4.8/release/debug-symbols-on/link-static/threading-multi/TER/stringInfosHasher.o</locationURI>
|
| 585 |
+
</link>
|
| 586 |
+
<link>
|
| 587 |
+
<name>bin/gcc-4.8/release/debug-symbols-on/link-static/threading-multi/TER/terAlignment.o</name>
|
| 588 |
+
<type>1</type>
|
| 589 |
+
<locationURI>PARENT-3-PROJECT_LOC/mert/bin/gcc-4.8/release/debug-symbols-on/link-static/threading-multi/TER/terAlignment.o</locationURI>
|
| 590 |
+
</link>
|
| 591 |
+
<link>
|
| 592 |
+
<name>bin/gcc-4.8/release/debug-symbols-on/link-static/threading-multi/TER/terShift.o</name>
|
| 593 |
+
<type>1</type>
|
| 594 |
+
<locationURI>PARENT-3-PROJECT_LOC/mert/bin/gcc-4.8/release/debug-symbols-on/link-static/threading-multi/TER/terShift.o</locationURI>
|
| 595 |
+
</link>
|
| 596 |
+
<link>
|
| 597 |
+
<name>bin/gcc-4.8/release/debug-symbols-on/link-static/threading-multi/TER/tercalc.o</name>
|
| 598 |
+
<type>1</type>
|
| 599 |
+
<locationURI>PARENT-3-PROJECT_LOC/mert/bin/gcc-4.8/release/debug-symbols-on/link-static/threading-multi/TER/tercalc.o</locationURI>
|
| 600 |
+
</link>
|
| 601 |
+
<link>
|
| 602 |
+
<name>bin/gcc-4.8/release/debug-symbols-on/link-static/threading-multi/TER/tools.o</name>
|
| 603 |
+
<type>1</type>
|
| 604 |
+
<locationURI>PARENT-3-PROJECT_LOC/mert/bin/gcc-4.8/release/debug-symbols-on/link-static/threading-multi/TER/tools.o</locationURI>
|
| 605 |
+
</link>
|
| 606 |
+
</linkedResources>
|
| 607 |
+
</projectDescription>
|
mosesdecoder/contrib/other-builds/lm/lm.project
ADDED
|
@@ -0,0 +1,140 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
<?xml version="1.0" encoding="UTF-8"?>
|
| 2 |
+
<CodeLite_Project Name="lm" InternalType="Library">
|
| 3 |
+
<Plugins>
|
| 4 |
+
<Plugin Name="CMakePlugin">
|
| 5 |
+
<![CDATA[[{
|
| 6 |
+
"name": "Debug",
|
| 7 |
+
"enabled": false,
|
| 8 |
+
"buildDirectory": "build",
|
| 9 |
+
"sourceDirectory": "$(ProjectPath)",
|
| 10 |
+
"generator": "",
|
| 11 |
+
"buildType": "",
|
| 12 |
+
"arguments": [],
|
| 13 |
+
"parentProject": ""
|
| 14 |
+
}]]]>
|
| 15 |
+
</Plugin>
|
| 16 |
+
<Plugin Name="qmake">
|
| 17 |
+
<![CDATA[00010001N0005Debug000000000000]]>
|
| 18 |
+
</Plugin>
|
| 19 |
+
</Plugins>
|
| 20 |
+
<Description/>
|
| 21 |
+
<Dependencies/>
|
| 22 |
+
<VirtualDirectory Name="src"/>
|
| 23 |
+
<VirtualDirectory Name="include"/>
|
| 24 |
+
<VirtualDirectory Name="lm">
|
| 25 |
+
<File Name="../../../lm/bhiksha.cc"/>
|
| 26 |
+
<File Name="../../../lm/binary_format.cc"/>
|
| 27 |
+
<File Name="../../../lm/build_binary_main.cc" ExcludeProjConfig="Debug"/>
|
| 28 |
+
<File Name="../../../lm/config.cc"/>
|
| 29 |
+
<File Name="../../../lm/fragment_main.cc"/>
|
| 30 |
+
<File Name="../../../lm/left_test.cc"/>
|
| 31 |
+
<File Name="../../../lm/lm_exception.cc"/>
|
| 32 |
+
<File Name="../../../lm/model.cc"/>
|
| 33 |
+
<File Name="../../../lm/model_test.cc" ExcludeProjConfig="Debug"/>
|
| 34 |
+
<File Name="../../../lm/partial_test.cc" ExcludeProjConfig="Debug"/>
|
| 35 |
+
<File Name="../../../lm/quantize.cc"/>
|
| 36 |
+
<File Name="../../../lm/query_main.cc"/>
|
| 37 |
+
<File Name="../../../lm/read_arpa.cc"/>
|
| 38 |
+
<File Name="../../../lm/search_hashed.cc"/>
|
| 39 |
+
<File Name="../../../lm/search_trie.cc"/>
|
| 40 |
+
<File Name="../../../lm/sizes.cc"/>
|
| 41 |
+
<File Name="../../../lm/trie.cc"/>
|
| 42 |
+
<File Name="../../../lm/trie_sort.cc"/>
|
| 43 |
+
<File Name="../../../lm/value_build.cc"/>
|
| 44 |
+
<File Name="../../../lm/virtual_interface.cc"/>
|
| 45 |
+
<File Name="../../../lm/vocab.cc"/>
|
| 46 |
+
</VirtualDirectory>
|
| 47 |
+
<Dependencies Name="Debug"/>
|
| 48 |
+
<Dependencies Name="Release"/>
|
| 49 |
+
<Settings Type="Static Library">
|
| 50 |
+
<GlobalSettings>
|
| 51 |
+
<Compiler Options="" C_Options="" Assembler="">
|
| 52 |
+
<IncludePath Value="."/>
|
| 53 |
+
</Compiler>
|
| 54 |
+
<Linker Options="">
|
| 55 |
+
<LibraryPath Value="."/>
|
| 56 |
+
</Linker>
|
| 57 |
+
<ResourceCompiler Options=""/>
|
| 58 |
+
</GlobalSettings>
|
| 59 |
+
<Configuration Name="Debug" CompilerType="GCC" DebuggerType="LLDB Debugger" Type="Static Library" BuildCmpWithGlobalSettings="append" BuildLnkWithGlobalSettings="append" BuildResWithGlobalSettings="append">
|
| 60 |
+
<Compiler Options="-g" C_Options="-g" Assembler="" Required="yes" PreCompiledHeader="" PCHInCommandLine="no" PCHFlags="" PCHFlagsPolicy="0">
|
| 61 |
+
<IncludePath Value="."/>
|
| 62 |
+
<IncludePath Value="../../.."/>
|
| 63 |
+
<IncludePath Value="../../../phrase-extract"/>
|
| 64 |
+
<IncludePath Value="../../../boost/include"/>
|
| 65 |
+
<Preprocessor Value="KENLM_MAX_ORDER=7"/>
|
| 66 |
+
</Compiler>
|
| 67 |
+
<Linker Options="" Required="yes"/>
|
| 68 |
+
<ResourceCompiler Options="" Required="no"/>
|
| 69 |
+
<General OutputFile="$(IntermediateDirectory)/lib$(ProjectName).a" IntermediateDirectory="./Debug" Command="" CommandArguments="" UseSeparateDebugArgs="no" DebugArguments="" WorkingDirectory="$(IntermediateDirectory)" PauseExecWhenProcTerminates="yes" IsGUIProgram="no" IsEnabled="yes"/>
|
| 70 |
+
<Environment EnvVarSetName="<Use Defaults>" DbgSetName="<Use Defaults>">
|
| 71 |
+
<![CDATA[]]>
|
| 72 |
+
</Environment>
|
| 73 |
+
<Debugger IsRemote="no" RemoteHostName="" RemoteHostPort="" DebuggerPath="" IsExtended="yes">
|
| 74 |
+
<DebuggerSearchPaths/>
|
| 75 |
+
<PostConnectCommands/>
|
| 76 |
+
<StartupCommands/>
|
| 77 |
+
</Debugger>
|
| 78 |
+
<PreBuild/>
|
| 79 |
+
<PostBuild/>
|
| 80 |
+
<CustomBuild Enabled="no">
|
| 81 |
+
<RebuildCommand/>
|
| 82 |
+
<CleanCommand/>
|
| 83 |
+
<BuildCommand/>
|
| 84 |
+
<PreprocessFileCommand/>
|
| 85 |
+
<SingleFileCommand/>
|
| 86 |
+
<MakefileGenerationCommand/>
|
| 87 |
+
<ThirdPartyToolName/>
|
| 88 |
+
<WorkingDirectory/>
|
| 89 |
+
</CustomBuild>
|
| 90 |
+
<AdditionalRules>
|
| 91 |
+
<CustomPostBuild/>
|
| 92 |
+
<CustomPreBuild/>
|
| 93 |
+
</AdditionalRules>
|
| 94 |
+
<Completion EnableCpp11="no" EnableCpp14="no">
|
| 95 |
+
<ClangCmpFlagsC/>
|
| 96 |
+
<ClangCmpFlags/>
|
| 97 |
+
<ClangPP/>
|
| 98 |
+
<SearchPaths/>
|
| 99 |
+
</Completion>
|
| 100 |
+
</Configuration>
|
| 101 |
+
<Configuration Name="Release" CompilerType="clang( based on LLVM 3.5svn )" DebuggerType="LLDB Debugger" Type="Static Library" BuildCmpWithGlobalSettings="append" BuildLnkWithGlobalSettings="append" BuildResWithGlobalSettings="append">
|
| 102 |
+
<Compiler Options="" C_Options="" Assembler="" Required="yes" PreCompiledHeader="" PCHInCommandLine="no" PCHFlags="" PCHFlagsPolicy="0">
|
| 103 |
+
<IncludePath Value="."/>
|
| 104 |
+
</Compiler>
|
| 105 |
+
<Linker Options="" Required="yes"/>
|
| 106 |
+
<ResourceCompiler Options="" Required="no"/>
|
| 107 |
+
<General OutputFile="$(IntermediateDirectory)/lib$(ProjectName).a" IntermediateDirectory="./Release" Command="" CommandArguments="" UseSeparateDebugArgs="no" DebugArguments="" WorkingDirectory="$(IntermediateDirectory)" PauseExecWhenProcTerminates="yes" IsGUIProgram="no" IsEnabled="yes"/>
|
| 108 |
+
<Environment EnvVarSetName="<Use Defaults>" DbgSetName="<Use Defaults>">
|
| 109 |
+
<![CDATA[]]>
|
| 110 |
+
</Environment>
|
| 111 |
+
<Debugger IsRemote="no" RemoteHostName="" RemoteHostPort="" DebuggerPath="" IsExtended="yes">
|
| 112 |
+
<DebuggerSearchPaths/>
|
| 113 |
+
<PostConnectCommands/>
|
| 114 |
+
<StartupCommands/>
|
| 115 |
+
</Debugger>
|
| 116 |
+
<PreBuild/>
|
| 117 |
+
<PostBuild/>
|
| 118 |
+
<CustomBuild Enabled="no">
|
| 119 |
+
<RebuildCommand/>
|
| 120 |
+
<CleanCommand/>
|
| 121 |
+
<BuildCommand/>
|
| 122 |
+
<PreprocessFileCommand/>
|
| 123 |
+
<SingleFileCommand/>
|
| 124 |
+
<MakefileGenerationCommand/>
|
| 125 |
+
<ThirdPartyToolName/>
|
| 126 |
+
<WorkingDirectory/>
|
| 127 |
+
</CustomBuild>
|
| 128 |
+
<AdditionalRules>
|
| 129 |
+
<CustomPostBuild/>
|
| 130 |
+
<CustomPreBuild/>
|
| 131 |
+
</AdditionalRules>
|
| 132 |
+
<Completion EnableCpp11="no" EnableCpp14="no">
|
| 133 |
+
<ClangCmpFlagsC/>
|
| 134 |
+
<ClangCmpFlags/>
|
| 135 |
+
<ClangPP/>
|
| 136 |
+
<SearchPaths/>
|
| 137 |
+
</Completion>
|
| 138 |
+
</Configuration>
|
| 139 |
+
</Settings>
|
| 140 |
+
</CodeLite_Project>
|
mosesdecoder/contrib/other-builds/moses-cmd/.cproject
ADDED
|
@@ -0,0 +1,187 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
| 2 |
+
<?fileVersion 4.0.0?><cproject storage_type_id="org.eclipse.cdt.core.XmlProjectDescriptionStorage">
|
| 3 |
+
<storageModule moduleId="org.eclipse.cdt.core.settings">
|
| 4 |
+
<cconfiguration id="cdt.managedbuild.config.gnu.exe.debug.461114338">
|
| 5 |
+
<storageModule buildSystemId="org.eclipse.cdt.managedbuilder.core.configurationDataProvider" id="cdt.managedbuild.config.gnu.exe.debug.461114338" moduleId="org.eclipse.cdt.core.settings" name="Debug">
|
| 6 |
+
<externalSettings/>
|
| 7 |
+
<extensions>
|
| 8 |
+
<extension id="org.eclipse.cdt.core.ELF" point="org.eclipse.cdt.core.BinaryParser"/>
|
| 9 |
+
<extension id="org.eclipse.cdt.core.MachO64" point="org.eclipse.cdt.core.BinaryParser"/>
|
| 10 |
+
<extension id="org.eclipse.cdt.core.GmakeErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
|
| 11 |
+
<extension id="org.eclipse.cdt.core.CWDLocator" point="org.eclipse.cdt.core.ErrorParser"/>
|
| 12 |
+
<extension id="org.eclipse.cdt.core.GCCErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
|
| 13 |
+
<extension id="org.eclipse.cdt.core.GASErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
|
| 14 |
+
<extension id="org.eclipse.cdt.core.GLDErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
|
| 15 |
+
</extensions>
|
| 16 |
+
</storageModule>
|
| 17 |
+
<storageModule moduleId="cdtBuildSystem" version="4.0.0">
|
| 18 |
+
<configuration artifactName="${ProjName}" buildArtefactType="org.eclipse.cdt.build.core.buildArtefactType.exe" buildProperties="org.eclipse.cdt.build.core.buildArtefactType=org.eclipse.cdt.build.core.buildArtefactType.exe,org.eclipse.cdt.build.core.buildType=org.eclipse.cdt.build.core.buildType.debug" cleanCommand="rm -rf" description="" id="cdt.managedbuild.config.gnu.exe.debug.461114338" name="Debug" parent="cdt.managedbuild.config.gnu.exe.debug">
|
| 19 |
+
<folderInfo id="cdt.managedbuild.config.gnu.exe.debug.461114338." name="/" resourcePath="">
|
| 20 |
+
<toolChain id="cdt.managedbuild.toolchain.gnu.exe.debug.1896491482" name="Linux GCC" superClass="cdt.managedbuild.toolchain.gnu.exe.debug">
|
| 21 |
+
<targetPlatform binaryParser="org.eclipse.cdt.core.ELF;org.eclipse.cdt.core.MachO64" id="cdt.managedbuild.target.gnu.platform.exe.debug.2144309834" name="Debug Platform" superClass="cdt.managedbuild.target.gnu.platform.exe.debug"/>
|
| 22 |
+
<builder buildPath="${workspace_loc:/moses-cmd/Debug}" id="cdt.managedbuild.target.gnu.builder.exe.debug.56664170" keepEnvironmentInBuildfile="false" managedBuildOn="true" name="Gnu Make Builder" parallelBuildOn="true" parallelizationNumber="optimal" superClass="cdt.managedbuild.target.gnu.builder.exe.debug"/>
|
| 23 |
+
<tool id="cdt.managedbuild.tool.gnu.archiver.base.1278274354" name="GCC Archiver" superClass="cdt.managedbuild.tool.gnu.archiver.base"/>
|
| 24 |
+
<tool id="cdt.managedbuild.tool.gnu.cpp.compiler.exe.debug.626095182" name="GCC C++ Compiler" superClass="cdt.managedbuild.tool.gnu.cpp.compiler.exe.debug">
|
| 25 |
+
<option id="gnu.cpp.compiler.exe.debug.option.optimization.level.2084031389" name="Optimization Level" superClass="gnu.cpp.compiler.exe.debug.option.optimization.level" useByScannerDiscovery="false" value="gnu.cpp.compiler.optimization.level.none" valueType="enumerated"/>
|
| 26 |
+
<option id="gnu.cpp.compiler.exe.debug.option.debugging.level.811344734" name="Debug Level" superClass="gnu.cpp.compiler.exe.debug.option.debugging.level" useByScannerDiscovery="false" value="gnu.cpp.compiler.debugging.level.max" valueType="enumerated"/>
|
| 27 |
+
<option id="gnu.cpp.compiler.option.include.paths.2118465683" name="Include paths (-I)" superClass="gnu.cpp.compiler.option.include.paths" useByScannerDiscovery="false" valueType="includePath">
|
| 28 |
+
<listOptionValue builtIn="false" value="/opt/local/include/"/>
|
| 29 |
+
<listOptionValue builtIn="false" value=""${workspace_loc}/../../boost/include""/>
|
| 30 |
+
<listOptionValue builtIn="false" value=""${workspace_loc}/../..""/>
|
| 31 |
+
<listOptionValue builtIn="false" value=""${workspace_loc}/../../cmph/include""/>
|
| 32 |
+
</option>
|
| 33 |
+
<option id="gnu.cpp.compiler.option.preprocessor.def.849384962" name="Defined symbols (-D)" superClass="gnu.cpp.compiler.option.preprocessor.def" useByScannerDiscovery="false" valueType="definedSymbols">
|
| 34 |
+
<listOptionValue builtIn="false" value="WITH_THREADS"/>
|
| 35 |
+
<listOptionValue builtIn="false" value="KENLM_MAX_ORDER=7"/>
|
| 36 |
+
<listOptionValue builtIn="false" value="HAVE_BOOST"/>
|
| 37 |
+
<listOptionValue builtIn="false" value="MAX_NUM_FACTORS=4"/>
|
| 38 |
+
</option>
|
| 39 |
+
<inputType id="cdt.managedbuild.tool.gnu.cpp.compiler.input.363379373" superClass="cdt.managedbuild.tool.gnu.cpp.compiler.input"/>
|
| 40 |
+
</tool>
|
| 41 |
+
<tool id="cdt.managedbuild.tool.gnu.c.compiler.exe.debug.504208780" name="GCC C Compiler" superClass="cdt.managedbuild.tool.gnu.c.compiler.exe.debug">
|
| 42 |
+
<option defaultValue="gnu.c.optimization.level.none" id="gnu.c.compiler.exe.debug.option.optimization.level.782785840" name="Optimization Level" superClass="gnu.c.compiler.exe.debug.option.optimization.level" useByScannerDiscovery="false" valueType="enumerated"/>
|
| 43 |
+
<option id="gnu.c.compiler.exe.debug.option.debugging.level.1722468661" name="Debug Level" superClass="gnu.c.compiler.exe.debug.option.debugging.level" useByScannerDiscovery="false" value="gnu.c.debugging.level.max" valueType="enumerated"/>
|
| 44 |
+
<option id="gnu.c.compiler.option.dialect.std.1946460401" superClass="gnu.c.compiler.option.dialect.std" useByScannerDiscovery="true" value="gnu.c.compiler.dialect.c11" valueType="enumerated"/>
|
| 45 |
+
<inputType id="cdt.managedbuild.tool.gnu.c.compiler.input.860636318" superClass="cdt.managedbuild.tool.gnu.c.compiler.input"/>
|
| 46 |
+
</tool>
|
| 47 |
+
<tool id="cdt.managedbuild.tool.gnu.c.linker.exe.debug.2096997198" name="GCC C Linker" superClass="cdt.managedbuild.tool.gnu.c.linker.exe.debug"/>
|
| 48 |
+
<tool id="cdt.managedbuild.tool.gnu.cpp.linker.exe.debug.1546774818" name="GCC C++ Linker" superClass="cdt.managedbuild.tool.gnu.cpp.linker.exe.debug">
|
| 49 |
+
<option id="gnu.cpp.link.option.paths.523170942" name="Library search path (-L)" superClass="gnu.cpp.link.option.paths" valueType="libPaths">
|
| 50 |
+
<listOptionValue builtIn="false" value=""${workspace_loc:}/../../boost/lib64""/>
|
| 51 |
+
<listOptionValue builtIn="false" value=""${workspace_loc:}/probingpt/Debug""/>
|
| 52 |
+
<listOptionValue builtIn="false" value="/home/hieu/workspace/xmlrpc-c/xmlrpc-c-1.39.07/lib"/>
|
| 53 |
+
<listOptionValue builtIn="false" value=""${workspace_loc}/../../cmph/lib""/>
|
| 54 |
+
<listOptionValue builtIn="false" value=""${workspace_loc}/../../xmlrpc-c/lib""/>
|
| 55 |
+
<listOptionValue builtIn="false" value=""${workspace_loc:}/moses/Debug""/>
|
| 56 |
+
<listOptionValue builtIn="false" value=""${workspace_loc:}/lm/Debug""/>
|
| 57 |
+
<listOptionValue builtIn="false" value=""${workspace_loc:}/OnDiskPt/Debug""/>
|
| 58 |
+
<listOptionValue builtIn="false" value=""${workspace_loc:}/util/Debug""/>
|
| 59 |
+
<listOptionValue builtIn="false" value=""${workspace_loc:}/search/Debug""/>
|
| 60 |
+
<listOptionValue builtIn="false" value="/opt/local/lib"/>
|
| 61 |
+
</option>
|
| 62 |
+
<option id="gnu.cpp.link.option.libs.998577284" name="Libraries (-l)" superClass="gnu.cpp.link.option.libs" valueType="libs">
|
| 63 |
+
<listOptionValue builtIn="false" value="moses"/>
|
| 64 |
+
<listOptionValue builtIn="false" value="xmlrpc_xmltok"/>
|
| 65 |
+
<listOptionValue builtIn="false" value="xmlrpc_xmlparse"/>
|
| 66 |
+
<listOptionValue builtIn="false" value="xmlrpc_util++"/>
|
| 67 |
+
<listOptionValue builtIn="false" value="xmlrpc_util"/>
|
| 68 |
+
<listOptionValue builtIn="false" value="xmlrpc_server_abyss++"/>
|
| 69 |
+
<listOptionValue builtIn="false" value="xmlrpc_server_abyss"/>
|
| 70 |
+
<listOptionValue builtIn="false" value="xmlrpc_server++"/>
|
| 71 |
+
<listOptionValue builtIn="false" value="xmlrpc_server"/>
|
| 72 |
+
<listOptionValue builtIn="false" value="xmlrpc_abyss"/>
|
| 73 |
+
<listOptionValue builtIn="false" value="xmlrpc++"/>
|
| 74 |
+
<listOptionValue builtIn="false" value="xmlrpc"/>
|
| 75 |
+
<listOptionValue builtIn="false" value="cmph"/>
|
| 76 |
+
<listOptionValue builtIn="false" value="search"/>
|
| 77 |
+
<listOptionValue builtIn="false" value="OnDiskPt"/>
|
| 78 |
+
<listOptionValue builtIn="false" value="lm"/>
|
| 79 |
+
<listOptionValue builtIn="false" value="util"/>
|
| 80 |
+
<listOptionValue builtIn="false" value="boost_iostreams"/>
|
| 81 |
+
<listOptionValue builtIn="false" value="boost_serialization"/>
|
| 82 |
+
<listOptionValue builtIn="false" value="boost_system"/>
|
| 83 |
+
<listOptionValue builtIn="false" value="boost_thread"/>
|
| 84 |
+
<listOptionValue builtIn="false" value="boost_filesystem"/>
|
| 85 |
+
<listOptionValue builtIn="false" value="boost_program_options"/>
|
| 86 |
+
<listOptionValue builtIn="false" value="pthread"/>
|
| 87 |
+
<listOptionValue builtIn="false" value="z"/>
|
| 88 |
+
<listOptionValue builtIn="false" value="bz2"/>
|
| 89 |
+
<listOptionValue builtIn="false" value="dl"/>
|
| 90 |
+
<listOptionValue builtIn="false" value="probingpt"/>
|
| 91 |
+
<listOptionValue builtIn="false" value="rt"/>
|
| 92 |
+
</option>
|
| 93 |
+
<option id="gnu.cpp.link.option.userobjs.1542590830" name="Other objects" superClass="gnu.cpp.link.option.userobjs"/>
|
| 94 |
+
<inputType id="cdt.managedbuild.tool.gnu.cpp.linker.input.983725033" superClass="cdt.managedbuild.tool.gnu.cpp.linker.input">
|
| 95 |
+
<additionalInput kind="additionalinputdependency" paths="$(USER_OBJS)"/>
|
| 96 |
+
<additionalInput kind="additionalinput" paths="$(LIBS)"/>
|
| 97 |
+
</inputType>
|
| 98 |
+
</tool>
|
| 99 |
+
<tool id="cdt.managedbuild.tool.gnu.assembler.exe.debug.1646579979" name="GCC Assembler" superClass="cdt.managedbuild.tool.gnu.assembler.exe.debug">
|
| 100 |
+
<inputType id="cdt.managedbuild.tool.gnu.assembler.input.1206872262" superClass="cdt.managedbuild.tool.gnu.assembler.input"/>
|
| 101 |
+
</tool>
|
| 102 |
+
</toolChain>
|
| 103 |
+
</folderInfo>
|
| 104 |
+
<sourceEntries>
|
| 105 |
+
<entry excluding="LatticeMBRGrid.cpp" flags="VALUE_WORKSPACE_PATH|RESOLVED" kind="sourcePath" name=""/>
|
| 106 |
+
</sourceEntries>
|
| 107 |
+
</configuration>
|
| 108 |
+
</storageModule>
|
| 109 |
+
<storageModule moduleId="org.eclipse.cdt.core.externalSettings"/>
|
| 110 |
+
</cconfiguration>
|
| 111 |
+
<cconfiguration id="cdt.managedbuild.config.gnu.exe.release.2121690436">
|
| 112 |
+
<storageModule buildSystemId="org.eclipse.cdt.managedbuilder.core.configurationDataProvider" id="cdt.managedbuild.config.gnu.exe.release.2121690436" moduleId="org.eclipse.cdt.core.settings" name="Release">
|
| 113 |
+
<externalSettings/>
|
| 114 |
+
<extensions>
|
| 115 |
+
<extension id="org.eclipse.cdt.core.ELF" point="org.eclipse.cdt.core.BinaryParser"/>
|
| 116 |
+
<extension id="org.eclipse.cdt.core.MachO64" point="org.eclipse.cdt.core.BinaryParser"/>
|
| 117 |
+
<extension id="org.eclipse.cdt.core.GmakeErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
|
| 118 |
+
<extension id="org.eclipse.cdt.core.CWDLocator" point="org.eclipse.cdt.core.ErrorParser"/>
|
| 119 |
+
<extension id="org.eclipse.cdt.core.GCCErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
|
| 120 |
+
<extension id="org.eclipse.cdt.core.GASErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
|
| 121 |
+
<extension id="org.eclipse.cdt.core.GLDErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
|
| 122 |
+
</extensions>
|
| 123 |
+
</storageModule>
|
| 124 |
+
<storageModule moduleId="cdtBuildSystem" version="4.0.0">
|
| 125 |
+
<configuration artifactName="${ProjName}" buildArtefactType="org.eclipse.cdt.build.core.buildArtefactType.exe" buildProperties="org.eclipse.cdt.build.core.buildArtefactType=org.eclipse.cdt.build.core.buildArtefactType.exe,org.eclipse.cdt.build.core.buildType=org.eclipse.cdt.build.core.buildType.release" cleanCommand="rm -rf" description="" id="cdt.managedbuild.config.gnu.exe.release.2121690436" name="Release" parent="cdt.managedbuild.config.gnu.exe.release">
|
| 126 |
+
<folderInfo id="cdt.managedbuild.config.gnu.exe.release.2121690436." name="/" resourcePath="">
|
| 127 |
+
<toolChain id="cdt.managedbuild.toolchain.gnu.exe.release.1577734572" name="Linux GCC" superClass="cdt.managedbuild.toolchain.gnu.exe.release">
|
| 128 |
+
<targetPlatform binaryParser="org.eclipse.cdt.core.ELF;org.eclipse.cdt.core.MachO64" id="cdt.managedbuild.target.gnu.platform.exe.release.1535487925" name="Debug Platform" superClass="cdt.managedbuild.target.gnu.platform.exe.release"/>
|
| 129 |
+
<builder buildPath="${workspace_loc:/moses-cmd/Release}" id="cdt.managedbuild.target.gnu.builder.exe.release.2122426151" keepEnvironmentInBuildfile="false" managedBuildOn="true" name="Gnu Make Builder" superClass="cdt.managedbuild.target.gnu.builder.exe.release"/>
|
| 130 |
+
<tool id="cdt.managedbuild.tool.gnu.archiver.base.441254004" name="GCC Archiver" superClass="cdt.managedbuild.tool.gnu.archiver.base"/>
|
| 131 |
+
<tool id="cdt.managedbuild.tool.gnu.cpp.compiler.exe.release.376987001" name="GCC C++ Compiler" superClass="cdt.managedbuild.tool.gnu.cpp.compiler.exe.release">
|
| 132 |
+
<option id="gnu.cpp.compiler.exe.release.option.optimization.level.1276092407" name="Optimization Level" superClass="gnu.cpp.compiler.exe.release.option.optimization.level" useByScannerDiscovery="false" value="gnu.cpp.compiler.optimization.level.most" valueType="enumerated"/>
|
| 133 |
+
<option id="gnu.cpp.compiler.exe.release.option.debugging.level.1794377625" name="Debug Level" superClass="gnu.cpp.compiler.exe.release.option.debugging.level" useByScannerDiscovery="false" value="gnu.cpp.compiler.debugging.level.none" valueType="enumerated"/>
|
| 134 |
+
<inputType id="cdt.managedbuild.tool.gnu.cpp.compiler.input.93276909" superClass="cdt.managedbuild.tool.gnu.cpp.compiler.input"/>
|
| 135 |
+
</tool>
|
| 136 |
+
<tool id="cdt.managedbuild.tool.gnu.c.compiler.exe.release.1553350132" name="GCC C Compiler" superClass="cdt.managedbuild.tool.gnu.c.compiler.exe.release">
|
| 137 |
+
<option defaultValue="gnu.c.optimization.level.most" id="gnu.c.compiler.exe.release.option.optimization.level.93522212" name="Optimization Level" superClass="gnu.c.compiler.exe.release.option.optimization.level" useByScannerDiscovery="false" valueType="enumerated"/>
|
| 138 |
+
<option id="gnu.c.compiler.exe.release.option.debugging.level.1860716465" name="Debug Level" superClass="gnu.c.compiler.exe.release.option.debugging.level" useByScannerDiscovery="false" value="gnu.c.debugging.level.none" valueType="enumerated"/>
|
| 139 |
+
<inputType id="cdt.managedbuild.tool.gnu.c.compiler.input.1508465135" superClass="cdt.managedbuild.tool.gnu.c.compiler.input"/>
|
| 140 |
+
</tool>
|
| 141 |
+
<tool id="cdt.managedbuild.tool.gnu.c.linker.exe.release.1658143889" name="GCC C Linker" superClass="cdt.managedbuild.tool.gnu.c.linker.exe.release"/>
|
| 142 |
+
<tool id="cdt.managedbuild.tool.gnu.cpp.linker.exe.release.378727798" name="GCC C++ Linker" superClass="cdt.managedbuild.tool.gnu.cpp.linker.exe.release">
|
| 143 |
+
<inputType id="cdt.managedbuild.tool.gnu.cpp.linker.input.1701769819" superClass="cdt.managedbuild.tool.gnu.cpp.linker.input">
|
| 144 |
+
<additionalInput kind="additionalinputdependency" paths="$(USER_OBJS)"/>
|
| 145 |
+
<additionalInput kind="additionalinput" paths="$(LIBS)"/>
|
| 146 |
+
</inputType>
|
| 147 |
+
</tool>
|
| 148 |
+
<tool id="cdt.managedbuild.tool.gnu.assembler.exe.release.1550193619" name="GCC Assembler" superClass="cdt.managedbuild.tool.gnu.assembler.exe.release">
|
| 149 |
+
<inputType id="cdt.managedbuild.tool.gnu.assembler.input.1296687303" superClass="cdt.managedbuild.tool.gnu.assembler.input"/>
|
| 150 |
+
</tool>
|
| 151 |
+
</toolChain>
|
| 152 |
+
</folderInfo>
|
| 153 |
+
</configuration>
|
| 154 |
+
</storageModule>
|
| 155 |
+
<storageModule moduleId="org.eclipse.cdt.core.externalSettings"/>
|
| 156 |
+
</cconfiguration>
|
| 157 |
+
</storageModule>
|
| 158 |
+
<storageModule moduleId="cdtBuildSystem" version="4.0.0">
|
| 159 |
+
<project id="moses-cmd.cdt.managedbuild.target.gnu.exe.1380109162" name="Executable" projectType="cdt.managedbuild.target.gnu.exe"/>
|
| 160 |
+
</storageModule>
|
| 161 |
+
<storageModule moduleId="scannerConfiguration">
|
| 162 |
+
<autodiscovery enabled="true" problemReportingEnabled="true" selectedProfileId=""/>
|
| 163 |
+
<scannerConfigBuildInfo instanceId="cdt.managedbuild.config.gnu.exe.release.2121690436;cdt.managedbuild.config.gnu.exe.release.2121690436.;cdt.managedbuild.tool.gnu.c.compiler.exe.release.1553350132;cdt.managedbuild.tool.gnu.c.compiler.input.1508465135">
|
| 164 |
+
<autodiscovery enabled="true" problemReportingEnabled="true" selectedProfileId="org.eclipse.cdt.managedbuilder.core.GCCManagedMakePerProjectProfileC"/>
|
| 165 |
+
</scannerConfigBuildInfo>
|
| 166 |
+
<scannerConfigBuildInfo instanceId="cdt.managedbuild.config.gnu.exe.debug.461114338;cdt.managedbuild.config.gnu.exe.debug.461114338.;cdt.managedbuild.tool.gnu.c.compiler.exe.debug.504208780;cdt.managedbuild.tool.gnu.c.compiler.input.860636318">
|
| 167 |
+
<autodiscovery enabled="true" problemReportingEnabled="true" selectedProfileId="org.eclipse.cdt.managedbuilder.core.GCCManagedMakePerProjectProfileC"/>
|
| 168 |
+
</scannerConfigBuildInfo>
|
| 169 |
+
<scannerConfigBuildInfo instanceId="cdt.managedbuild.config.gnu.exe.debug.461114338;cdt.managedbuild.config.gnu.exe.debug.461114338.;cdt.managedbuild.tool.gnu.cpp.compiler.exe.debug.626095182;cdt.managedbuild.tool.gnu.cpp.compiler.input.363379373">
|
| 170 |
+
<autodiscovery enabled="true" problemReportingEnabled="true" selectedProfileId="org.eclipse.cdt.managedbuilder.core.GCCManagedMakePerProjectProfileCPP"/>
|
| 171 |
+
</scannerConfigBuildInfo>
|
| 172 |
+
<scannerConfigBuildInfo instanceId="cdt.managedbuild.config.gnu.exe.release.2121690436;cdt.managedbuild.config.gnu.exe.release.2121690436.;cdt.managedbuild.tool.gnu.cpp.compiler.exe.release.376987001;cdt.managedbuild.tool.gnu.cpp.compiler.input.93276909">
|
| 173 |
+
<autodiscovery enabled="true" problemReportingEnabled="true" selectedProfileId="org.eclipse.cdt.managedbuilder.core.GCCManagedMakePerProjectProfileCPP"/>
|
| 174 |
+
</scannerConfigBuildInfo>
|
| 175 |
+
</storageModule>
|
| 176 |
+
<storageModule moduleId="refreshScope" versionNumber="2">
|
| 177 |
+
<configuration configurationName="Debug">
|
| 178 |
+
<resource resourceType="PROJECT" workspacePath="/moses-cmd"/>
|
| 179 |
+
</configuration>
|
| 180 |
+
<configuration configurationName="Release">
|
| 181 |
+
<resource resourceType="PROJECT" workspacePath="/moses-cmd"/>
|
| 182 |
+
</configuration>
|
| 183 |
+
</storageModule>
|
| 184 |
+
<storageModule moduleId="org.eclipse.cdt.make.core.buildtargets"/>
|
| 185 |
+
<storageModule moduleId="org.eclipse.cdt.core.LanguageSettingsProviders"/>
|
| 186 |
+
<storageModule moduleId="org.eclipse.cdt.internal.ui.text.commentOwnerProjectMappings"/>
|
| 187 |
+
</cproject>
|
mosesdecoder/contrib/other-builds/moses-cmd/.project
ADDED
|
@@ -0,0 +1,111 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
<?xml version="1.0" encoding="UTF-8"?>
|
| 2 |
+
<projectDescription>
|
| 3 |
+
<name>moses-cmd</name>
|
| 4 |
+
<comment></comment>
|
| 5 |
+
<projects>
|
| 6 |
+
<project>lm</project>
|
| 7 |
+
<project>moses</project>
|
| 8 |
+
<project>OnDiskPt</project>
|
| 9 |
+
<project>probingpt</project>
|
| 10 |
+
<project>search</project>
|
| 11 |
+
<project>util</project>
|
| 12 |
+
</projects>
|
| 13 |
+
<buildSpec>
|
| 14 |
+
<buildCommand>
|
| 15 |
+
<name>org.eclipse.cdt.managedbuilder.core.genmakebuilder</name>
|
| 16 |
+
<triggers>clean,full,incremental,</triggers>
|
| 17 |
+
<arguments>
|
| 18 |
+
<dictionary>
|
| 19 |
+
<key>?name?</key>
|
| 20 |
+
<value></value>
|
| 21 |
+
</dictionary>
|
| 22 |
+
<dictionary>
|
| 23 |
+
<key>org.eclipse.cdt.make.core.append_environment</key>
|
| 24 |
+
<value>true</value>
|
| 25 |
+
</dictionary>
|
| 26 |
+
<dictionary>
|
| 27 |
+
<key>org.eclipse.cdt.make.core.autoBuildTarget</key>
|
| 28 |
+
<value>all</value>
|
| 29 |
+
</dictionary>
|
| 30 |
+
<dictionary>
|
| 31 |
+
<key>org.eclipse.cdt.make.core.buildArguments</key>
|
| 32 |
+
<value>-j3</value>
|
| 33 |
+
</dictionary>
|
| 34 |
+
<dictionary>
|
| 35 |
+
<key>org.eclipse.cdt.make.core.buildCommand</key>
|
| 36 |
+
<value>make</value>
|
| 37 |
+
</dictionary>
|
| 38 |
+
<dictionary>
|
| 39 |
+
<key>org.eclipse.cdt.make.core.buildLocation</key>
|
| 40 |
+
<value>${workspace_loc:/moses-cmd/Debug}</value>
|
| 41 |
+
</dictionary>
|
| 42 |
+
<dictionary>
|
| 43 |
+
<key>org.eclipse.cdt.make.core.cleanBuildTarget</key>
|
| 44 |
+
<value>clean</value>
|
| 45 |
+
</dictionary>
|
| 46 |
+
<dictionary>
|
| 47 |
+
<key>org.eclipse.cdt.make.core.contents</key>
|
| 48 |
+
<value>org.eclipse.cdt.make.core.activeConfigSettings</value>
|
| 49 |
+
</dictionary>
|
| 50 |
+
<dictionary>
|
| 51 |
+
<key>org.eclipse.cdt.make.core.enableAutoBuild</key>
|
| 52 |
+
<value>false</value>
|
| 53 |
+
</dictionary>
|
| 54 |
+
<dictionary>
|
| 55 |
+
<key>org.eclipse.cdt.make.core.enableCleanBuild</key>
|
| 56 |
+
<value>true</value>
|
| 57 |
+
</dictionary>
|
| 58 |
+
<dictionary>
|
| 59 |
+
<key>org.eclipse.cdt.make.core.enableFullBuild</key>
|
| 60 |
+
<value>true</value>
|
| 61 |
+
</dictionary>
|
| 62 |
+
<dictionary>
|
| 63 |
+
<key>org.eclipse.cdt.make.core.fullBuildTarget</key>
|
| 64 |
+
<value>all</value>
|
| 65 |
+
</dictionary>
|
| 66 |
+
<dictionary>
|
| 67 |
+
<key>org.eclipse.cdt.make.core.stopOnError</key>
|
| 68 |
+
<value>true</value>
|
| 69 |
+
</dictionary>
|
| 70 |
+
<dictionary>
|
| 71 |
+
<key>org.eclipse.cdt.make.core.useDefaultBuildCmd</key>
|
| 72 |
+
<value>true</value>
|
| 73 |
+
</dictionary>
|
| 74 |
+
</arguments>
|
| 75 |
+
</buildCommand>
|
| 76 |
+
<buildCommand>
|
| 77 |
+
<name>org.eclipse.cdt.managedbuilder.core.ScannerConfigBuilder</name>
|
| 78 |
+
<triggers>full,incremental,</triggers>
|
| 79 |
+
<arguments>
|
| 80 |
+
</arguments>
|
| 81 |
+
</buildCommand>
|
| 82 |
+
</buildSpec>
|
| 83 |
+
<natures>
|
| 84 |
+
<nature>org.eclipse.cdt.core.cnature</nature>
|
| 85 |
+
<nature>org.eclipse.cdt.core.ccnature</nature>
|
| 86 |
+
<nature>org.eclipse.cdt.managedbuilder.core.managedBuildNature</nature>
|
| 87 |
+
<nature>org.eclipse.cdt.managedbuilder.core.ScannerConfigNature</nature>
|
| 88 |
+
</natures>
|
| 89 |
+
<linkedResources>
|
| 90 |
+
<link>
|
| 91 |
+
<name>Jamfile</name>
|
| 92 |
+
<type>1</type>
|
| 93 |
+
<locationURI>PARENT-3-PROJECT_LOC/moses-cmd/Jamfile</locationURI>
|
| 94 |
+
</link>
|
| 95 |
+
<link>
|
| 96 |
+
<name>LatticeMBRGrid.cpp</name>
|
| 97 |
+
<type>1</type>
|
| 98 |
+
<locationURI>PARENT-3-PROJECT_LOC/moses-cmd/LatticeMBRGrid.cpp</locationURI>
|
| 99 |
+
</link>
|
| 100 |
+
<link>
|
| 101 |
+
<name>Main.cpp</name>
|
| 102 |
+
<type>1</type>
|
| 103 |
+
<locationURI>PARENT-3-PROJECT_LOC/moses-cmd/Main.cpp</locationURI>
|
| 104 |
+
</link>
|
| 105 |
+
<link>
|
| 106 |
+
<name>Main.h</name>
|
| 107 |
+
<type>1</type>
|
| 108 |
+
<locationURI>PARENT-3-PROJECT_LOC/moses-cmd/Main.h</locationURI>
|
| 109 |
+
</link>
|
| 110 |
+
</linkedResources>
|
| 111 |
+
</projectDescription>
|
mosesdecoder/contrib/other-builds/moses-cmd/moses-cmd.project
ADDED
|
@@ -0,0 +1,153 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
<?xml version="1.0" encoding="UTF-8"?>
|
| 2 |
+
<CodeLite_Project Name="moses-cmd" InternalType="Console">
|
| 3 |
+
<Plugins>
|
| 4 |
+
<Plugin Name="qmake">
|
| 5 |
+
<![CDATA[00010001N0005Debug000000000000]]>
|
| 6 |
+
</Plugin>
|
| 7 |
+
<Plugin Name="CMakePlugin">
|
| 8 |
+
<![CDATA[[{
|
| 9 |
+
"name": "Debug",
|
| 10 |
+
"enabled": false,
|
| 11 |
+
"buildDirectory": "build",
|
| 12 |
+
"sourceDirectory": "$(ProjectPath)",
|
| 13 |
+
"generator": "",
|
| 14 |
+
"buildType": "",
|
| 15 |
+
"arguments": [],
|
| 16 |
+
"parentProject": ""
|
| 17 |
+
}]]]>
|
| 18 |
+
</Plugin>
|
| 19 |
+
</Plugins>
|
| 20 |
+
<Description/>
|
| 21 |
+
<Dependencies/>
|
| 22 |
+
<VirtualDirectory Name="src"/>
|
| 23 |
+
<VirtualDirectory Name="moses-cmd">
|
| 24 |
+
<File Name="../../../moses-cmd/LatticeMBRGrid.cpp" ExcludeProjConfig="Debug"/>
|
| 25 |
+
<File Name="../../../moses-cmd/Main.cpp"/>
|
| 26 |
+
<File Name="../../../moses-cmd/MainVW.cpp" ExcludeProjConfig="Debug"/>
|
| 27 |
+
<File Name="../../../moses-cmd/MainVW.h" ExcludeProjConfig="Debug"/>
|
| 28 |
+
</VirtualDirectory>
|
| 29 |
+
<Dependencies Name="Debug">
|
| 30 |
+
<Project Name="OnDiskPt"/>
|
| 31 |
+
<Project Name="lm"/>
|
| 32 |
+
<Project Name="search"/>
|
| 33 |
+
<Project Name="util"/>
|
| 34 |
+
</Dependencies>
|
| 35 |
+
<Dependencies Name="Release"/>
|
| 36 |
+
<Settings Type="Executable">
|
| 37 |
+
<GlobalSettings>
|
| 38 |
+
<Compiler Options="" C_Options="" Assembler="">
|
| 39 |
+
<IncludePath Value="."/>
|
| 40 |
+
</Compiler>
|
| 41 |
+
<Linker Options="">
|
| 42 |
+
<LibraryPath Value="."/>
|
| 43 |
+
</Linker>
|
| 44 |
+
<ResourceCompiler Options=""/>
|
| 45 |
+
</GlobalSettings>
|
| 46 |
+
<Configuration Name="Debug" CompilerType="GCC" DebuggerType="LLDB Debugger" Type="Executable" BuildCmpWithGlobalSettings="append" BuildLnkWithGlobalSettings="append" BuildResWithGlobalSettings="append">
|
| 47 |
+
<Compiler Options="-g;-O0;-Wall" C_Options="-g;-O0;-Wall" Assembler="" Required="yes" PreCompiledHeader="" PCHInCommandLine="no" PCHFlags="" PCHFlagsPolicy="0">
|
| 48 |
+
<IncludePath Value="."/>
|
| 49 |
+
<IncludePath Value="../../.."/>
|
| 50 |
+
<IncludePath Value="../../../phrase-extract"/>
|
| 51 |
+
<IncludePath Value="../../../boost/include"/>
|
| 52 |
+
<Preprocessor Value="MAX_NUM_FACTORS=4"/>
|
| 53 |
+
<Preprocessor Value="KENLM_MAX_ORDER=7"/>
|
| 54 |
+
<Preprocessor Value="TRACE_ENABLE=1"/>
|
| 55 |
+
</Compiler>
|
| 56 |
+
<Linker Options="" Required="yes">
|
| 57 |
+
<LibraryPath Value="../../../boost/lib64"/>
|
| 58 |
+
<LibraryPath Value="../../../contrib/other-builds/lm/Debug"/>
|
| 59 |
+
<LibraryPath Value="../../../contrib/other-builds/moses/Debug"/>
|
| 60 |
+
<LibraryPath Value="../../../contrib/other-builds/OnDiskPt/Debug"/>
|
| 61 |
+
<LibraryPath Value="../../../contrib/other-builds/search/Debug"/>
|
| 62 |
+
<LibraryPath Value="../../../contrib/other-builds/util/Debug"/>
|
| 63 |
+
<Library Value="util"/>
|
| 64 |
+
<Library Value="moses"/>
|
| 65 |
+
<Library Value="search"/>
|
| 66 |
+
<Library Value="OnDiskPt"/>
|
| 67 |
+
<Library Value="lm"/>
|
| 68 |
+
<Library Value="boost_iostreams"/>
|
| 69 |
+
<Library Value="boost_serialization"/>
|
| 70 |
+
<Library Value="boost_system"/>
|
| 71 |
+
<Library Value="boost_thread"/>
|
| 72 |
+
<Library Value="boost_filesystem"/>
|
| 73 |
+
<Library Value="boost_program_options"/>
|
| 74 |
+
<Library Value="pthread"/>
|
| 75 |
+
<Library Value="z"/>
|
| 76 |
+
<Library Value="bz2"/>
|
| 77 |
+
<Library Value="dl"/>
|
| 78 |
+
<Library Value="rt"/>
|
| 79 |
+
</Linker>
|
| 80 |
+
<ResourceCompiler Options="" Required="no"/>
|
| 81 |
+
<General OutputFile="$(IntermediateDirectory)/$(ProjectName)" IntermediateDirectory="./Debug" Command="./$(ProjectName)" CommandArguments="" UseSeparateDebugArgs="yes" DebugArguments="" WorkingDirectory="/Users/hieu/workspace/experiment/issues/chart.hierarchical-withkenlm" PauseExecWhenProcTerminates="yes" IsGUIProgram="no" IsEnabled="yes"/>
|
| 82 |
+
<Environment EnvVarSetName="<Use Defaults>" DbgSetName="<Use Defaults>">
|
| 83 |
+
<![CDATA[]]>
|
| 84 |
+
</Environment>
|
| 85 |
+
<Debugger IsRemote="no" RemoteHostName="" RemoteHostPort="" DebuggerPath="" IsExtended="no">
|
| 86 |
+
<DebuggerSearchPaths/>
|
| 87 |
+
<PostConnectCommands/>
|
| 88 |
+
<StartupCommands/>
|
| 89 |
+
</Debugger>
|
| 90 |
+
<PreBuild/>
|
| 91 |
+
<PostBuild/>
|
| 92 |
+
<CustomBuild Enabled="no">
|
| 93 |
+
<RebuildCommand/>
|
| 94 |
+
<CleanCommand/>
|
| 95 |
+
<BuildCommand/>
|
| 96 |
+
<PreprocessFileCommand/>
|
| 97 |
+
<SingleFileCommand/>
|
| 98 |
+
<MakefileGenerationCommand/>
|
| 99 |
+
<ThirdPartyToolName>None</ThirdPartyToolName>
|
| 100 |
+
<WorkingDirectory/>
|
| 101 |
+
</CustomBuild>
|
| 102 |
+
<AdditionalRules>
|
| 103 |
+
<CustomPostBuild/>
|
| 104 |
+
<CustomPreBuild/>
|
| 105 |
+
</AdditionalRules>
|
| 106 |
+
<Completion EnableCpp11="no" EnableCpp14="no">
|
| 107 |
+
<ClangCmpFlagsC/>
|
| 108 |
+
<ClangCmpFlags/>
|
| 109 |
+
<ClangPP/>
|
| 110 |
+
<SearchPaths/>
|
| 111 |
+
</Completion>
|
| 112 |
+
</Configuration>
|
| 113 |
+
<Configuration Name="Release" CompilerType="clang( based on LLVM 3.5svn )" DebuggerType="LLDB Debugger" Type="Executable" BuildCmpWithGlobalSettings="append" BuildLnkWithGlobalSettings="append" BuildResWithGlobalSettings="append">
|
| 114 |
+
<Compiler Options="-O2;-Wall" C_Options="-O2;-Wall" Assembler="" Required="yes" PreCompiledHeader="" PCHInCommandLine="no" PCHFlags="" PCHFlagsPolicy="0">
|
| 115 |
+
<IncludePath Value="."/>
|
| 116 |
+
<Preprocessor Value="NDEBUG"/>
|
| 117 |
+
</Compiler>
|
| 118 |
+
<Linker Options="" Required="yes"/>
|
| 119 |
+
<ResourceCompiler Options="" Required="no"/>
|
| 120 |
+
<General OutputFile="$(IntermediateDirectory)/$(ProjectName)" IntermediateDirectory="./Release" Command="./$(ProjectName)" CommandArguments="" UseSeparateDebugArgs="no" DebugArguments="" WorkingDirectory="$(IntermediateDirectory)" PauseExecWhenProcTerminates="yes" IsGUIProgram="no" IsEnabled="yes"/>
|
| 121 |
+
<Environment EnvVarSetName="<Use Defaults>" DbgSetName="<Use Defaults>">
|
| 122 |
+
<![CDATA[]]>
|
| 123 |
+
</Environment>
|
| 124 |
+
<Debugger IsRemote="no" RemoteHostName="" RemoteHostPort="" DebuggerPath="" IsExtended="no">
|
| 125 |
+
<DebuggerSearchPaths/>
|
| 126 |
+
<PostConnectCommands/>
|
| 127 |
+
<StartupCommands/>
|
| 128 |
+
</Debugger>
|
| 129 |
+
<PreBuild/>
|
| 130 |
+
<PostBuild/>
|
| 131 |
+
<CustomBuild Enabled="no">
|
| 132 |
+
<RebuildCommand/>
|
| 133 |
+
<CleanCommand/>
|
| 134 |
+
<BuildCommand/>
|
| 135 |
+
<PreprocessFileCommand/>
|
| 136 |
+
<SingleFileCommand/>
|
| 137 |
+
<MakefileGenerationCommand/>
|
| 138 |
+
<ThirdPartyToolName>None</ThirdPartyToolName>
|
| 139 |
+
<WorkingDirectory/>
|
| 140 |
+
</CustomBuild>
|
| 141 |
+
<AdditionalRules>
|
| 142 |
+
<CustomPostBuild/>
|
| 143 |
+
<CustomPreBuild/>
|
| 144 |
+
</AdditionalRules>
|
| 145 |
+
<Completion EnableCpp11="no" EnableCpp14="no">
|
| 146 |
+
<ClangCmpFlagsC/>
|
| 147 |
+
<ClangCmpFlags/>
|
| 148 |
+
<ClangPP/>
|
| 149 |
+
<SearchPaths/>
|
| 150 |
+
</Completion>
|
| 151 |
+
</Configuration>
|
| 152 |
+
</Settings>
|
| 153 |
+
</CodeLite_Project>
|
mosesdecoder/contrib/other-builds/moses2-cmd/.project
ADDED
|
@@ -0,0 +1,44 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
<?xml version="1.0" encoding="UTF-8"?>
|
| 2 |
+
<projectDescription>
|
| 3 |
+
<name>moses2-cmd</name>
|
| 4 |
+
<comment></comment>
|
| 5 |
+
<projects>
|
| 6 |
+
<project>lm</project>
|
| 7 |
+
<project>moses</project>
|
| 8 |
+
<project>moses2</project>
|
| 9 |
+
<project>probingpt</project>
|
| 10 |
+
<project>util</project>
|
| 11 |
+
</projects>
|
| 12 |
+
<buildSpec>
|
| 13 |
+
<buildCommand>
|
| 14 |
+
<name>org.eclipse.cdt.managedbuilder.core.genmakebuilder</name>
|
| 15 |
+
<triggers>clean,full,incremental,</triggers>
|
| 16 |
+
<arguments>
|
| 17 |
+
</arguments>
|
| 18 |
+
</buildCommand>
|
| 19 |
+
<buildCommand>
|
| 20 |
+
<name>org.eclipse.cdt.managedbuilder.core.ScannerConfigBuilder</name>
|
| 21 |
+
<triggers>full,incremental,</triggers>
|
| 22 |
+
<arguments>
|
| 23 |
+
</arguments>
|
| 24 |
+
</buildCommand>
|
| 25 |
+
</buildSpec>
|
| 26 |
+
<natures>
|
| 27 |
+
<nature>org.eclipse.cdt.core.cnature</nature>
|
| 28 |
+
<nature>org.eclipse.cdt.core.ccnature</nature>
|
| 29 |
+
<nature>org.eclipse.cdt.managedbuilder.core.managedBuildNature</nature>
|
| 30 |
+
<nature>org.eclipse.cdt.managedbuilder.core.ScannerConfigNature</nature>
|
| 31 |
+
</natures>
|
| 32 |
+
<linkedResources>
|
| 33 |
+
<link>
|
| 34 |
+
<name>Main.cpp</name>
|
| 35 |
+
<type>1</type>
|
| 36 |
+
<locationURI>PARENT-3-PROJECT_LOC/moses2/Main.cpp</locationURI>
|
| 37 |
+
</link>
|
| 38 |
+
<link>
|
| 39 |
+
<name>Main.h</name>
|
| 40 |
+
<type>1</type>
|
| 41 |
+
<locationURI>PARENT-3-PROJECT_LOC/moses2/Main.h</locationURI>
|
| 42 |
+
</link>
|
| 43 |
+
</linkedResources>
|
| 44 |
+
</projectDescription>
|
mosesdecoder/contrib/other-builds/moses2/.cproject
ADDED
|
@@ -0,0 +1,145 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
| 2 |
+
<?fileVersion 4.0.0?><cproject storage_type_id="org.eclipse.cdt.core.XmlProjectDescriptionStorage">
|
| 3 |
+
<storageModule moduleId="org.eclipse.cdt.core.settings">
|
| 4 |
+
<cconfiguration id="cdt.managedbuild.config.gnu.cross.exe.debug.1097293041">
|
| 5 |
+
<storageModule buildSystemId="org.eclipse.cdt.managedbuilder.core.configurationDataProvider" id="cdt.managedbuild.config.gnu.cross.exe.debug.1097293041" moduleId="org.eclipse.cdt.core.settings" name="Debug">
|
| 6 |
+
<externalSettings>
|
| 7 |
+
<externalSetting>
|
| 8 |
+
<entry flags="VALUE_WORKSPACE_PATH" kind="includePath" name="/moses2"/>
|
| 9 |
+
<entry flags="VALUE_WORKSPACE_PATH" kind="libraryPath" name="/moses2/Debug"/>
|
| 10 |
+
<entry flags="RESOLVED" kind="libraryFile" name="moses2" srcPrefixMapping="" srcRootPath=""/>
|
| 11 |
+
</externalSetting>
|
| 12 |
+
</externalSettings>
|
| 13 |
+
<extensions>
|
| 14 |
+
<extension id="org.eclipse.cdt.core.GNU_ELF" point="org.eclipse.cdt.core.BinaryParser"/>
|
| 15 |
+
<extension id="org.eclipse.cdt.core.GASErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
|
| 16 |
+
<extension id="org.eclipse.cdt.core.GmakeErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
|
| 17 |
+
<extension id="org.eclipse.cdt.core.CWDLocator" point="org.eclipse.cdt.core.ErrorParser"/>
|
| 18 |
+
<extension id="org.eclipse.cdt.core.GCCErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
|
| 19 |
+
</extensions>
|
| 20 |
+
</storageModule>
|
| 21 |
+
<storageModule moduleId="cdtBuildSystem" version="4.0.0">
|
| 22 |
+
<configuration artifactExtension="a" artifactName="${ProjName}" buildArtefactType="org.eclipse.cdt.build.core.buildArtefactType.staticLib" buildProperties="org.eclipse.cdt.build.core.buildArtefactType=org.eclipse.cdt.build.core.buildArtefactType.staticLib,org.eclipse.cdt.build.core.buildType=org.eclipse.cdt.build.core.buildType.debug" cleanCommand="rm -rf" description="" id="cdt.managedbuild.config.gnu.cross.exe.debug.1097293041" name="Debug" parent="cdt.managedbuild.config.gnu.cross.exe.debug">
|
| 23 |
+
<folderInfo id="cdt.managedbuild.config.gnu.cross.exe.debug.1097293041." name="/" resourcePath="">
|
| 24 |
+
<toolChain id="cdt.managedbuild.toolchain.gnu.base.1746550894" name="Linux GCC" superClass="cdt.managedbuild.toolchain.gnu.base">
|
| 25 |
+
<targetPlatform archList="all" binaryParser="org.eclipse.cdt.core.GNU_ELF" id="cdt.managedbuild.target.gnu.platform.base.1837385072" name="Debug Platform" osList="linux,hpux,aix,qnx" superClass="cdt.managedbuild.target.gnu.platform.base"/>
|
| 26 |
+
<builder buildPath="${workspace_loc:/moses2}/Debug" id="cdt.managedbuild.target.gnu.builder.base.291718570" keepEnvironmentInBuildfile="false" name="Gnu Make Builder" parallelBuildOn="true" parallelizationNumber="optimal" superClass="cdt.managedbuild.target.gnu.builder.base"/>
|
| 27 |
+
<tool id="cdt.managedbuild.tool.gnu.archiver.base.1272804113" name="GCC Archiver" superClass="cdt.managedbuild.tool.gnu.archiver.base"/>
|
| 28 |
+
<tool id="cdt.managedbuild.tool.gnu.cpp.compiler.base.1255490487" name="GCC C++ Compiler" superClass="cdt.managedbuild.tool.gnu.cpp.compiler.base">
|
| 29 |
+
<option id="gnu.cpp.compiler.option.include.paths.235234169" name="Include paths (-I)" superClass="gnu.cpp.compiler.option.include.paths" useByScannerDiscovery="false" valueType="includePath">
|
| 30 |
+
<listOptionValue builtIn="false" value=""${workspace_loc}/../../boost/include""/>
|
| 31 |
+
<listOptionValue builtIn="false" value=""${workspace_loc}/../../xmlrpc-c/include""/>
|
| 32 |
+
<listOptionValue builtIn="false" value=""${workspace_loc}/../../cmph/include""/>
|
| 33 |
+
<listOptionValue builtIn="false" value=""${workspace_loc}/../../DALM/include""/>
|
| 34 |
+
<listOptionValue builtIn="false" value=""${workspace_loc}/../../DALM/darts-clone""/>
|
| 35 |
+
<listOptionValue builtIn="false" value=""${workspace_loc}/../../""/>
|
| 36 |
+
</option>
|
| 37 |
+
<option id="gnu.cpp.compiler.option.preprocessor.def.1862236983" name="Defined symbols (-D)" superClass="gnu.cpp.compiler.option.preprocessor.def" useByScannerDiscovery="false" valueType="definedSymbols">
|
| 38 |
+
<listOptionValue builtIn="false" value="KENLM_MAX_ORDER=7"/>
|
| 39 |
+
<listOptionValue builtIn="false" value="HAVE_CMPH"/>
|
| 40 |
+
<listOptionValue builtIn="false" value="HAVE_PROBINGPT"/>
|
| 41 |
+
<listOptionValue builtIn="false" value="MAX_NUM_FACTORS=4"/>
|
| 42 |
+
<listOptionValue builtIn="false" value="WITH_THREADS"/>
|
| 43 |
+
</option>
|
| 44 |
+
<option id="gnu.cpp.compiler.option.optimization.level.1040693055" name="Optimization Level" superClass="gnu.cpp.compiler.option.optimization.level" useByScannerDiscovery="false" value="gnu.cpp.compiler.optimization.level.none" valueType="enumerated"/>
|
| 45 |
+
<option id="gnu.cpp.compiler.option.debugging.level.300011146" name="Debug Level" superClass="gnu.cpp.compiler.option.debugging.level" useByScannerDiscovery="false" value="gnu.cpp.compiler.debugging.level.max" valueType="enumerated"/>
|
| 46 |
+
<option id="gnu.cpp.compiler.option.dialect.std.1726125169" superClass="gnu.cpp.compiler.option.dialect.std" useByScannerDiscovery="true" value="gnu.cpp.compiler.dialect.c++11" valueType="enumerated"/>
|
| 47 |
+
<inputType id="cdt.managedbuild.tool.gnu.cpp.compiler.input.1493812591" superClass="cdt.managedbuild.tool.gnu.cpp.compiler.input"/>
|
| 48 |
+
</tool>
|
| 49 |
+
<tool id="cdt.managedbuild.tool.gnu.c.compiler.base.1139578129" name="GCC C Compiler" superClass="cdt.managedbuild.tool.gnu.c.compiler.base">
|
| 50 |
+
<option defaultValue="gnu.c.optimization.level.none" id="gnu.c.compiler.option.optimization.level.431272647" name="Optimization Level" superClass="gnu.c.compiler.option.optimization.level" useByScannerDiscovery="false" valueType="enumerated"/>
|
| 51 |
+
<option id="gnu.c.compiler.option.debugging.level.1239851950" name="Debug Level" superClass="gnu.c.compiler.option.debugging.level" useByScannerDiscovery="false" value="gnu.c.debugging.level.max" valueType="enumerated"/>
|
| 52 |
+
<inputType id="cdt.managedbuild.tool.gnu.c.compiler.input.2101684015" superClass="cdt.managedbuild.tool.gnu.c.compiler.input"/>
|
| 53 |
+
</tool>
|
| 54 |
+
<tool id="cdt.managedbuild.tool.gnu.c.linker.base.44495985" name="GCC C Linker" superClass="cdt.managedbuild.tool.gnu.c.linker.base"/>
|
| 55 |
+
<tool id="cdt.managedbuild.tool.gnu.cpp.linker.base.1037086440" name="GCC C++ Linker" superClass="cdt.managedbuild.tool.gnu.cpp.linker.base"/>
|
| 56 |
+
<tool id="cdt.managedbuild.tool.gnu.assembler.base.976298124" name="GCC Assembler" superClass="cdt.managedbuild.tool.gnu.assembler.base">
|
| 57 |
+
<inputType id="cdt.managedbuild.tool.gnu.assembler.input.1074363484" superClass="cdt.managedbuild.tool.gnu.assembler.input"/>
|
| 58 |
+
</tool>
|
| 59 |
+
</toolChain>
|
| 60 |
+
</folderInfo>
|
| 61 |
+
<fileInfo id="cdt.managedbuild.config.gnu.cross.exe.debug.1097293041.1123771618" name="HypothesisColl.h" rcbsApplicability="disable" resourcePath="HypothesisColl.h" toolsToInvoke=""/>
|
| 62 |
+
<sourceEntries>
|
| 63 |
+
<entry excluding="LM/LanguageModelDALM.cpp|defer|Main.cpp|CreateProbingPT2.cpp" flags="VALUE_WORKSPACE_PATH|RESOLVED" kind="sourcePath" name=""/>
|
| 64 |
+
</sourceEntries>
|
| 65 |
+
</configuration>
|
| 66 |
+
</storageModule>
|
| 67 |
+
<storageModule moduleId="org.eclipse.cdt.core.externalSettings"/>
|
| 68 |
+
</cconfiguration>
|
| 69 |
+
<cconfiguration id="cdt.managedbuild.config.gnu.cross.exe.release.1445209421">
|
| 70 |
+
<storageModule buildSystemId="org.eclipse.cdt.managedbuilder.core.configurationDataProvider" id="cdt.managedbuild.config.gnu.cross.exe.release.1445209421" moduleId="org.eclipse.cdt.core.settings" name="Release">
|
| 71 |
+
<externalSettings/>
|
| 72 |
+
<extensions>
|
| 73 |
+
<extension id="org.eclipse.cdt.core.ELF" point="org.eclipse.cdt.core.BinaryParser"/>
|
| 74 |
+
<extension id="org.eclipse.cdt.core.MachO64" point="org.eclipse.cdt.core.BinaryParser"/>
|
| 75 |
+
<extension id="org.eclipse.cdt.core.GASErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
|
| 76 |
+
<extension id="org.eclipse.cdt.core.GmakeErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
|
| 77 |
+
<extension id="org.eclipse.cdt.core.GLDErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
|
| 78 |
+
<extension id="org.eclipse.cdt.core.CWDLocator" point="org.eclipse.cdt.core.ErrorParser"/>
|
| 79 |
+
<extension id="org.eclipse.cdt.core.GCCErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
|
| 80 |
+
</extensions>
|
| 81 |
+
</storageModule>
|
| 82 |
+
<storageModule moduleId="cdtBuildSystem" version="4.0.0">
|
| 83 |
+
<configuration artifactName="${ProjName}" buildArtefactType="org.eclipse.cdt.build.core.buildArtefactType.exe" buildProperties="org.eclipse.cdt.build.core.buildArtefactType=org.eclipse.cdt.build.core.buildArtefactType.exe,org.eclipse.cdt.build.core.buildType=org.eclipse.cdt.build.core.buildType.release" cleanCommand="rm -rf" description="" id="cdt.managedbuild.config.gnu.cross.exe.release.1445209421" name="Release" parent="cdt.managedbuild.config.gnu.cross.exe.release">
|
| 84 |
+
<folderInfo id="cdt.managedbuild.config.gnu.cross.exe.release.1445209421." name="/" resourcePath="">
|
| 85 |
+
<toolChain id="cdt.managedbuild.toolchain.gnu.cross.exe.release.662721996" name="Cross GCC" superClass="cdt.managedbuild.toolchain.gnu.cross.exe.release">
|
| 86 |
+
<targetPlatform archList="all" binaryParser="org.eclipse.cdt.core.ELF;org.eclipse.cdt.core.MachO64" id="cdt.managedbuild.targetPlatform.gnu.cross.895874625" isAbstract="false" osList="all" superClass="cdt.managedbuild.targetPlatform.gnu.cross"/>
|
| 87 |
+
<builder buildPath="${workspace_loc:/moses2}/Release" id="cdt.managedbuild.builder.gnu.cross.468799862" keepEnvironmentInBuildfile="false" managedBuildOn="true" name="Gnu Make Builder" superClass="cdt.managedbuild.builder.gnu.cross"/>
|
| 88 |
+
<tool id="cdt.managedbuild.tool.gnu.cross.c.compiler.1943249236" name="Cross GCC Compiler" superClass="cdt.managedbuild.tool.gnu.cross.c.compiler">
|
| 89 |
+
<option defaultValue="gnu.c.optimization.level.most" id="gnu.c.compiler.option.optimization.level.1011693969" name="Optimization Level" superClass="gnu.c.compiler.option.optimization.level" useByScannerDiscovery="false" valueType="enumerated"/>
|
| 90 |
+
<option id="gnu.c.compiler.option.debugging.level.1339551360" name="Debug Level" superClass="gnu.c.compiler.option.debugging.level" useByScannerDiscovery="false" value="gnu.c.debugging.level.none" valueType="enumerated"/>
|
| 91 |
+
<inputType id="cdt.managedbuild.tool.gnu.c.compiler.input.1175448562" superClass="cdt.managedbuild.tool.gnu.c.compiler.input"/>
|
| 92 |
+
</tool>
|
| 93 |
+
<tool id="cdt.managedbuild.tool.gnu.cross.cpp.compiler.2103617063" name="Cross G++ Compiler" superClass="cdt.managedbuild.tool.gnu.cross.cpp.compiler">
|
| 94 |
+
<option id="gnu.cpp.compiler.option.optimization.level.13836904" name="Optimization Level" superClass="gnu.cpp.compiler.option.optimization.level" useByScannerDiscovery="false" value="gnu.cpp.compiler.optimization.level.most" valueType="enumerated"/>
|
| 95 |
+
<option id="gnu.cpp.compiler.option.debugging.level.763147930" name="Debug Level" superClass="gnu.cpp.compiler.option.debugging.level" useByScannerDiscovery="false" value="gnu.cpp.compiler.debugging.level.none" valueType="enumerated"/>
|
| 96 |
+
<inputType id="cdt.managedbuild.tool.gnu.cpp.compiler.input.946001537" superClass="cdt.managedbuild.tool.gnu.cpp.compiler.input"/>
|
| 97 |
+
</tool>
|
| 98 |
+
<tool id="cdt.managedbuild.tool.gnu.cross.c.linker.1462232829" name="Cross GCC Linker" superClass="cdt.managedbuild.tool.gnu.cross.c.linker"/>
|
| 99 |
+
<tool id="cdt.managedbuild.tool.gnu.cross.cpp.linker.1359778241" name="Cross G++ Linker" superClass="cdt.managedbuild.tool.gnu.cross.cpp.linker">
|
| 100 |
+
<inputType id="cdt.managedbuild.tool.gnu.cpp.linker.input.89443491" superClass="cdt.managedbuild.tool.gnu.cpp.linker.input">
|
| 101 |
+
<additionalInput kind="additionalinputdependency" paths="$(USER_OBJS)"/>
|
| 102 |
+
<additionalInput kind="additionalinput" paths="$(LIBS)"/>
|
| 103 |
+
</inputType>
|
| 104 |
+
</tool>
|
| 105 |
+
<tool id="cdt.managedbuild.tool.gnu.cross.archiver.762494367" name="Cross GCC Archiver" superClass="cdt.managedbuild.tool.gnu.cross.archiver"/>
|
| 106 |
+
<tool id="cdt.managedbuild.tool.gnu.cross.assembler.140795725" name="Cross GCC Assembler" superClass="cdt.managedbuild.tool.gnu.cross.assembler">
|
| 107 |
+
<inputType id="cdt.managedbuild.tool.gnu.assembler.input.95131148" superClass="cdt.managedbuild.tool.gnu.assembler.input"/>
|
| 108 |
+
</tool>
|
| 109 |
+
</toolChain>
|
| 110 |
+
</folderInfo>
|
| 111 |
+
</configuration>
|
| 112 |
+
</storageModule>
|
| 113 |
+
<storageModule moduleId="org.eclipse.cdt.core.externalSettings"/>
|
| 114 |
+
</cconfiguration>
|
| 115 |
+
</storageModule>
|
| 116 |
+
<storageModule moduleId="cdtBuildSystem" version="4.0.0">
|
| 117 |
+
<project id="moses2.cdt.managedbuild.target.gnu.cross.exe.1741914059" name="Executable" projectType="cdt.managedbuild.target.gnu.cross.exe"/>
|
| 118 |
+
</storageModule>
|
| 119 |
+
<storageModule moduleId="scannerConfiguration">
|
| 120 |
+
<autodiscovery enabled="true" problemReportingEnabled="true" selectedProfileId=""/>
|
| 121 |
+
<scannerConfigBuildInfo instanceId="cdt.managedbuild.config.gnu.cross.exe.release.1445209421;cdt.managedbuild.config.gnu.cross.exe.release.1445209421.;cdt.managedbuild.tool.gnu.cross.c.compiler.1943249236;cdt.managedbuild.tool.gnu.c.compiler.input.1175448562">
|
| 122 |
+
<autodiscovery enabled="true" problemReportingEnabled="true" selectedProfileId=""/>
|
| 123 |
+
</scannerConfigBuildInfo>
|
| 124 |
+
<scannerConfigBuildInfo instanceId="cdt.managedbuild.config.gnu.cross.exe.release.1445209421;cdt.managedbuild.config.gnu.cross.exe.release.1445209421.;cdt.managedbuild.tool.gnu.cross.cpp.compiler.2103617063;cdt.managedbuild.tool.gnu.cpp.compiler.input.946001537">
|
| 125 |
+
<autodiscovery enabled="true" problemReportingEnabled="true" selectedProfileId=""/>
|
| 126 |
+
</scannerConfigBuildInfo>
|
| 127 |
+
<scannerConfigBuildInfo instanceId="cdt.managedbuild.config.gnu.cross.exe.debug.1097293041;cdt.managedbuild.config.gnu.cross.exe.debug.1097293041.;cdt.managedbuild.tool.gnu.cross.c.compiler.1430831084;cdt.managedbuild.tool.gnu.c.compiler.input.1538601099">
|
| 128 |
+
<autodiscovery enabled="true" problemReportingEnabled="true" selectedProfileId=""/>
|
| 129 |
+
</scannerConfigBuildInfo>
|
| 130 |
+
<scannerConfigBuildInfo instanceId="cdt.managedbuild.config.gnu.cross.exe.debug.1097293041;cdt.managedbuild.config.gnu.cross.exe.debug.1097293041.;cdt.managedbuild.tool.gnu.cross.cpp.compiler.1686613508;cdt.managedbuild.tool.gnu.cpp.compiler.input.2101942464">
|
| 131 |
+
<autodiscovery enabled="true" problemReportingEnabled="true" selectedProfileId=""/>
|
| 132 |
+
</scannerConfigBuildInfo>
|
| 133 |
+
</storageModule>
|
| 134 |
+
<storageModule moduleId="org.eclipse.cdt.core.LanguageSettingsProviders"/>
|
| 135 |
+
<storageModule moduleId="refreshScope" versionNumber="2">
|
| 136 |
+
<configuration configurationName="Debug">
|
| 137 |
+
<resource resourceType="PROJECT" workspacePath="/moses2"/>
|
| 138 |
+
</configuration>
|
| 139 |
+
<configuration configurationName="Release">
|
| 140 |
+
<resource resourceType="PROJECT" workspacePath="/moses2"/>
|
| 141 |
+
</configuration>
|
| 142 |
+
</storageModule>
|
| 143 |
+
<storageModule moduleId="org.eclipse.cdt.internal.ui.text.commentOwnerProjectMappings"/>
|
| 144 |
+
<storageModule moduleId="org.eclipse.cdt.make.core.buildtargets"/>
|
| 145 |
+
</cproject>
|
mosesdecoder/contrib/other-builds/moses2/.project
ADDED
|
@@ -0,0 +1,1621 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
<?xml version="1.0" encoding="UTF-8"?>
|
| 2 |
+
<projectDescription>
|
| 3 |
+
<name>moses2</name>
|
| 4 |
+
<comment></comment>
|
| 5 |
+
<projects>
|
| 6 |
+
<project>moses</project>
|
| 7 |
+
<project>util</project>
|
| 8 |
+
</projects>
|
| 9 |
+
<buildSpec>
|
| 10 |
+
<buildCommand>
|
| 11 |
+
<name>org.eclipse.cdt.managedbuilder.core.genmakebuilder</name>
|
| 12 |
+
<triggers>clean,full,incremental,</triggers>
|
| 13 |
+
<arguments>
|
| 14 |
+
</arguments>
|
| 15 |
+
</buildCommand>
|
| 16 |
+
<buildCommand>
|
| 17 |
+
<name>org.eclipse.cdt.managedbuilder.core.ScannerConfigBuilder</name>
|
| 18 |
+
<triggers>full,incremental,</triggers>
|
| 19 |
+
<arguments>
|
| 20 |
+
</arguments>
|
| 21 |
+
</buildCommand>
|
| 22 |
+
</buildSpec>
|
| 23 |
+
<natures>
|
| 24 |
+
<nature>org.eclipse.cdt.core.cnature</nature>
|
| 25 |
+
<nature>org.eclipse.cdt.core.ccnature</nature>
|
| 26 |
+
<nature>org.eclipse.cdt.managedbuilder.core.managedBuildNature</nature>
|
| 27 |
+
<nature>org.eclipse.cdt.managedbuilder.core.ScannerConfigNature</nature>
|
| 28 |
+
</natures>
|
| 29 |
+
<linkedResources>
|
| 30 |
+
<link>
|
| 31 |
+
<name>AlignmentInfo.cpp</name>
|
| 32 |
+
<type>1</type>
|
| 33 |
+
<locationURI>PARENT-3-PROJECT_LOC/moses2/AlignmentInfo.cpp</locationURI>
|
| 34 |
+
</link>
|
| 35 |
+
<link>
|
| 36 |
+
<name>AlignmentInfo.h</name>
|
| 37 |
+
<type>1</type>
|
| 38 |
+
<locationURI>PARENT-3-PROJECT_LOC/moses2/AlignmentInfo.h</locationURI>
|
| 39 |
+
</link>
|
| 40 |
+
<link>
|
| 41 |
+
<name>AlignmentInfoCollection.cpp</name>
|
| 42 |
+
<type>1</type>
|
| 43 |
+
<locationURI>PARENT-3-PROJECT_LOC/moses2/AlignmentInfoCollection.cpp</locationURI>
|
| 44 |
+
</link>
|
| 45 |
+
<link>
|
| 46 |
+
<name>AlignmentInfoCollection.h</name>
|
| 47 |
+
<type>1</type>
|
| 48 |
+
<locationURI>PARENT-3-PROJECT_LOC/moses2/AlignmentInfoCollection.h</locationURI>
|
| 49 |
+
</link>
|
| 50 |
+
<link>
|
| 51 |
+
<name>ArcLists.cpp</name>
|
| 52 |
+
<type>1</type>
|
| 53 |
+
<locationURI>PARENT-3-PROJECT_LOC/moses2/ArcLists.cpp</locationURI>
|
| 54 |
+
</link>
|
| 55 |
+
<link>
|
| 56 |
+
<name>ArcLists.h</name>
|
| 57 |
+
<type>1</type>
|
| 58 |
+
<locationURI>PARENT-3-PROJECT_LOC/moses2/ArcLists.h</locationURI>
|
| 59 |
+
</link>
|
| 60 |
+
<link>
|
| 61 |
+
<name>Array.h</name>
|
| 62 |
+
<type>1</type>
|
| 63 |
+
<locationURI>PARENT-3-PROJECT_LOC/moses2/Array.h</locationURI>
|
| 64 |
+
</link>
|
| 65 |
+
<link>
|
| 66 |
+
<name>EstimatedScores.cpp</name>
|
| 67 |
+
<type>1</type>
|
| 68 |
+
<locationURI>PARENT-3-PROJECT_LOC/moses2/EstimatedScores.cpp</locationURI>
|
| 69 |
+
</link>
|
| 70 |
+
<link>
|
| 71 |
+
<name>EstimatedScores.h</name>
|
| 72 |
+
<type>1</type>
|
| 73 |
+
<locationURI>PARENT-3-PROJECT_LOC/moses2/EstimatedScores.h</locationURI>
|
| 74 |
+
</link>
|
| 75 |
+
<link>
|
| 76 |
+
<name>FF</name>
|
| 77 |
+
<type>2</type>
|
| 78 |
+
<locationURI>virtual:/virtual</locationURI>
|
| 79 |
+
</link>
|
| 80 |
+
<link>
|
| 81 |
+
<name>HypothesisBase.cpp</name>
|
| 82 |
+
<type>1</type>
|
| 83 |
+
<locationURI>PARENT-3-PROJECT_LOC/moses2/HypothesisBase.cpp</locationURI>
|
| 84 |
+
</link>
|
| 85 |
+
<link>
|
| 86 |
+
<name>HypothesisBase.h</name>
|
| 87 |
+
<type>1</type>
|
| 88 |
+
<locationURI>PARENT-3-PROJECT_LOC/moses2/HypothesisBase.h</locationURI>
|
| 89 |
+
</link>
|
| 90 |
+
<link>
|
| 91 |
+
<name>HypothesisColl.cpp</name>
|
| 92 |
+
<type>1</type>
|
| 93 |
+
<locationURI>PARENT-3-PROJECT_LOC/moses2/HypothesisColl.cpp</locationURI>
|
| 94 |
+
</link>
|
| 95 |
+
<link>
|
| 96 |
+
<name>HypothesisColl.h</name>
|
| 97 |
+
<type>1</type>
|
| 98 |
+
<locationURI>PARENT-3-PROJECT_LOC/moses2/HypothesisColl.h</locationURI>
|
| 99 |
+
</link>
|
| 100 |
+
<link>
|
| 101 |
+
<name>InMemoryTrie</name>
|
| 102 |
+
<type>2</type>
|
| 103 |
+
<locationURI>virtual:/virtual</locationURI>
|
| 104 |
+
</link>
|
| 105 |
+
<link>
|
| 106 |
+
<name>InputPathBase.cpp</name>
|
| 107 |
+
<type>1</type>
|
| 108 |
+
<locationURI>PARENT-3-PROJECT_LOC/moses2/InputPathBase.cpp</locationURI>
|
| 109 |
+
</link>
|
| 110 |
+
<link>
|
| 111 |
+
<name>InputPathBase.h</name>
|
| 112 |
+
<type>1</type>
|
| 113 |
+
<locationURI>PARENT-3-PROJECT_LOC/moses2/InputPathBase.h</locationURI>
|
| 114 |
+
</link>
|
| 115 |
+
<link>
|
| 116 |
+
<name>InputPathsBase.cpp</name>
|
| 117 |
+
<type>1</type>
|
| 118 |
+
<locationURI>PARENT-3-PROJECT_LOC/moses2/InputPathsBase.cpp</locationURI>
|
| 119 |
+
</link>
|
| 120 |
+
<link>
|
| 121 |
+
<name>InputPathsBase.h</name>
|
| 122 |
+
<type>1</type>
|
| 123 |
+
<locationURI>PARENT-3-PROJECT_LOC/moses2/InputPathsBase.h</locationURI>
|
| 124 |
+
</link>
|
| 125 |
+
<link>
|
| 126 |
+
<name>InputType.cpp</name>
|
| 127 |
+
<type>1</type>
|
| 128 |
+
<locationURI>PARENT-3-PROJECT_LOC/moses2/InputType.cpp</locationURI>
|
| 129 |
+
</link>
|
| 130 |
+
<link>
|
| 131 |
+
<name>InputType.h</name>
|
| 132 |
+
<type>1</type>
|
| 133 |
+
<locationURI>PARENT-3-PROJECT_LOC/moses2/InputType.h</locationURI>
|
| 134 |
+
</link>
|
| 135 |
+
<link>
|
| 136 |
+
<name>Jamfile</name>
|
| 137 |
+
<type>1</type>
|
| 138 |
+
<locationURI>PARENT-3-PROJECT_LOC/moses2/Jamfile</locationURI>
|
| 139 |
+
</link>
|
| 140 |
+
<link>
|
| 141 |
+
<name>LM</name>
|
| 142 |
+
<type>2</type>
|
| 143 |
+
<locationURI>virtual:/virtual</locationURI>
|
| 144 |
+
</link>
|
| 145 |
+
<link>
|
| 146 |
+
<name>Main.cpp</name>
|
| 147 |
+
<type>1</type>
|
| 148 |
+
<locationURI>PARENT-3-PROJECT_LOC/moses2/Main.cpp</locationURI>
|
| 149 |
+
</link>
|
| 150 |
+
<link>
|
| 151 |
+
<name>ManagerBase.cpp</name>
|
| 152 |
+
<type>1</type>
|
| 153 |
+
<locationURI>PARENT-3-PROJECT_LOC/moses2/ManagerBase.cpp</locationURI>
|
| 154 |
+
</link>
|
| 155 |
+
<link>
|
| 156 |
+
<name>ManagerBase.h</name>
|
| 157 |
+
<type>1</type>
|
| 158 |
+
<locationURI>PARENT-3-PROJECT_LOC/moses2/ManagerBase.h</locationURI>
|
| 159 |
+
</link>
|
| 160 |
+
<link>
|
| 161 |
+
<name>MemPool.cpp</name>
|
| 162 |
+
<type>1</type>
|
| 163 |
+
<locationURI>PARENT-3-PROJECT_LOC/moses2/MemPool.cpp</locationURI>
|
| 164 |
+
</link>
|
| 165 |
+
<link>
|
| 166 |
+
<name>MemPool.h</name>
|
| 167 |
+
<type>1</type>
|
| 168 |
+
<locationURI>PARENT-3-PROJECT_LOC/moses2/MemPool.h</locationURI>
|
| 169 |
+
</link>
|
| 170 |
+
<link>
|
| 171 |
+
<name>MemPoolAllocator.h</name>
|
| 172 |
+
<type>1</type>
|
| 173 |
+
<locationURI>PARENT-3-PROJECT_LOC/moses2/MemPoolAllocator.h</locationURI>
|
| 174 |
+
</link>
|
| 175 |
+
<link>
|
| 176 |
+
<name>Phrase.cpp</name>
|
| 177 |
+
<type>1</type>
|
| 178 |
+
<locationURI>PARENT-3-PROJECT_LOC/moses2/Phrase.cpp</locationURI>
|
| 179 |
+
</link>
|
| 180 |
+
<link>
|
| 181 |
+
<name>Phrase.h</name>
|
| 182 |
+
<type>1</type>
|
| 183 |
+
<locationURI>PARENT-3-PROJECT_LOC/moses2/Phrase.h</locationURI>
|
| 184 |
+
</link>
|
| 185 |
+
<link>
|
| 186 |
+
<name>PhraseBased</name>
|
| 187 |
+
<type>2</type>
|
| 188 |
+
<locationURI>virtual:/virtual</locationURI>
|
| 189 |
+
</link>
|
| 190 |
+
<link>
|
| 191 |
+
<name>PhraseImplTemplate.h</name>
|
| 192 |
+
<type>1</type>
|
| 193 |
+
<locationURI>PARENT-3-PROJECT_LOC/moses2/PhraseImplTemplate.h</locationURI>
|
| 194 |
+
</link>
|
| 195 |
+
<link>
|
| 196 |
+
<name>Recycler.cpp</name>
|
| 197 |
+
<type>1</type>
|
| 198 |
+
<locationURI>PARENT-3-PROJECT_LOC/moses2/Recycler.cpp</locationURI>
|
| 199 |
+
</link>
|
| 200 |
+
<link>
|
| 201 |
+
<name>Recycler.h</name>
|
| 202 |
+
<type>1</type>
|
| 203 |
+
<locationURI>PARENT-3-PROJECT_LOC/moses2/Recycler.h</locationURI>
|
| 204 |
+
</link>
|
| 205 |
+
<link>
|
| 206 |
+
<name>SCFG</name>
|
| 207 |
+
<type>2</type>
|
| 208 |
+
<locationURI>virtual:/virtual</locationURI>
|
| 209 |
+
</link>
|
| 210 |
+
<link>
|
| 211 |
+
<name>Scores.cpp</name>
|
| 212 |
+
<type>1</type>
|
| 213 |
+
<locationURI>PARENT-3-PROJECT_LOC/moses2/Scores.cpp</locationURI>
|
| 214 |
+
</link>
|
| 215 |
+
<link>
|
| 216 |
+
<name>Scores.h</name>
|
| 217 |
+
<type>1</type>
|
| 218 |
+
<locationURI>PARENT-3-PROJECT_LOC/moses2/Scores.h</locationURI>
|
| 219 |
+
</link>
|
| 220 |
+
<link>
|
| 221 |
+
<name>SubPhrase.cpp</name>
|
| 222 |
+
<type>1</type>
|
| 223 |
+
<locationURI>PARENT-3-PROJECT_LOC/moses2/SubPhrase.cpp</locationURI>
|
| 224 |
+
</link>
|
| 225 |
+
<link>
|
| 226 |
+
<name>SubPhrase.h</name>
|
| 227 |
+
<type>1</type>
|
| 228 |
+
<locationURI>PARENT-3-PROJECT_LOC/moses2/SubPhrase.h</locationURI>
|
| 229 |
+
</link>
|
| 230 |
+
<link>
|
| 231 |
+
<name>System.cpp</name>
|
| 232 |
+
<type>1</type>
|
| 233 |
+
<locationURI>PARENT-3-PROJECT_LOC/moses2/System.cpp</locationURI>
|
| 234 |
+
</link>
|
| 235 |
+
<link>
|
| 236 |
+
<name>System.h</name>
|
| 237 |
+
<type>1</type>
|
| 238 |
+
<locationURI>PARENT-3-PROJECT_LOC/moses2/System.h</locationURI>
|
| 239 |
+
</link>
|
| 240 |
+
<link>
|
| 241 |
+
<name>TargetPhrase.cpp</name>
|
| 242 |
+
<type>1</type>
|
| 243 |
+
<locationURI>PARENT-3-PROJECT_LOC/moses2/TargetPhrase.cpp</locationURI>
|
| 244 |
+
</link>
|
| 245 |
+
<link>
|
| 246 |
+
<name>TargetPhrase.h</name>
|
| 247 |
+
<type>1</type>
|
| 248 |
+
<locationURI>PARENT-3-PROJECT_LOC/moses2/TargetPhrase.h</locationURI>
|
| 249 |
+
</link>
|
| 250 |
+
<link>
|
| 251 |
+
<name>TranslationModel</name>
|
| 252 |
+
<type>2</type>
|
| 253 |
+
<locationURI>virtual:/virtual</locationURI>
|
| 254 |
+
</link>
|
| 255 |
+
<link>
|
| 256 |
+
<name>TranslationTask.cpp</name>
|
| 257 |
+
<type>1</type>
|
| 258 |
+
<locationURI>PARENT-3-PROJECT_LOC/moses2/TranslationTask.cpp</locationURI>
|
| 259 |
+
</link>
|
| 260 |
+
<link>
|
| 261 |
+
<name>TranslationTask.h</name>
|
| 262 |
+
<type>1</type>
|
| 263 |
+
<locationURI>PARENT-3-PROJECT_LOC/moses2/TranslationTask.h</locationURI>
|
| 264 |
+
</link>
|
| 265 |
+
<link>
|
| 266 |
+
<name>TrellisPaths.cpp</name>
|
| 267 |
+
<type>1</type>
|
| 268 |
+
<locationURI>PARENT-3-PROJECT_LOC/moses2/TrellisPaths.cpp</locationURI>
|
| 269 |
+
</link>
|
| 270 |
+
<link>
|
| 271 |
+
<name>TrellisPaths.h</name>
|
| 272 |
+
<type>1</type>
|
| 273 |
+
<locationURI>PARENT-3-PROJECT_LOC/moses2/TrellisPaths.h</locationURI>
|
| 274 |
+
</link>
|
| 275 |
+
<link>
|
| 276 |
+
<name>TypeDef.cpp</name>
|
| 277 |
+
<type>1</type>
|
| 278 |
+
<locationURI>PARENT-3-PROJECT_LOC/moses2/TypeDef.cpp</locationURI>
|
| 279 |
+
</link>
|
| 280 |
+
<link>
|
| 281 |
+
<name>TypeDef.h</name>
|
| 282 |
+
<type>1</type>
|
| 283 |
+
<locationURI>PARENT-3-PROJECT_LOC/moses2/TypeDef.h</locationURI>
|
| 284 |
+
</link>
|
| 285 |
+
<link>
|
| 286 |
+
<name>Vector.cpp</name>
|
| 287 |
+
<type>1</type>
|
| 288 |
+
<locationURI>PARENT-3-PROJECT_LOC/moses2/Vector.cpp</locationURI>
|
| 289 |
+
</link>
|
| 290 |
+
<link>
|
| 291 |
+
<name>Vector.h</name>
|
| 292 |
+
<type>1</type>
|
| 293 |
+
<locationURI>PARENT-3-PROJECT_LOC/moses2/Vector.h</locationURI>
|
| 294 |
+
</link>
|
| 295 |
+
<link>
|
| 296 |
+
<name>Weights.cpp</name>
|
| 297 |
+
<type>1</type>
|
| 298 |
+
<locationURI>PARENT-3-PROJECT_LOC/moses2/Weights.cpp</locationURI>
|
| 299 |
+
</link>
|
| 300 |
+
<link>
|
| 301 |
+
<name>Weights.h</name>
|
| 302 |
+
<type>1</type>
|
| 303 |
+
<locationURI>PARENT-3-PROJECT_LOC/moses2/Weights.h</locationURI>
|
| 304 |
+
</link>
|
| 305 |
+
<link>
|
| 306 |
+
<name>Word.cpp</name>
|
| 307 |
+
<type>1</type>
|
| 308 |
+
<locationURI>PARENT-3-PROJECT_LOC/moses2/Word.cpp</locationURI>
|
| 309 |
+
</link>
|
| 310 |
+
<link>
|
| 311 |
+
<name>Word.h</name>
|
| 312 |
+
<type>1</type>
|
| 313 |
+
<locationURI>PARENT-3-PROJECT_LOC/moses2/Word.h</locationURI>
|
| 314 |
+
</link>
|
| 315 |
+
<link>
|
| 316 |
+
<name>defer</name>
|
| 317 |
+
<type>2</type>
|
| 318 |
+
<locationURI>virtual:/virtual</locationURI>
|
| 319 |
+
</link>
|
| 320 |
+
<link>
|
| 321 |
+
<name>legacy</name>
|
| 322 |
+
<type>2</type>
|
| 323 |
+
<locationURI>virtual:/virtual</locationURI>
|
| 324 |
+
</link>
|
| 325 |
+
<link>
|
| 326 |
+
<name>parameters</name>
|
| 327 |
+
<type>2</type>
|
| 328 |
+
<locationURI>virtual:/virtual</locationURI>
|
| 329 |
+
</link>
|
| 330 |
+
<link>
|
| 331 |
+
<name>pugiconfig.hpp</name>
|
| 332 |
+
<type>1</type>
|
| 333 |
+
<locationURI>PARENT-3-PROJECT_LOC/moses2/pugiconfig.hpp</locationURI>
|
| 334 |
+
</link>
|
| 335 |
+
<link>
|
| 336 |
+
<name>pugixml.cpp</name>
|
| 337 |
+
<type>1</type>
|
| 338 |
+
<locationURI>PARENT-3-PROJECT_LOC/moses2/pugixml.cpp</locationURI>
|
| 339 |
+
</link>
|
| 340 |
+
<link>
|
| 341 |
+
<name>pugixml.hpp</name>
|
| 342 |
+
<type>1</type>
|
| 343 |
+
<locationURI>PARENT-3-PROJECT_LOC/moses2/pugixml.hpp</locationURI>
|
| 344 |
+
</link>
|
| 345 |
+
<link>
|
| 346 |
+
<name>server</name>
|
| 347 |
+
<type>2</type>
|
| 348 |
+
<locationURI>virtual:/virtual</locationURI>
|
| 349 |
+
</link>
|
| 350 |
+
<link>
|
| 351 |
+
<name>FF/Distortion.cpp</name>
|
| 352 |
+
<type>1</type>
|
| 353 |
+
<locationURI>PARENT-3-PROJECT_LOC/moses2/FF/Distortion.cpp</locationURI>
|
| 354 |
+
</link>
|
| 355 |
+
<link>
|
| 356 |
+
<name>FF/Distortion.h</name>
|
| 357 |
+
<type>1</type>
|
| 358 |
+
<locationURI>PARENT-3-PROJECT_LOC/moses2/FF/Distortion.h</locationURI>
|
| 359 |
+
</link>
|
| 360 |
+
<link>
|
| 361 |
+
<name>FF/ExampleStatefulFF.cpp</name>
|
| 362 |
+
<type>1</type>
|
| 363 |
+
<locationURI>PARENT-3-PROJECT_LOC/moses2/FF/ExampleStatefulFF.cpp</locationURI>
|
| 364 |
+
</link>
|
| 365 |
+
<link>
|
| 366 |
+
<name>FF/ExampleStatefulFF.h</name>
|
| 367 |
+
<type>1</type>
|
| 368 |
+
<locationURI>PARENT-3-PROJECT_LOC/moses2/FF/ExampleStatefulFF.h</locationURI>
|
| 369 |
+
</link>
|
| 370 |
+
<link>
|
| 371 |
+
<name>FF/ExampleStatelessFF.cpp</name>
|
| 372 |
+
<type>1</type>
|
| 373 |
+
<locationURI>PARENT-3-PROJECT_LOC/moses2/FF/ExampleStatelessFF.cpp</locationURI>
|
| 374 |
+
</link>
|
| 375 |
+
<link>
|
| 376 |
+
<name>FF/ExampleStatelessFF.h</name>
|
| 377 |
+
<type>1</type>
|
| 378 |
+
<locationURI>PARENT-3-PROJECT_LOC/moses2/FF/ExampleStatelessFF.h</locationURI>
|
| 379 |
+
</link>
|
| 380 |
+
<link>
|
| 381 |
+
<name>FF/FFState.cpp</name>
|
| 382 |
+
<type>1</type>
|
| 383 |
+
<locationURI>PARENT-3-PROJECT_LOC/moses2/FF/FFState.cpp</locationURI>
|
| 384 |
+
</link>
|
| 385 |
+
<link>
|
| 386 |
+
<name>FF/FFState.h</name>
|
| 387 |
+
<type>1</type>
|
| 388 |
+
<locationURI>PARENT-3-PROJECT_LOC/moses2/FF/FFState.h</locationURI>
|
| 389 |
+
</link>
|
| 390 |
+
<link>
|
| 391 |
+
<name>FF/FeatureFunction.cpp</name>
|
| 392 |
+
<type>1</type>
|
| 393 |
+
<locationURI>PARENT-3-PROJECT_LOC/moses2/FF/FeatureFunction.cpp</locationURI>
|
| 394 |
+
</link>
|
| 395 |
+
<link>
|
| 396 |
+
<name>FF/FeatureFunction.h</name>
|
| 397 |
+
<type>1</type>
|
| 398 |
+
<locationURI>PARENT-3-PROJECT_LOC/moses2/FF/FeatureFunction.h</locationURI>
|
| 399 |
+
</link>
|
| 400 |
+
<link>
|
| 401 |
+
<name>FF/FeatureFunctions.cpp</name>
|
| 402 |
+
<type>1</type>
|
| 403 |
+
<locationURI>PARENT-3-PROJECT_LOC/moses2/FF/FeatureFunctions.cpp</locationURI>
|
| 404 |
+
</link>
|
| 405 |
+
<link>
|
| 406 |
+
<name>FF/FeatureFunctions.h</name>
|
| 407 |
+
<type>1</type>
|
| 408 |
+
<locationURI>PARENT-3-PROJECT_LOC/moses2/FF/FeatureFunctions.h</locationURI>
|
| 409 |
+
</link>
|
| 410 |
+
<link>
|
| 411 |
+
<name>FF/FeatureRegistry.cpp</name>
|
| 412 |
+
<type>1</type>
|
| 413 |
+
<locationURI>PARENT-3-PROJECT_LOC/moses2/FF/FeatureRegistry.cpp</locationURI>
|
| 414 |
+
</link>
|
| 415 |
+
<link>
|
| 416 |
+
<name>FF/FeatureRegistry.h</name>
|
| 417 |
+
<type>1</type>
|
| 418 |
+
<locationURI>PARENT-3-PROJECT_LOC/moses2/FF/FeatureRegistry.h</locationURI>
|
| 419 |
+
</link>
|
| 420 |
+
<link>
|
| 421 |
+
<name>FF/LexicalReordering</name>
|
| 422 |
+
<type>2</type>
|
| 423 |
+
<locationURI>virtual:/virtual</locationURI>
|
| 424 |
+
</link>
|
| 425 |
+
<link>
|
| 426 |
+
<name>FF/OSM</name>
|
| 427 |
+
<type>2</type>
|
| 428 |
+
<locationURI>virtual:/virtual</locationURI>
|
| 429 |
+
</link>
|
| 430 |
+
<link>
|
| 431 |
+
<name>FF/PhrasePenalty.cpp</name>
|
| 432 |
+
<type>1</type>
|
| 433 |
+
<locationURI>PARENT-3-PROJECT_LOC/moses2/FF/PhrasePenalty.cpp</locationURI>
|
| 434 |
+
</link>
|
| 435 |
+
<link>
|
| 436 |
+
<name>FF/PhrasePenalty.h</name>
|
| 437 |
+
<type>1</type>
|
| 438 |
+
<locationURI>PARENT-3-PROJECT_LOC/moses2/FF/PhrasePenalty.h</locationURI>
|
| 439 |
+
</link>
|
| 440 |
+
<link>
|
| 441 |
+
<name>FF/PointerState.cpp</name>
|
| 442 |
+
<type>1</type>
|
| 443 |
+
<locationURI>PARENT-3-PROJECT_LOC/moses2/FF/PointerState.cpp</locationURI>
|
| 444 |
+
</link>
|
| 445 |
+
<link>
|
| 446 |
+
<name>FF/PointerState.h</name>
|
| 447 |
+
<type>1</type>
|
| 448 |
+
<locationURI>PARENT-3-PROJECT_LOC/moses2/FF/PointerState.h</locationURI>
|
| 449 |
+
</link>
|
| 450 |
+
<link>
|
| 451 |
+
<name>FF/StatefulFeatureFunction.cpp</name>
|
| 452 |
+
<type>1</type>
|
| 453 |
+
<locationURI>PARENT-3-PROJECT_LOC/moses2/FF/StatefulFeatureFunction.cpp</locationURI>
|
| 454 |
+
</link>
|
| 455 |
+
<link>
|
| 456 |
+
<name>FF/StatefulFeatureFunction.h</name>
|
| 457 |
+
<type>1</type>
|
| 458 |
+
<locationURI>PARENT-3-PROJECT_LOC/moses2/FF/StatefulFeatureFunction.h</locationURI>
|
| 459 |
+
</link>
|
| 460 |
+
<link>
|
| 461 |
+
<name>FF/StatelessFeatureFunction.cpp</name>
|
| 462 |
+
<type>1</type>
|
| 463 |
+
<locationURI>PARENT-3-PROJECT_LOC/moses2/FF/StatelessFeatureFunction.cpp</locationURI>
|
| 464 |
+
</link>
|
| 465 |
+
<link>
|
| 466 |
+
<name>FF/StatelessFeatureFunction.h</name>
|
| 467 |
+
<type>1</type>
|
| 468 |
+
<locationURI>PARENT-3-PROJECT_LOC/moses2/FF/StatelessFeatureFunction.h</locationURI>
|
| 469 |
+
</link>
|
| 470 |
+
<link>
|
| 471 |
+
<name>FF/WordPenalty.cpp</name>
|
| 472 |
+
<type>1</type>
|
| 473 |
+
<locationURI>PARENT-3-PROJECT_LOC/moses2/FF/WordPenalty.cpp</locationURI>
|
| 474 |
+
</link>
|
| 475 |
+
<link>
|
| 476 |
+
<name>FF/WordPenalty.h</name>
|
| 477 |
+
<type>1</type>
|
| 478 |
+
<locationURI>PARENT-3-PROJECT_LOC/moses2/FF/WordPenalty.h</locationURI>
|
| 479 |
+
</link>
|
| 480 |
+
<link>
|
| 481 |
+
<name>InMemoryTrie/InMemoryTrie.h</name>
|
| 482 |
+
<type>1</type>
|
| 483 |
+
<locationURI>PARENT-3-PROJECT_LOC/moses2/InMemoryTrie/InMemoryTrie.h</locationURI>
|
| 484 |
+
</link>
|
| 485 |
+
<link>
|
| 486 |
+
<name>InMemoryTrie/Node.h</name>
|
| 487 |
+
<type>1</type>
|
| 488 |
+
<locationURI>PARENT-3-PROJECT_LOC/moses2/InMemoryTrie/Node.h</locationURI>
|
| 489 |
+
</link>
|
| 490 |
+
<link>
|
| 491 |
+
<name>InMemoryTrie/utils.h</name>
|
| 492 |
+
<type>1</type>
|
| 493 |
+
<locationURI>PARENT-3-PROJECT_LOC/moses2/InMemoryTrie/utils.h</locationURI>
|
| 494 |
+
</link>
|
| 495 |
+
<link>
|
| 496 |
+
<name>LM/GPULM.cpp</name>
|
| 497 |
+
<type>1</type>
|
| 498 |
+
<locationURI>PARENT-3-PROJECT_LOC/moses2/LM/GPULM.cpp</locationURI>
|
| 499 |
+
</link>
|
| 500 |
+
<link>
|
| 501 |
+
<name>LM/GPULM.h</name>
|
| 502 |
+
<type>1</type>
|
| 503 |
+
<locationURI>PARENT-3-PROJECT_LOC/moses2/LM/GPULM.h</locationURI>
|
| 504 |
+
</link>
|
| 505 |
+
<link>
|
| 506 |
+
<name>LM/KENLM.cpp</name>
|
| 507 |
+
<type>1</type>
|
| 508 |
+
<locationURI>PARENT-3-PROJECT_LOC/moses2/LM/KENLM.cpp</locationURI>
|
| 509 |
+
</link>
|
| 510 |
+
<link>
|
| 511 |
+
<name>LM/KENLM.h</name>
|
| 512 |
+
<type>1</type>
|
| 513 |
+
<locationURI>PARENT-3-PROJECT_LOC/moses2/LM/KENLM.h</locationURI>
|
| 514 |
+
</link>
|
| 515 |
+
<link>
|
| 516 |
+
<name>LM/KENLMBatch.cpp</name>
|
| 517 |
+
<type>1</type>
|
| 518 |
+
<locationURI>PARENT-3-PROJECT_LOC/moses2/LM/KENLMBatch.cpp</locationURI>
|
| 519 |
+
</link>
|
| 520 |
+
<link>
|
| 521 |
+
<name>LM/KENLMBatch.h</name>
|
| 522 |
+
<type>1</type>
|
| 523 |
+
<locationURI>PARENT-3-PROJECT_LOC/moses2/LM/KENLMBatch.h</locationURI>
|
| 524 |
+
</link>
|
| 525 |
+
<link>
|
| 526 |
+
<name>LM/LanguageModel.cpp</name>
|
| 527 |
+
<type>1</type>
|
| 528 |
+
<locationURI>PARENT-3-PROJECT_LOC/moses2/LM/LanguageModel.cpp</locationURI>
|
| 529 |
+
</link>
|
| 530 |
+
<link>
|
| 531 |
+
<name>LM/LanguageModel.h</name>
|
| 532 |
+
<type>1</type>
|
| 533 |
+
<locationURI>PARENT-3-PROJECT_LOC/moses2/LM/LanguageModel.h</locationURI>
|
| 534 |
+
</link>
|
| 535 |
+
<link>
|
| 536 |
+
<name>PhraseBased/CubePruningMiniStack</name>
|
| 537 |
+
<type>2</type>
|
| 538 |
+
<locationURI>virtual:/virtual</locationURI>
|
| 539 |
+
</link>
|
| 540 |
+
<link>
|
| 541 |
+
<name>PhraseBased/Hypothesis.cpp</name>
|
| 542 |
+
<type>1</type>
|
| 543 |
+
<locationURI>PARENT-3-PROJECT_LOC/moses2/PhraseBased/Hypothesis.cpp</locationURI>
|
| 544 |
+
</link>
|
| 545 |
+
<link>
|
| 546 |
+
<name>PhraseBased/Hypothesis.h</name>
|
| 547 |
+
<type>1</type>
|
| 548 |
+
<locationURI>PARENT-3-PROJECT_LOC/moses2/PhraseBased/Hypothesis.h</locationURI>
|
| 549 |
+
</link>
|
| 550 |
+
<link>
|
| 551 |
+
<name>PhraseBased/InputPath.cpp</name>
|
| 552 |
+
<type>1</type>
|
| 553 |
+
<locationURI>PARENT-3-PROJECT_LOC/moses2/PhraseBased/InputPath.cpp</locationURI>
|
| 554 |
+
</link>
|
| 555 |
+
<link>
|
| 556 |
+
<name>PhraseBased/InputPath.h</name>
|
| 557 |
+
<type>1</type>
|
| 558 |
+
<locationURI>PARENT-3-PROJECT_LOC/moses2/PhraseBased/InputPath.h</locationURI>
|
| 559 |
+
</link>
|
| 560 |
+
<link>
|
| 561 |
+
<name>PhraseBased/InputPaths.cpp</name>
|
| 562 |
+
<type>1</type>
|
| 563 |
+
<locationURI>PARENT-3-PROJECT_LOC/moses2/PhraseBased/InputPaths.cpp</locationURI>
|
| 564 |
+
</link>
|
| 565 |
+
<link>
|
| 566 |
+
<name>PhraseBased/InputPaths.h</name>
|
| 567 |
+
<type>1</type>
|
| 568 |
+
<locationURI>PARENT-3-PROJECT_LOC/moses2/PhraseBased/InputPaths.h</locationURI>
|
| 569 |
+
</link>
|
| 570 |
+
<link>
|
| 571 |
+
<name>PhraseBased/Manager.cpp</name>
|
| 572 |
+
<type>1</type>
|
| 573 |
+
<locationURI>PARENT-3-PROJECT_LOC/moses2/PhraseBased/Manager.cpp</locationURI>
|
| 574 |
+
</link>
|
| 575 |
+
<link>
|
| 576 |
+
<name>PhraseBased/Manager.h</name>
|
| 577 |
+
<type>1</type>
|
| 578 |
+
<locationURI>PARENT-3-PROJECT_LOC/moses2/PhraseBased/Manager.h</locationURI>
|
| 579 |
+
</link>
|
| 580 |
+
<link>
|
| 581 |
+
<name>PhraseBased/Normal</name>
|
| 582 |
+
<type>2</type>
|
| 583 |
+
<locationURI>virtual:/virtual</locationURI>
|
| 584 |
+
</link>
|
| 585 |
+
<link>
|
| 586 |
+
<name>PhraseBased/PhraseImpl.cpp</name>
|
| 587 |
+
<type>1</type>
|
| 588 |
+
<locationURI>PARENT-3-PROJECT_LOC/moses2/PhraseBased/PhraseImpl.cpp</locationURI>
|
| 589 |
+
</link>
|
| 590 |
+
<link>
|
| 591 |
+
<name>PhraseBased/PhraseImpl.h</name>
|
| 592 |
+
<type>1</type>
|
| 593 |
+
<locationURI>PARENT-3-PROJECT_LOC/moses2/PhraseBased/PhraseImpl.h</locationURI>
|
| 594 |
+
</link>
|
| 595 |
+
<link>
|
| 596 |
+
<name>PhraseBased/ReorderingConstraint.cpp</name>
|
| 597 |
+
<type>1</type>
|
| 598 |
+
<locationURI>PARENT-3-PROJECT_LOC/moses2/PhraseBased/ReorderingConstraint.cpp</locationURI>
|
| 599 |
+
</link>
|
| 600 |
+
<link>
|
| 601 |
+
<name>PhraseBased/ReorderingConstraint.h</name>
|
| 602 |
+
<type>1</type>
|
| 603 |
+
<locationURI>PARENT-3-PROJECT_LOC/moses2/PhraseBased/ReorderingConstraint.h</locationURI>
|
| 604 |
+
</link>
|
| 605 |
+
<link>
|
| 606 |
+
<name>PhraseBased/Search.cpp</name>
|
| 607 |
+
<type>1</type>
|
| 608 |
+
<locationURI>PARENT-3-PROJECT_LOC/moses2/PhraseBased/Search.cpp</locationURI>
|
| 609 |
+
</link>
|
| 610 |
+
<link>
|
| 611 |
+
<name>PhraseBased/Search.h</name>
|
| 612 |
+
<type>1</type>
|
| 613 |
+
<locationURI>PARENT-3-PROJECT_LOC/moses2/PhraseBased/Search.h</locationURI>
|
| 614 |
+
</link>
|
| 615 |
+
<link>
|
| 616 |
+
<name>PhraseBased/Sentence.cpp</name>
|
| 617 |
+
<type>1</type>
|
| 618 |
+
<locationURI>PARENT-3-PROJECT_LOC/moses2/PhraseBased/Sentence.cpp</locationURI>
|
| 619 |
+
</link>
|
| 620 |
+
<link>
|
| 621 |
+
<name>PhraseBased/Sentence.h</name>
|
| 622 |
+
<type>1</type>
|
| 623 |
+
<locationURI>PARENT-3-PROJECT_LOC/moses2/PhraseBased/Sentence.h</locationURI>
|
| 624 |
+
</link>
|
| 625 |
+
<link>
|
| 626 |
+
<name>PhraseBased/TargetPhraseImpl.cpp</name>
|
| 627 |
+
<type>1</type>
|
| 628 |
+
<locationURI>PARENT-3-PROJECT_LOC/moses2/PhraseBased/TargetPhraseImpl.cpp</locationURI>
|
| 629 |
+
</link>
|
| 630 |
+
<link>
|
| 631 |
+
<name>PhraseBased/TargetPhraseImpl.h</name>
|
| 632 |
+
<type>1</type>
|
| 633 |
+
<locationURI>PARENT-3-PROJECT_LOC/moses2/PhraseBased/TargetPhraseImpl.h</locationURI>
|
| 634 |
+
</link>
|
| 635 |
+
<link>
|
| 636 |
+
<name>PhraseBased/TargetPhrases.cpp</name>
|
| 637 |
+
<type>1</type>
|
| 638 |
+
<locationURI>PARENT-3-PROJECT_LOC/moses2/PhraseBased/TargetPhrases.cpp</locationURI>
|
| 639 |
+
</link>
|
| 640 |
+
<link>
|
| 641 |
+
<name>PhraseBased/TargetPhrases.h</name>
|
| 642 |
+
<type>1</type>
|
| 643 |
+
<locationURI>PARENT-3-PROJECT_LOC/moses2/PhraseBased/TargetPhrases.h</locationURI>
|
| 644 |
+
</link>
|
| 645 |
+
<link>
|
| 646 |
+
<name>PhraseBased/TrellisPath.cpp</name>
|
| 647 |
+
<type>1</type>
|
| 648 |
+
<locationURI>PARENT-3-PROJECT_LOC/moses2/PhraseBased/TrellisPath.cpp</locationURI>
|
| 649 |
+
</link>
|
| 650 |
+
<link>
|
| 651 |
+
<name>PhraseBased/TrellisPath.h</name>
|
| 652 |
+
<type>1</type>
|
| 653 |
+
<locationURI>PARENT-3-PROJECT_LOC/moses2/PhraseBased/TrellisPath.h</locationURI>
|
| 654 |
+
</link>
|
| 655 |
+
<link>
|
| 656 |
+
<name>SCFG/ActiveChart.cpp</name>
|
| 657 |
+
<type>1</type>
|
| 658 |
+
<locationURI>PARENT-3-PROJECT_LOC/moses2/SCFG/ActiveChart.cpp</locationURI>
|
| 659 |
+
</link>
|
| 660 |
+
<link>
|
| 661 |
+
<name>SCFG/ActiveChart.h</name>
|
| 662 |
+
<type>1</type>
|
| 663 |
+
<locationURI>PARENT-3-PROJECT_LOC/moses2/SCFG/ActiveChart.h</locationURI>
|
| 664 |
+
</link>
|
| 665 |
+
<link>
|
| 666 |
+
<name>SCFG/Hypothesis.cpp</name>
|
| 667 |
+
<type>1</type>
|
| 668 |
+
<locationURI>PARENT-3-PROJECT_LOC/moses2/SCFG/Hypothesis.cpp</locationURI>
|
| 669 |
+
</link>
|
| 670 |
+
<link>
|
| 671 |
+
<name>SCFG/Hypothesis.h</name>
|
| 672 |
+
<type>1</type>
|
| 673 |
+
<locationURI>PARENT-3-PROJECT_LOC/moses2/SCFG/Hypothesis.h</locationURI>
|
| 674 |
+
</link>
|
| 675 |
+
<link>
|
| 676 |
+
<name>SCFG/InputPath.cpp</name>
|
| 677 |
+
<type>1</type>
|
| 678 |
+
<locationURI>PARENT-3-PROJECT_LOC/moses2/SCFG/InputPath.cpp</locationURI>
|
| 679 |
+
</link>
|
| 680 |
+
<link>
|
| 681 |
+
<name>SCFG/InputPath.h</name>
|
| 682 |
+
<type>1</type>
|
| 683 |
+
<locationURI>PARENT-3-PROJECT_LOC/moses2/SCFG/InputPath.h</locationURI>
|
| 684 |
+
</link>
|
| 685 |
+
<link>
|
| 686 |
+
<name>SCFG/InputPaths.cpp</name>
|
| 687 |
+
<type>1</type>
|
| 688 |
+
<locationURI>PARENT-3-PROJECT_LOC/moses2/SCFG/InputPaths.cpp</locationURI>
|
| 689 |
+
</link>
|
| 690 |
+
<link>
|
| 691 |
+
<name>SCFG/InputPaths.h</name>
|
| 692 |
+
<type>1</type>
|
| 693 |
+
<locationURI>PARENT-3-PROJECT_LOC/moses2/SCFG/InputPaths.h</locationURI>
|
| 694 |
+
</link>
|
| 695 |
+
<link>
|
| 696 |
+
<name>SCFG/Manager.cpp</name>
|
| 697 |
+
<type>1</type>
|
| 698 |
+
<locationURI>PARENT-3-PROJECT_LOC/moses2/SCFG/Manager.cpp</locationURI>
|
| 699 |
+
</link>
|
| 700 |
+
<link>
|
| 701 |
+
<name>SCFG/Manager.h</name>
|
| 702 |
+
<type>1</type>
|
| 703 |
+
<locationURI>PARENT-3-PROJECT_LOC/moses2/SCFG/Manager.h</locationURI>
|
| 704 |
+
</link>
|
| 705 |
+
<link>
|
| 706 |
+
<name>SCFG/Misc.cpp</name>
|
| 707 |
+
<type>1</type>
|
| 708 |
+
<locationURI>PARENT-3-PROJECT_LOC/moses2/SCFG/Misc.cpp</locationURI>
|
| 709 |
+
</link>
|
| 710 |
+
<link>
|
| 711 |
+
<name>SCFG/Misc.h</name>
|
| 712 |
+
<type>1</type>
|
| 713 |
+
<locationURI>PARENT-3-PROJECT_LOC/moses2/SCFG/Misc.h</locationURI>
|
| 714 |
+
</link>
|
| 715 |
+
<link>
|
| 716 |
+
<name>SCFG/PhraseImpl.cpp</name>
|
| 717 |
+
<type>1</type>
|
| 718 |
+
<locationURI>PARENT-3-PROJECT_LOC/moses2/SCFG/PhraseImpl.cpp</locationURI>
|
| 719 |
+
</link>
|
| 720 |
+
<link>
|
| 721 |
+
<name>SCFG/PhraseImpl.h</name>
|
| 722 |
+
<type>1</type>
|
| 723 |
+
<locationURI>PARENT-3-PROJECT_LOC/moses2/SCFG/PhraseImpl.h</locationURI>
|
| 724 |
+
</link>
|
| 725 |
+
<link>
|
| 726 |
+
<name>SCFG/Sentence.cpp</name>
|
| 727 |
+
<type>1</type>
|
| 728 |
+
<locationURI>PARENT-3-PROJECT_LOC/moses2/SCFG/Sentence.cpp</locationURI>
|
| 729 |
+
</link>
|
| 730 |
+
<link>
|
| 731 |
+
<name>SCFG/Sentence.h</name>
|
| 732 |
+
<type>1</type>
|
| 733 |
+
<locationURI>PARENT-3-PROJECT_LOC/moses2/SCFG/Sentence.h</locationURI>
|
| 734 |
+
</link>
|
| 735 |
+
<link>
|
| 736 |
+
<name>SCFG/Stack.cpp</name>
|
| 737 |
+
<type>1</type>
|
| 738 |
+
<locationURI>PARENT-3-PROJECT_LOC/moses2/SCFG/Stack.cpp</locationURI>
|
| 739 |
+
</link>
|
| 740 |
+
<link>
|
| 741 |
+
<name>SCFG/Stack.h</name>
|
| 742 |
+
<type>1</type>
|
| 743 |
+
<locationURI>PARENT-3-PROJECT_LOC/moses2/SCFG/Stack.h</locationURI>
|
| 744 |
+
</link>
|
| 745 |
+
<link>
|
| 746 |
+
<name>SCFG/Stacks.cpp</name>
|
| 747 |
+
<type>1</type>
|
| 748 |
+
<locationURI>PARENT-3-PROJECT_LOC/moses2/SCFG/Stacks.cpp</locationURI>
|
| 749 |
+
</link>
|
| 750 |
+
<link>
|
| 751 |
+
<name>SCFG/Stacks.h</name>
|
| 752 |
+
<type>1</type>
|
| 753 |
+
<locationURI>PARENT-3-PROJECT_LOC/moses2/SCFG/Stacks.h</locationURI>
|
| 754 |
+
</link>
|
| 755 |
+
<link>
|
| 756 |
+
<name>SCFG/TargetPhraseImpl.cpp</name>
|
| 757 |
+
<type>1</type>
|
| 758 |
+
<locationURI>PARENT-3-PROJECT_LOC/moses2/SCFG/TargetPhraseImpl.cpp</locationURI>
|
| 759 |
+
</link>
|
| 760 |
+
<link>
|
| 761 |
+
<name>SCFG/TargetPhraseImpl.h</name>
|
| 762 |
+
<type>1</type>
|
| 763 |
+
<locationURI>PARENT-3-PROJECT_LOC/moses2/SCFG/TargetPhraseImpl.h</locationURI>
|
| 764 |
+
</link>
|
| 765 |
+
<link>
|
| 766 |
+
<name>SCFG/TargetPhrases.cpp</name>
|
| 767 |
+
<type>1</type>
|
| 768 |
+
<locationURI>PARENT-3-PROJECT_LOC/moses2/SCFG/TargetPhrases.cpp</locationURI>
|
| 769 |
+
</link>
|
| 770 |
+
<link>
|
| 771 |
+
<name>SCFG/TargetPhrases.h</name>
|
| 772 |
+
<type>1</type>
|
| 773 |
+
<locationURI>PARENT-3-PROJECT_LOC/moses2/SCFG/TargetPhrases.h</locationURI>
|
| 774 |
+
</link>
|
| 775 |
+
<link>
|
| 776 |
+
<name>SCFG/Word.cpp</name>
|
| 777 |
+
<type>1</type>
|
| 778 |
+
<locationURI>PARENT-3-PROJECT_LOC/moses2/SCFG/Word.cpp</locationURI>
|
| 779 |
+
</link>
|
| 780 |
+
<link>
|
| 781 |
+
<name>SCFG/Word.h</name>
|
| 782 |
+
<type>1</type>
|
| 783 |
+
<locationURI>PARENT-3-PROJECT_LOC/moses2/SCFG/Word.h</locationURI>
|
| 784 |
+
</link>
|
| 785 |
+
<link>
|
| 786 |
+
<name>SCFG/nbest</name>
|
| 787 |
+
<type>2</type>
|
| 788 |
+
<locationURI>virtual:/virtual</locationURI>
|
| 789 |
+
</link>
|
| 790 |
+
<link>
|
| 791 |
+
<name>TranslationModel/CompactPT</name>
|
| 792 |
+
<type>2</type>
|
| 793 |
+
<locationURI>virtual:/virtual</locationURI>
|
| 794 |
+
</link>
|
| 795 |
+
<link>
|
| 796 |
+
<name>TranslationModel/Memory</name>
|
| 797 |
+
<type>2</type>
|
| 798 |
+
<locationURI>virtual:/virtual</locationURI>
|
| 799 |
+
</link>
|
| 800 |
+
<link>
|
| 801 |
+
<name>TranslationModel/PhraseTable.cpp</name>
|
| 802 |
+
<type>1</type>
|
| 803 |
+
<locationURI>PARENT-3-PROJECT_LOC/moses2/TranslationModel/PhraseTable.cpp</locationURI>
|
| 804 |
+
</link>
|
| 805 |
+
<link>
|
| 806 |
+
<name>TranslationModel/PhraseTable.h</name>
|
| 807 |
+
<type>1</type>
|
| 808 |
+
<locationURI>PARENT-3-PROJECT_LOC/moses2/TranslationModel/PhraseTable.h</locationURI>
|
| 809 |
+
</link>
|
| 810 |
+
<link>
|
| 811 |
+
<name>TranslationModel/ProbingPT.cpp</name>
|
| 812 |
+
<type>1</type>
|
| 813 |
+
<locationURI>PARENT-3-PROJECT_LOC/moses2/TranslationModel/ProbingPT.cpp</locationURI>
|
| 814 |
+
</link>
|
| 815 |
+
<link>
|
| 816 |
+
<name>TranslationModel/ProbingPT.h</name>
|
| 817 |
+
<type>1</type>
|
| 818 |
+
<locationURI>PARENT-3-PROJECT_LOC/moses2/TranslationModel/ProbingPT.h</locationURI>
|
| 819 |
+
</link>
|
| 820 |
+
<link>
|
| 821 |
+
<name>TranslationModel/Transliteration.cpp</name>
|
| 822 |
+
<type>1</type>
|
| 823 |
+
<locationURI>PARENT-3-PROJECT_LOC/moses2/TranslationModel/Transliteration.cpp</locationURI>
|
| 824 |
+
</link>
|
| 825 |
+
<link>
|
| 826 |
+
<name>TranslationModel/Transliteration.h</name>
|
| 827 |
+
<type>1</type>
|
| 828 |
+
<locationURI>PARENT-3-PROJECT_LOC/moses2/TranslationModel/Transliteration.h</locationURI>
|
| 829 |
+
</link>
|
| 830 |
+
<link>
|
| 831 |
+
<name>TranslationModel/UnknownWordPenalty.cpp</name>
|
| 832 |
+
<type>1</type>
|
| 833 |
+
<locationURI>PARENT-3-PROJECT_LOC/moses2/TranslationModel/UnknownWordPenalty.cpp</locationURI>
|
| 834 |
+
</link>
|
| 835 |
+
<link>
|
| 836 |
+
<name>TranslationModel/UnknownWordPenalty.h</name>
|
| 837 |
+
<type>1</type>
|
| 838 |
+
<locationURI>PARENT-3-PROJECT_LOC/moses2/TranslationModel/UnknownWordPenalty.h</locationURI>
|
| 839 |
+
</link>
|
| 840 |
+
<link>
|
| 841 |
+
<name>defer/CubePruningBitmapStack</name>
|
| 842 |
+
<type>2</type>
|
| 843 |
+
<locationURI>virtual:/virtual</locationURI>
|
| 844 |
+
</link>
|
| 845 |
+
<link>
|
| 846 |
+
<name>defer/CubePruningCardinalStack</name>
|
| 847 |
+
<type>2</type>
|
| 848 |
+
<locationURI>virtual:/virtual</locationURI>
|
| 849 |
+
</link>
|
| 850 |
+
<link>
|
| 851 |
+
<name>defer/CubePruningPerBitmap</name>
|
| 852 |
+
<type>2</type>
|
| 853 |
+
<locationURI>virtual:/virtual</locationURI>
|
| 854 |
+
</link>
|
| 855 |
+
<link>
|
| 856 |
+
<name>defer/CubePruningPerMiniStack</name>
|
| 857 |
+
<type>2</type>
|
| 858 |
+
<locationURI>virtual:/virtual</locationURI>
|
| 859 |
+
</link>
|
| 860 |
+
<link>
|
| 861 |
+
<name>legacy/Bitmap.cpp</name>
|
| 862 |
+
<type>1</type>
|
| 863 |
+
<locationURI>PARENT-3-PROJECT_LOC/moses2/legacy/Bitmap.cpp</locationURI>
|
| 864 |
+
</link>
|
| 865 |
+
<link>
|
| 866 |
+
<name>legacy/Bitmap.h</name>
|
| 867 |
+
<type>1</type>
|
| 868 |
+
<locationURI>PARENT-3-PROJECT_LOC/moses2/legacy/Bitmap.h</locationURI>
|
| 869 |
+
</link>
|
| 870 |
+
<link>
|
| 871 |
+
<name>legacy/Bitmaps.cpp</name>
|
| 872 |
+
<type>1</type>
|
| 873 |
+
<locationURI>PARENT-3-PROJECT_LOC/moses2/legacy/Bitmaps.cpp</locationURI>
|
| 874 |
+
</link>
|
| 875 |
+
<link>
|
| 876 |
+
<name>legacy/Bitmaps.h</name>
|
| 877 |
+
<type>1</type>
|
| 878 |
+
<locationURI>PARENT-3-PROJECT_LOC/moses2/legacy/Bitmaps.h</locationURI>
|
| 879 |
+
</link>
|
| 880 |
+
<link>
|
| 881 |
+
<name>legacy/Factor.cpp</name>
|
| 882 |
+
<type>1</type>
|
| 883 |
+
<locationURI>PARENT-3-PROJECT_LOC/moses2/legacy/Factor.cpp</locationURI>
|
| 884 |
+
</link>
|
| 885 |
+
<link>
|
| 886 |
+
<name>legacy/Factor.h</name>
|
| 887 |
+
<type>1</type>
|
| 888 |
+
<locationURI>PARENT-3-PROJECT_LOC/moses2/legacy/Factor.h</locationURI>
|
| 889 |
+
</link>
|
| 890 |
+
<link>
|
| 891 |
+
<name>legacy/FactorCollection.cpp</name>
|
| 892 |
+
<type>1</type>
|
| 893 |
+
<locationURI>PARENT-3-PROJECT_LOC/moses2/legacy/FactorCollection.cpp</locationURI>
|
| 894 |
+
</link>
|
| 895 |
+
<link>
|
| 896 |
+
<name>legacy/FactorCollection.h</name>
|
| 897 |
+
<type>1</type>
|
| 898 |
+
<locationURI>PARENT-3-PROJECT_LOC/moses2/legacy/FactorCollection.h</locationURI>
|
| 899 |
+
</link>
|
| 900 |
+
<link>
|
| 901 |
+
<name>legacy/InputFileStream.cpp</name>
|
| 902 |
+
<type>1</type>
|
| 903 |
+
<locationURI>PARENT-3-PROJECT_LOC/moses2/legacy/InputFileStream.cpp</locationURI>
|
| 904 |
+
</link>
|
| 905 |
+
<link>
|
| 906 |
+
<name>legacy/InputFileStream.h</name>
|
| 907 |
+
<type>1</type>
|
| 908 |
+
<locationURI>PARENT-3-PROJECT_LOC/moses2/legacy/InputFileStream.h</locationURI>
|
| 909 |
+
</link>
|
| 910 |
+
<link>
|
| 911 |
+
<name>legacy/Matrix.cpp</name>
|
| 912 |
+
<type>1</type>
|
| 913 |
+
<locationURI>PARENT-3-PROJECT_LOC/moses2/legacy/Matrix.cpp</locationURI>
|
| 914 |
+
</link>
|
| 915 |
+
<link>
|
| 916 |
+
<name>legacy/Matrix.h</name>
|
| 917 |
+
<type>1</type>
|
| 918 |
+
<locationURI>PARENT-3-PROJECT_LOC/moses2/legacy/Matrix.h</locationURI>
|
| 919 |
+
</link>
|
| 920 |
+
<link>
|
| 921 |
+
<name>legacy/OutputCollector.h</name>
|
| 922 |
+
<type>1</type>
|
| 923 |
+
<locationURI>PARENT-3-PROJECT_LOC/moses2/legacy/OutputCollector.h</locationURI>
|
| 924 |
+
</link>
|
| 925 |
+
<link>
|
| 926 |
+
<name>legacy/OutputFileStream.cpp</name>
|
| 927 |
+
<type>1</type>
|
| 928 |
+
<locationURI>PARENT-3-PROJECT_LOC/moses2/legacy/OutputFileStream.cpp</locationURI>
|
| 929 |
+
</link>
|
| 930 |
+
<link>
|
| 931 |
+
<name>legacy/OutputFileStream.h</name>
|
| 932 |
+
<type>1</type>
|
| 933 |
+
<locationURI>PARENT-3-PROJECT_LOC/moses2/legacy/OutputFileStream.h</locationURI>
|
| 934 |
+
</link>
|
| 935 |
+
<link>
|
| 936 |
+
<name>legacy/Parameter.cpp</name>
|
| 937 |
+
<type>1</type>
|
| 938 |
+
<locationURI>PARENT-3-PROJECT_LOC/moses2/legacy/Parameter.cpp</locationURI>
|
| 939 |
+
</link>
|
| 940 |
+
<link>
|
| 941 |
+
<name>legacy/Parameter.h</name>
|
| 942 |
+
<type>1</type>
|
| 943 |
+
<locationURI>PARENT-3-PROJECT_LOC/moses2/legacy/Parameter.h</locationURI>
|
| 944 |
+
</link>
|
| 945 |
+
<link>
|
| 946 |
+
<name>legacy/Range.cpp</name>
|
| 947 |
+
<type>1</type>
|
| 948 |
+
<locationURI>PARENT-3-PROJECT_LOC/moses2/legacy/Range.cpp</locationURI>
|
| 949 |
+
</link>
|
| 950 |
+
<link>
|
| 951 |
+
<name>legacy/Range.h</name>
|
| 952 |
+
<type>1</type>
|
| 953 |
+
<locationURI>PARENT-3-PROJECT_LOC/moses2/legacy/Range.h</locationURI>
|
| 954 |
+
</link>
|
| 955 |
+
<link>
|
| 956 |
+
<name>legacy/ThreadPool.cpp</name>
|
| 957 |
+
<type>1</type>
|
| 958 |
+
<locationURI>PARENT-3-PROJECT_LOC/moses2/legacy/ThreadPool.cpp</locationURI>
|
| 959 |
+
</link>
|
| 960 |
+
<link>
|
| 961 |
+
<name>legacy/ThreadPool.h</name>
|
| 962 |
+
<type>1</type>
|
| 963 |
+
<locationURI>PARENT-3-PROJECT_LOC/moses2/legacy/ThreadPool.h</locationURI>
|
| 964 |
+
</link>
|
| 965 |
+
<link>
|
| 966 |
+
<name>legacy/Timer.cpp</name>
|
| 967 |
+
<type>1</type>
|
| 968 |
+
<locationURI>PARENT-3-PROJECT_LOC/moses2/legacy/Timer.cpp</locationURI>
|
| 969 |
+
</link>
|
| 970 |
+
<link>
|
| 971 |
+
<name>legacy/Timer.h</name>
|
| 972 |
+
<type>1</type>
|
| 973 |
+
<locationURI>PARENT-3-PROJECT_LOC/moses2/legacy/Timer.h</locationURI>
|
| 974 |
+
</link>
|
| 975 |
+
<link>
|
| 976 |
+
<name>legacy/Util2.cpp</name>
|
| 977 |
+
<type>1</type>
|
| 978 |
+
<locationURI>PARENT-3-PROJECT_LOC/moses2/legacy/Util2.cpp</locationURI>
|
| 979 |
+
</link>
|
| 980 |
+
<link>
|
| 981 |
+
<name>legacy/Util2.h</name>
|
| 982 |
+
<type>1</type>
|
| 983 |
+
<locationURI>PARENT-3-PROJECT_LOC/moses2/legacy/Util2.h</locationURI>
|
| 984 |
+
</link>
|
| 985 |
+
<link>
|
| 986 |
+
<name>legacy/gzfilebuf.h</name>
|
| 987 |
+
<type>1</type>
|
| 988 |
+
<locationURI>PARENT-3-PROJECT_LOC/moses2/legacy/gzfilebuf.h</locationURI>
|
| 989 |
+
</link>
|
| 990 |
+
<link>
|
| 991 |
+
<name>legacy/xmlrpc-c.h</name>
|
| 992 |
+
<type>1</type>
|
| 993 |
+
<locationURI>PARENT-3-PROJECT_LOC/moses2/legacy/xmlrpc-c.h</locationURI>
|
| 994 |
+
</link>
|
| 995 |
+
<link>
|
| 996 |
+
<name>parameters/AllOptions.cpp</name>
|
| 997 |
+
<type>1</type>
|
| 998 |
+
<locationURI>PARENT-3-PROJECT_LOC/moses2/parameters/AllOptions.cpp</locationURI>
|
| 999 |
+
</link>
|
| 1000 |
+
<link>
|
| 1001 |
+
<name>parameters/AllOptions.h</name>
|
| 1002 |
+
<type>1</type>
|
| 1003 |
+
<locationURI>PARENT-3-PROJECT_LOC/moses2/parameters/AllOptions.h</locationURI>
|
| 1004 |
+
</link>
|
| 1005 |
+
<link>
|
| 1006 |
+
<name>parameters/BeamSearchOptions.h</name>
|
| 1007 |
+
<type>1</type>
|
| 1008 |
+
<locationURI>PARENT-3-PROJECT_LOC/moses2/parameters/BeamSearchOptions.h</locationURI>
|
| 1009 |
+
</link>
|
| 1010 |
+
<link>
|
| 1011 |
+
<name>parameters/BookkeepingOptions.cpp</name>
|
| 1012 |
+
<type>1</type>
|
| 1013 |
+
<locationURI>PARENT-3-PROJECT_LOC/moses2/parameters/BookkeepingOptions.cpp</locationURI>
|
| 1014 |
+
</link>
|
| 1015 |
+
<link>
|
| 1016 |
+
<name>parameters/BookkeepingOptions.h</name>
|
| 1017 |
+
<type>1</type>
|
| 1018 |
+
<locationURI>PARENT-3-PROJECT_LOC/moses2/parameters/BookkeepingOptions.h</locationURI>
|
| 1019 |
+
</link>
|
| 1020 |
+
<link>
|
| 1021 |
+
<name>parameters/ContextParameters.cpp</name>
|
| 1022 |
+
<type>1</type>
|
| 1023 |
+
<locationURI>PARENT-3-PROJECT_LOC/moses2/parameters/ContextParameters.cpp</locationURI>
|
| 1024 |
+
</link>
|
| 1025 |
+
<link>
|
| 1026 |
+
<name>parameters/ContextParameters.h</name>
|
| 1027 |
+
<type>1</type>
|
| 1028 |
+
<locationURI>PARENT-3-PROJECT_LOC/moses2/parameters/ContextParameters.h</locationURI>
|
| 1029 |
+
</link>
|
| 1030 |
+
<link>
|
| 1031 |
+
<name>parameters/CubePruningOptions.cpp</name>
|
| 1032 |
+
<type>1</type>
|
| 1033 |
+
<locationURI>PARENT-3-PROJECT_LOC/moses2/parameters/CubePruningOptions.cpp</locationURI>
|
| 1034 |
+
</link>
|
| 1035 |
+
<link>
|
| 1036 |
+
<name>parameters/CubePruningOptions.h</name>
|
| 1037 |
+
<type>1</type>
|
| 1038 |
+
<locationURI>PARENT-3-PROJECT_LOC/moses2/parameters/CubePruningOptions.h</locationURI>
|
| 1039 |
+
</link>
|
| 1040 |
+
<link>
|
| 1041 |
+
<name>parameters/InputOptions.cpp</name>
|
| 1042 |
+
<type>1</type>
|
| 1043 |
+
<locationURI>PARENT-3-PROJECT_LOC/moses2/parameters/InputOptions.cpp</locationURI>
|
| 1044 |
+
</link>
|
| 1045 |
+
<link>
|
| 1046 |
+
<name>parameters/InputOptions.h</name>
|
| 1047 |
+
<type>1</type>
|
| 1048 |
+
<locationURI>PARENT-3-PROJECT_LOC/moses2/parameters/InputOptions.h</locationURI>
|
| 1049 |
+
</link>
|
| 1050 |
+
<link>
|
| 1051 |
+
<name>parameters/LMBR_Options.cpp</name>
|
| 1052 |
+
<type>1</type>
|
| 1053 |
+
<locationURI>PARENT-3-PROJECT_LOC/moses2/parameters/LMBR_Options.cpp</locationURI>
|
| 1054 |
+
</link>
|
| 1055 |
+
<link>
|
| 1056 |
+
<name>parameters/LMBR_Options.h</name>
|
| 1057 |
+
<type>1</type>
|
| 1058 |
+
<locationURI>PARENT-3-PROJECT_LOC/moses2/parameters/LMBR_Options.h</locationURI>
|
| 1059 |
+
</link>
|
| 1060 |
+
<link>
|
| 1061 |
+
<name>parameters/LookupOptions.h</name>
|
| 1062 |
+
<type>1</type>
|
| 1063 |
+
<locationURI>PARENT-3-PROJECT_LOC/moses2/parameters/LookupOptions.h</locationURI>
|
| 1064 |
+
</link>
|
| 1065 |
+
<link>
|
| 1066 |
+
<name>parameters/MBR_Options.cpp</name>
|
| 1067 |
+
<type>1</type>
|
| 1068 |
+
<locationURI>PARENT-3-PROJECT_LOC/moses2/parameters/MBR_Options.cpp</locationURI>
|
| 1069 |
+
</link>
|
| 1070 |
+
<link>
|
| 1071 |
+
<name>parameters/MBR_Options.h</name>
|
| 1072 |
+
<type>1</type>
|
| 1073 |
+
<locationURI>PARENT-3-PROJECT_LOC/moses2/parameters/MBR_Options.h</locationURI>
|
| 1074 |
+
</link>
|
| 1075 |
+
<link>
|
| 1076 |
+
<name>parameters/NBestOptions.cpp</name>
|
| 1077 |
+
<type>1</type>
|
| 1078 |
+
<locationURI>PARENT-3-PROJECT_LOC/moses2/parameters/NBestOptions.cpp</locationURI>
|
| 1079 |
+
</link>
|
| 1080 |
+
<link>
|
| 1081 |
+
<name>parameters/NBestOptions.h</name>
|
| 1082 |
+
<type>1</type>
|
| 1083 |
+
<locationURI>PARENT-3-PROJECT_LOC/moses2/parameters/NBestOptions.h</locationURI>
|
| 1084 |
+
</link>
|
| 1085 |
+
<link>
|
| 1086 |
+
<name>parameters/OOVHandlingOptions.cpp</name>
|
| 1087 |
+
<type>1</type>
|
| 1088 |
+
<locationURI>PARENT-3-PROJECT_LOC/moses2/parameters/OOVHandlingOptions.cpp</locationURI>
|
| 1089 |
+
</link>
|
| 1090 |
+
<link>
|
| 1091 |
+
<name>parameters/OOVHandlingOptions.h</name>
|
| 1092 |
+
<type>1</type>
|
| 1093 |
+
<locationURI>PARENT-3-PROJECT_LOC/moses2/parameters/OOVHandlingOptions.h</locationURI>
|
| 1094 |
+
</link>
|
| 1095 |
+
<link>
|
| 1096 |
+
<name>parameters/OptionsBaseClass.cpp</name>
|
| 1097 |
+
<type>1</type>
|
| 1098 |
+
<locationURI>PARENT-3-PROJECT_LOC/moses2/parameters/OptionsBaseClass.cpp</locationURI>
|
| 1099 |
+
</link>
|
| 1100 |
+
<link>
|
| 1101 |
+
<name>parameters/OptionsBaseClass.h</name>
|
| 1102 |
+
<type>1</type>
|
| 1103 |
+
<locationURI>PARENT-3-PROJECT_LOC/moses2/parameters/OptionsBaseClass.h</locationURI>
|
| 1104 |
+
</link>
|
| 1105 |
+
<link>
|
| 1106 |
+
<name>parameters/ReorderingOptions.cpp</name>
|
| 1107 |
+
<type>1</type>
|
| 1108 |
+
<locationURI>PARENT-3-PROJECT_LOC/moses2/parameters/ReorderingOptions.cpp</locationURI>
|
| 1109 |
+
</link>
|
| 1110 |
+
<link>
|
| 1111 |
+
<name>parameters/ReorderingOptions.h</name>
|
| 1112 |
+
<type>1</type>
|
| 1113 |
+
<locationURI>PARENT-3-PROJECT_LOC/moses2/parameters/ReorderingOptions.h</locationURI>
|
| 1114 |
+
</link>
|
| 1115 |
+
<link>
|
| 1116 |
+
<name>parameters/ReportingOptions.cpp</name>
|
| 1117 |
+
<type>1</type>
|
| 1118 |
+
<locationURI>PARENT-3-PROJECT_LOC/moses2/parameters/ReportingOptions.cpp</locationURI>
|
| 1119 |
+
</link>
|
| 1120 |
+
<link>
|
| 1121 |
+
<name>parameters/ReportingOptions.h</name>
|
| 1122 |
+
<type>1</type>
|
| 1123 |
+
<locationURI>PARENT-3-PROJECT_LOC/moses2/parameters/ReportingOptions.h</locationURI>
|
| 1124 |
+
</link>
|
| 1125 |
+
<link>
|
| 1126 |
+
<name>parameters/SearchOptions.cpp</name>
|
| 1127 |
+
<type>1</type>
|
| 1128 |
+
<locationURI>PARENT-3-PROJECT_LOC/moses2/parameters/SearchOptions.cpp</locationURI>
|
| 1129 |
+
</link>
|
| 1130 |
+
<link>
|
| 1131 |
+
<name>parameters/SearchOptions.h</name>
|
| 1132 |
+
<type>1</type>
|
| 1133 |
+
<locationURI>PARENT-3-PROJECT_LOC/moses2/parameters/SearchOptions.h</locationURI>
|
| 1134 |
+
</link>
|
| 1135 |
+
<link>
|
| 1136 |
+
<name>parameters/ServerOptions.cpp</name>
|
| 1137 |
+
<type>1</type>
|
| 1138 |
+
<locationURI>PARENT-3-PROJECT_LOC/moses2/parameters/ServerOptions.cpp</locationURI>
|
| 1139 |
+
</link>
|
| 1140 |
+
<link>
|
| 1141 |
+
<name>parameters/ServerOptions.h</name>
|
| 1142 |
+
<type>1</type>
|
| 1143 |
+
<locationURI>PARENT-3-PROJECT_LOC/moses2/parameters/ServerOptions.h</locationURI>
|
| 1144 |
+
</link>
|
| 1145 |
+
<link>
|
| 1146 |
+
<name>parameters/SyntaxOptions.cpp</name>
|
| 1147 |
+
<type>1</type>
|
| 1148 |
+
<locationURI>PARENT-3-PROJECT_LOC/moses2/parameters/SyntaxOptions.cpp</locationURI>
|
| 1149 |
+
</link>
|
| 1150 |
+
<link>
|
| 1151 |
+
<name>parameters/SyntaxOptions.h</name>
|
| 1152 |
+
<type>1</type>
|
| 1153 |
+
<locationURI>PARENT-3-PROJECT_LOC/moses2/parameters/SyntaxOptions.h</locationURI>
|
| 1154 |
+
</link>
|
| 1155 |
+
<link>
|
| 1156 |
+
<name>server/Server.cpp</name>
|
| 1157 |
+
<type>1</type>
|
| 1158 |
+
<locationURI>PARENT-3-PROJECT_LOC/moses2/server/Server.cpp</locationURI>
|
| 1159 |
+
</link>
|
| 1160 |
+
<link>
|
| 1161 |
+
<name>server/Server.h</name>
|
| 1162 |
+
<type>1</type>
|
| 1163 |
+
<locationURI>PARENT-3-PROJECT_LOC/moses2/server/Server.h</locationURI>
|
| 1164 |
+
</link>
|
| 1165 |
+
<link>
|
| 1166 |
+
<name>server/TranslationRequest.cpp</name>
|
| 1167 |
+
<type>1</type>
|
| 1168 |
+
<locationURI>PARENT-3-PROJECT_LOC/moses2/server/TranslationRequest.cpp</locationURI>
|
| 1169 |
+
</link>
|
| 1170 |
+
<link>
|
| 1171 |
+
<name>server/TranslationRequest.h</name>
|
| 1172 |
+
<type>1</type>
|
| 1173 |
+
<locationURI>PARENT-3-PROJECT_LOC/moses2/server/TranslationRequest.h</locationURI>
|
| 1174 |
+
</link>
|
| 1175 |
+
<link>
|
| 1176 |
+
<name>server/Translator.cpp</name>
|
| 1177 |
+
<type>1</type>
|
| 1178 |
+
<locationURI>PARENT-3-PROJECT_LOC/moses2/server/Translator.cpp</locationURI>
|
| 1179 |
+
</link>
|
| 1180 |
+
<link>
|
| 1181 |
+
<name>server/Translator.h</name>
|
| 1182 |
+
<type>1</type>
|
| 1183 |
+
<locationURI>PARENT-3-PROJECT_LOC/moses2/server/Translator.h</locationURI>
|
| 1184 |
+
</link>
|
| 1185 |
+
<link>
|
| 1186 |
+
<name>FF/LexicalReordering/BidirectionalReorderingState.cpp</name>
|
| 1187 |
+
<type>1</type>
|
| 1188 |
+
<locationURI>PARENT-3-PROJECT_LOC/moses2/FF/LexicalReordering/BidirectionalReorderingState.cpp</locationURI>
|
| 1189 |
+
</link>
|
| 1190 |
+
<link>
|
| 1191 |
+
<name>FF/LexicalReordering/BidirectionalReorderingState.h</name>
|
| 1192 |
+
<type>1</type>
|
| 1193 |
+
<locationURI>PARENT-3-PROJECT_LOC/moses2/FF/LexicalReordering/BidirectionalReorderingState.h</locationURI>
|
| 1194 |
+
</link>
|
| 1195 |
+
<link>
|
| 1196 |
+
<name>FF/LexicalReordering/HReorderingBackwardState.cpp</name>
|
| 1197 |
+
<type>1</type>
|
| 1198 |
+
<locationURI>PARENT-3-PROJECT_LOC/moses2/FF/LexicalReordering/HReorderingBackwardState.cpp</locationURI>
|
| 1199 |
+
</link>
|
| 1200 |
+
<link>
|
| 1201 |
+
<name>FF/LexicalReordering/HReorderingBackwardState.h</name>
|
| 1202 |
+
<type>1</type>
|
| 1203 |
+
<locationURI>PARENT-3-PROJECT_LOC/moses2/FF/LexicalReordering/HReorderingBackwardState.h</locationURI>
|
| 1204 |
+
</link>
|
| 1205 |
+
<link>
|
| 1206 |
+
<name>FF/LexicalReordering/HReorderingForwardState.cpp</name>
|
| 1207 |
+
<type>1</type>
|
| 1208 |
+
<locationURI>PARENT-3-PROJECT_LOC/moses2/FF/LexicalReordering/HReorderingForwardState.cpp</locationURI>
|
| 1209 |
+
</link>
|
| 1210 |
+
<link>
|
| 1211 |
+
<name>FF/LexicalReordering/HReorderingForwardState.h</name>
|
| 1212 |
+
<type>1</type>
|
| 1213 |
+
<locationURI>PARENT-3-PROJECT_LOC/moses2/FF/LexicalReordering/HReorderingForwardState.h</locationURI>
|
| 1214 |
+
</link>
|
| 1215 |
+
<link>
|
| 1216 |
+
<name>FF/LexicalReordering/LRModel.cpp</name>
|
| 1217 |
+
<type>1</type>
|
| 1218 |
+
<locationURI>PARENT-3-PROJECT_LOC/moses2/FF/LexicalReordering/LRModel.cpp</locationURI>
|
| 1219 |
+
</link>
|
| 1220 |
+
<link>
|
| 1221 |
+
<name>FF/LexicalReordering/LRModel.h</name>
|
| 1222 |
+
<type>1</type>
|
| 1223 |
+
<locationURI>PARENT-3-PROJECT_LOC/moses2/FF/LexicalReordering/LRModel.h</locationURI>
|
| 1224 |
+
</link>
|
| 1225 |
+
<link>
|
| 1226 |
+
<name>FF/LexicalReordering/LRState.cpp</name>
|
| 1227 |
+
<type>1</type>
|
| 1228 |
+
<locationURI>PARENT-3-PROJECT_LOC/moses2/FF/LexicalReordering/LRState.cpp</locationURI>
|
| 1229 |
+
</link>
|
| 1230 |
+
<link>
|
| 1231 |
+
<name>FF/LexicalReordering/LRState.h</name>
|
| 1232 |
+
<type>1</type>
|
| 1233 |
+
<locationURI>PARENT-3-PROJECT_LOC/moses2/FF/LexicalReordering/LRState.h</locationURI>
|
| 1234 |
+
</link>
|
| 1235 |
+
<link>
|
| 1236 |
+
<name>FF/LexicalReordering/LexicalReordering.cpp</name>
|
| 1237 |
+
<type>1</type>
|
| 1238 |
+
<locationURI>PARENT-3-PROJECT_LOC/moses2/FF/LexicalReordering/LexicalReordering.cpp</locationURI>
|
| 1239 |
+
</link>
|
| 1240 |
+
<link>
|
| 1241 |
+
<name>FF/LexicalReordering/LexicalReordering.h</name>
|
| 1242 |
+
<type>1</type>
|
| 1243 |
+
<locationURI>PARENT-3-PROJECT_LOC/moses2/FF/LexicalReordering/LexicalReordering.h</locationURI>
|
| 1244 |
+
</link>
|
| 1245 |
+
<link>
|
| 1246 |
+
<name>FF/LexicalReordering/PhraseBasedReorderingState.cpp</name>
|
| 1247 |
+
<type>1</type>
|
| 1248 |
+
<locationURI>PARENT-3-PROJECT_LOC/moses2/FF/LexicalReordering/PhraseBasedReorderingState.cpp</locationURI>
|
| 1249 |
+
</link>
|
| 1250 |
+
<link>
|
| 1251 |
+
<name>FF/LexicalReordering/PhraseBasedReorderingState.h</name>
|
| 1252 |
+
<type>1</type>
|
| 1253 |
+
<locationURI>PARENT-3-PROJECT_LOC/moses2/FF/LexicalReordering/PhraseBasedReorderingState.h</locationURI>
|
| 1254 |
+
</link>
|
| 1255 |
+
<link>
|
| 1256 |
+
<name>FF/LexicalReordering/ReorderingStack.cpp</name>
|
| 1257 |
+
<type>1</type>
|
| 1258 |
+
<locationURI>PARENT-3-PROJECT_LOC/moses2/FF/LexicalReordering/ReorderingStack.cpp</locationURI>
|
| 1259 |
+
</link>
|
| 1260 |
+
<link>
|
| 1261 |
+
<name>FF/LexicalReordering/ReorderingStack.h</name>
|
| 1262 |
+
<type>1</type>
|
| 1263 |
+
<locationURI>PARENT-3-PROJECT_LOC/moses2/FF/LexicalReordering/ReorderingStack.h</locationURI>
|
| 1264 |
+
</link>
|
| 1265 |
+
<link>
|
| 1266 |
+
<name>FF/OSM/KenOSM.cpp</name>
|
| 1267 |
+
<type>1</type>
|
| 1268 |
+
<locationURI>PARENT-3-PROJECT_LOC/moses2/FF/OSM/KenOSM.cpp</locationURI>
|
| 1269 |
+
</link>
|
| 1270 |
+
<link>
|
| 1271 |
+
<name>FF/OSM/KenOSM.h</name>
|
| 1272 |
+
<type>1</type>
|
| 1273 |
+
<locationURI>PARENT-3-PROJECT_LOC/moses2/FF/OSM/KenOSM.h</locationURI>
|
| 1274 |
+
</link>
|
| 1275 |
+
<link>
|
| 1276 |
+
<name>FF/OSM/OpSequenceModel.cpp</name>
|
| 1277 |
+
<type>1</type>
|
| 1278 |
+
<locationURI>PARENT-3-PROJECT_LOC/moses2/FF/OSM/OpSequenceModel.cpp</locationURI>
|
| 1279 |
+
</link>
|
| 1280 |
+
<link>
|
| 1281 |
+
<name>FF/OSM/OpSequenceModel.h</name>
|
| 1282 |
+
<type>1</type>
|
| 1283 |
+
<locationURI>PARENT-3-PROJECT_LOC/moses2/FF/OSM/OpSequenceModel.h</locationURI>
|
| 1284 |
+
</link>
|
| 1285 |
+
<link>
|
| 1286 |
+
<name>FF/OSM/osmHyp.cpp</name>
|
| 1287 |
+
<type>1</type>
|
| 1288 |
+
<locationURI>PARENT-3-PROJECT_LOC/moses2/FF/OSM/osmHyp.cpp</locationURI>
|
| 1289 |
+
</link>
|
| 1290 |
+
<link>
|
| 1291 |
+
<name>FF/OSM/osmHyp.h</name>
|
| 1292 |
+
<type>1</type>
|
| 1293 |
+
<locationURI>PARENT-3-PROJECT_LOC/moses2/FF/OSM/osmHyp.h</locationURI>
|
| 1294 |
+
</link>
|
| 1295 |
+
<link>
|
| 1296 |
+
<name>PhraseBased/CubePruningMiniStack/Misc.cpp</name>
|
| 1297 |
+
<type>1</type>
|
| 1298 |
+
<locationURI>PARENT-3-PROJECT_LOC/moses2/PhraseBased/CubePruningMiniStack/Misc.cpp</locationURI>
|
| 1299 |
+
</link>
|
| 1300 |
+
<link>
|
| 1301 |
+
<name>PhraseBased/CubePruningMiniStack/Misc.h</name>
|
| 1302 |
+
<type>1</type>
|
| 1303 |
+
<locationURI>PARENT-3-PROJECT_LOC/moses2/PhraseBased/CubePruningMiniStack/Misc.h</locationURI>
|
| 1304 |
+
</link>
|
| 1305 |
+
<link>
|
| 1306 |
+
<name>PhraseBased/CubePruningMiniStack/Search.cpp</name>
|
| 1307 |
+
<type>1</type>
|
| 1308 |
+
<locationURI>PARENT-3-PROJECT_LOC/moses2/PhraseBased/CubePruningMiniStack/Search.cpp</locationURI>
|
| 1309 |
+
</link>
|
| 1310 |
+
<link>
|
| 1311 |
+
<name>PhraseBased/CubePruningMiniStack/Search.h</name>
|
| 1312 |
+
<type>1</type>
|
| 1313 |
+
<locationURI>PARENT-3-PROJECT_LOC/moses2/PhraseBased/CubePruningMiniStack/Search.h</locationURI>
|
| 1314 |
+
</link>
|
| 1315 |
+
<link>
|
| 1316 |
+
<name>PhraseBased/CubePruningMiniStack/Stack.cpp</name>
|
| 1317 |
+
<type>1</type>
|
| 1318 |
+
<locationURI>PARENT-3-PROJECT_LOC/moses2/PhraseBased/CubePruningMiniStack/Stack.cpp</locationURI>
|
| 1319 |
+
</link>
|
| 1320 |
+
<link>
|
| 1321 |
+
<name>PhraseBased/CubePruningMiniStack/Stack.h</name>
|
| 1322 |
+
<type>1</type>
|
| 1323 |
+
<locationURI>PARENT-3-PROJECT_LOC/moses2/PhraseBased/CubePruningMiniStack/Stack.h</locationURI>
|
| 1324 |
+
</link>
|
| 1325 |
+
<link>
|
| 1326 |
+
<name>PhraseBased/Normal/Search.cpp</name>
|
| 1327 |
+
<type>1</type>
|
| 1328 |
+
<locationURI>PARENT-3-PROJECT_LOC/moses2/PhraseBased/Normal/Search.cpp</locationURI>
|
| 1329 |
+
</link>
|
| 1330 |
+
<link>
|
| 1331 |
+
<name>PhraseBased/Normal/Search.h</name>
|
| 1332 |
+
<type>1</type>
|
| 1333 |
+
<locationURI>PARENT-3-PROJECT_LOC/moses2/PhraseBased/Normal/Search.h</locationURI>
|
| 1334 |
+
</link>
|
| 1335 |
+
<link>
|
| 1336 |
+
<name>PhraseBased/Normal/Stack.cpp</name>
|
| 1337 |
+
<type>1</type>
|
| 1338 |
+
<locationURI>PARENT-3-PROJECT_LOC/moses2/PhraseBased/Normal/Stack.cpp</locationURI>
|
| 1339 |
+
</link>
|
| 1340 |
+
<link>
|
| 1341 |
+
<name>PhraseBased/Normal/Stack.h</name>
|
| 1342 |
+
<type>1</type>
|
| 1343 |
+
<locationURI>PARENT-3-PROJECT_LOC/moses2/PhraseBased/Normal/Stack.h</locationURI>
|
| 1344 |
+
</link>
|
| 1345 |
+
<link>
|
| 1346 |
+
<name>PhraseBased/Normal/Stacks.cpp</name>
|
| 1347 |
+
<type>1</type>
|
| 1348 |
+
<locationURI>PARENT-3-PROJECT_LOC/moses2/PhraseBased/Normal/Stacks.cpp</locationURI>
|
| 1349 |
+
</link>
|
| 1350 |
+
<link>
|
| 1351 |
+
<name>PhraseBased/Normal/Stacks.h</name>
|
| 1352 |
+
<type>1</type>
|
| 1353 |
+
<locationURI>PARENT-3-PROJECT_LOC/moses2/PhraseBased/Normal/Stacks.h</locationURI>
|
| 1354 |
+
</link>
|
| 1355 |
+
<link>
|
| 1356 |
+
<name>SCFG/nbest/KBestExtractor.cpp</name>
|
| 1357 |
+
<type>1</type>
|
| 1358 |
+
<locationURI>PARENT-3-PROJECT_LOC/moses2/SCFG/nbest/KBestExtractor.cpp</locationURI>
|
| 1359 |
+
</link>
|
| 1360 |
+
<link>
|
| 1361 |
+
<name>SCFG/nbest/KBestExtractor.h</name>
|
| 1362 |
+
<type>1</type>
|
| 1363 |
+
<locationURI>PARENT-3-PROJECT_LOC/moses2/SCFG/nbest/KBestExtractor.h</locationURI>
|
| 1364 |
+
</link>
|
| 1365 |
+
<link>
|
| 1366 |
+
<name>SCFG/nbest/NBest.cpp</name>
|
| 1367 |
+
<type>1</type>
|
| 1368 |
+
<locationURI>PARENT-3-PROJECT_LOC/moses2/SCFG/nbest/NBest.cpp</locationURI>
|
| 1369 |
+
</link>
|
| 1370 |
+
<link>
|
| 1371 |
+
<name>SCFG/nbest/NBest.h</name>
|
| 1372 |
+
<type>1</type>
|
| 1373 |
+
<locationURI>PARENT-3-PROJECT_LOC/moses2/SCFG/nbest/NBest.h</locationURI>
|
| 1374 |
+
</link>
|
| 1375 |
+
<link>
|
| 1376 |
+
<name>SCFG/nbest/NBestColl.cpp</name>
|
| 1377 |
+
<type>1</type>
|
| 1378 |
+
<locationURI>PARENT-3-PROJECT_LOC/moses2/SCFG/nbest/NBestColl.cpp</locationURI>
|
| 1379 |
+
</link>
|
| 1380 |
+
<link>
|
| 1381 |
+
<name>SCFG/nbest/NBestColl.h</name>
|
| 1382 |
+
<type>1</type>
|
| 1383 |
+
<locationURI>PARENT-3-PROJECT_LOC/moses2/SCFG/nbest/NBestColl.h</locationURI>
|
| 1384 |
+
</link>
|
| 1385 |
+
<link>
|
| 1386 |
+
<name>SCFG/nbest/NBests.cpp</name>
|
| 1387 |
+
<type>1</type>
|
| 1388 |
+
<locationURI>PARENT-3-PROJECT_LOC/moses2/SCFG/nbest/NBests.cpp</locationURI>
|
| 1389 |
+
</link>
|
| 1390 |
+
<link>
|
| 1391 |
+
<name>SCFG/nbest/NBests.h</name>
|
| 1392 |
+
<type>1</type>
|
| 1393 |
+
<locationURI>PARENT-3-PROJECT_LOC/moses2/SCFG/nbest/NBests.h</locationURI>
|
| 1394 |
+
</link>
|
| 1395 |
+
<link>
|
| 1396 |
+
<name>TranslationModel/CompactPT/BlockHashIndex.cpp</name>
|
| 1397 |
+
<type>1</type>
|
| 1398 |
+
<locationURI>PARENT-3-PROJECT_LOC/moses2/TranslationModel/CompactPT/BlockHashIndex.cpp</locationURI>
|
| 1399 |
+
</link>
|
| 1400 |
+
<link>
|
| 1401 |
+
<name>TranslationModel/CompactPT/BlockHashIndex.h</name>
|
| 1402 |
+
<type>1</type>
|
| 1403 |
+
<locationURI>PARENT-3-PROJECT_LOC/moses2/TranslationModel/CompactPT/BlockHashIndex.h</locationURI>
|
| 1404 |
+
</link>
|
| 1405 |
+
<link>
|
| 1406 |
+
<name>TranslationModel/CompactPT/CanonicalHuffman.h</name>
|
| 1407 |
+
<type>1</type>
|
| 1408 |
+
<locationURI>PARENT-3-PROJECT_LOC/moses2/TranslationModel/CompactPT/CanonicalHuffman.h</locationURI>
|
| 1409 |
+
</link>
|
| 1410 |
+
<link>
|
| 1411 |
+
<name>TranslationModel/CompactPT/CmphStringVectorAdapter.cpp</name>
|
| 1412 |
+
<type>1</type>
|
| 1413 |
+
<locationURI>PARENT-3-PROJECT_LOC/moses2/TranslationModel/CompactPT/CmphStringVectorAdapter.cpp</locationURI>
|
| 1414 |
+
</link>
|
| 1415 |
+
<link>
|
| 1416 |
+
<name>TranslationModel/CompactPT/CmphStringVectorAdapter.h</name>
|
| 1417 |
+
<type>1</type>
|
| 1418 |
+
<locationURI>PARENT-3-PROJECT_LOC/moses2/TranslationModel/CompactPT/CmphStringVectorAdapter.h</locationURI>
|
| 1419 |
+
</link>
|
| 1420 |
+
<link>
|
| 1421 |
+
<name>TranslationModel/CompactPT/LexicalReorderingTableCompact.cpp</name>
|
| 1422 |
+
<type>1</type>
|
| 1423 |
+
<locationURI>PARENT-3-PROJECT_LOC/moses2/TranslationModel/CompactPT/LexicalReorderingTableCompact.cpp</locationURI>
|
| 1424 |
+
</link>
|
| 1425 |
+
<link>
|
| 1426 |
+
<name>TranslationModel/CompactPT/LexicalReorderingTableCompact.h</name>
|
| 1427 |
+
<type>1</type>
|
| 1428 |
+
<locationURI>PARENT-3-PROJECT_LOC/moses2/TranslationModel/CompactPT/LexicalReorderingTableCompact.h</locationURI>
|
| 1429 |
+
</link>
|
| 1430 |
+
<link>
|
| 1431 |
+
<name>TranslationModel/CompactPT/ListCoders.h</name>
|
| 1432 |
+
<type>1</type>
|
| 1433 |
+
<locationURI>PARENT-3-PROJECT_LOC/moses2/TranslationModel/CompactPT/ListCoders.h</locationURI>
|
| 1434 |
+
</link>
|
| 1435 |
+
<link>
|
| 1436 |
+
<name>TranslationModel/CompactPT/MmapAllocator.h</name>
|
| 1437 |
+
<type>1</type>
|
| 1438 |
+
<locationURI>PARENT-3-PROJECT_LOC/moses2/TranslationModel/CompactPT/MmapAllocator.h</locationURI>
|
| 1439 |
+
</link>
|
| 1440 |
+
<link>
|
| 1441 |
+
<name>TranslationModel/CompactPT/MonotonicVector.h</name>
|
| 1442 |
+
<type>1</type>
|
| 1443 |
+
<locationURI>PARENT-3-PROJECT_LOC/moses2/TranslationModel/CompactPT/MonotonicVector.h</locationURI>
|
| 1444 |
+
</link>
|
| 1445 |
+
<link>
|
| 1446 |
+
<name>TranslationModel/CompactPT/MurmurHash3.cpp</name>
|
| 1447 |
+
<type>1</type>
|
| 1448 |
+
<locationURI>PARENT-3-PROJECT_LOC/moses2/TranslationModel/CompactPT/MurmurHash3.cpp</locationURI>
|
| 1449 |
+
</link>
|
| 1450 |
+
<link>
|
| 1451 |
+
<name>TranslationModel/CompactPT/MurmurHash3.h</name>
|
| 1452 |
+
<type>1</type>
|
| 1453 |
+
<locationURI>PARENT-3-PROJECT_LOC/moses2/TranslationModel/CompactPT/MurmurHash3.h</locationURI>
|
| 1454 |
+
</link>
|
| 1455 |
+
<link>
|
| 1456 |
+
<name>TranslationModel/CompactPT/PackedArray.h</name>
|
| 1457 |
+
<type>1</type>
|
| 1458 |
+
<locationURI>PARENT-3-PROJECT_LOC/moses2/TranslationModel/CompactPT/PackedArray.h</locationURI>
|
| 1459 |
+
</link>
|
| 1460 |
+
<link>
|
| 1461 |
+
<name>TranslationModel/CompactPT/StringVector.h</name>
|
| 1462 |
+
<type>1</type>
|
| 1463 |
+
<locationURI>PARENT-3-PROJECT_LOC/moses2/TranslationModel/CompactPT/StringVector.h</locationURI>
|
| 1464 |
+
</link>
|
| 1465 |
+
<link>
|
| 1466 |
+
<name>TranslationModel/CompactPT/TargetPhraseCollectionCache.cpp</name>
|
| 1467 |
+
<type>1</type>
|
| 1468 |
+
<locationURI>PARENT-3-PROJECT_LOC/moses2/TranslationModel/CompactPT/TargetPhraseCollectionCache.cpp</locationURI>
|
| 1469 |
+
</link>
|
| 1470 |
+
<link>
|
| 1471 |
+
<name>TranslationModel/CompactPT/TargetPhraseCollectionCache.h</name>
|
| 1472 |
+
<type>1</type>
|
| 1473 |
+
<locationURI>PARENT-3-PROJECT_LOC/moses2/TranslationModel/CompactPT/TargetPhraseCollectionCache.h</locationURI>
|
| 1474 |
+
</link>
|
| 1475 |
+
<link>
|
| 1476 |
+
<name>TranslationModel/CompactPT/ThrowingFwrite.cpp</name>
|
| 1477 |
+
<type>1</type>
|
| 1478 |
+
<locationURI>PARENT-3-PROJECT_LOC/moses2/TranslationModel/CompactPT/ThrowingFwrite.cpp</locationURI>
|
| 1479 |
+
</link>
|
| 1480 |
+
<link>
|
| 1481 |
+
<name>TranslationModel/CompactPT/ThrowingFwrite.h</name>
|
| 1482 |
+
<type>1</type>
|
| 1483 |
+
<locationURI>PARENT-3-PROJECT_LOC/moses2/TranslationModel/CompactPT/ThrowingFwrite.h</locationURI>
|
| 1484 |
+
</link>
|
| 1485 |
+
<link>
|
| 1486 |
+
<name>TranslationModel/Memory/Node.h</name>
|
| 1487 |
+
<type>1</type>
|
| 1488 |
+
<locationURI>PARENT-3-PROJECT_LOC/moses2/TranslationModel/Memory/Node.h</locationURI>
|
| 1489 |
+
</link>
|
| 1490 |
+
<link>
|
| 1491 |
+
<name>TranslationModel/Memory/PhraseTableMemory.cpp</name>
|
| 1492 |
+
<type>1</type>
|
| 1493 |
+
<locationURI>PARENT-3-PROJECT_LOC/moses2/TranslationModel/Memory/PhraseTableMemory.cpp</locationURI>
|
| 1494 |
+
</link>
|
| 1495 |
+
<link>
|
| 1496 |
+
<name>TranslationModel/Memory/PhraseTableMemory.h</name>
|
| 1497 |
+
<type>1</type>
|
| 1498 |
+
<locationURI>PARENT-3-PROJECT_LOC/moses2/TranslationModel/Memory/PhraseTableMemory.h</locationURI>
|
| 1499 |
+
</link>
|
| 1500 |
+
<link>
|
| 1501 |
+
<name>defer/CubePruningBitmapStack/Misc.cpp</name>
|
| 1502 |
+
<type>1</type>
|
| 1503 |
+
<locationURI>PARENT-3-PROJECT_LOC/moses2/defer/CubePruningBitmapStack/Misc.cpp</locationURI>
|
| 1504 |
+
</link>
|
| 1505 |
+
<link>
|
| 1506 |
+
<name>defer/CubePruningBitmapStack/Misc.h</name>
|
| 1507 |
+
<type>1</type>
|
| 1508 |
+
<locationURI>PARENT-3-PROJECT_LOC/moses2/defer/CubePruningBitmapStack/Misc.h</locationURI>
|
| 1509 |
+
</link>
|
| 1510 |
+
<link>
|
| 1511 |
+
<name>defer/CubePruningBitmapStack/Search.cpp</name>
|
| 1512 |
+
<type>1</type>
|
| 1513 |
+
<locationURI>PARENT-3-PROJECT_LOC/moses2/defer/CubePruningBitmapStack/Search.cpp</locationURI>
|
| 1514 |
+
</link>
|
| 1515 |
+
<link>
|
| 1516 |
+
<name>defer/CubePruningBitmapStack/Search.h</name>
|
| 1517 |
+
<type>1</type>
|
| 1518 |
+
<locationURI>PARENT-3-PROJECT_LOC/moses2/defer/CubePruningBitmapStack/Search.h</locationURI>
|
| 1519 |
+
</link>
|
| 1520 |
+
<link>
|
| 1521 |
+
<name>defer/CubePruningBitmapStack/Stack.cpp</name>
|
| 1522 |
+
<type>1</type>
|
| 1523 |
+
<locationURI>PARENT-3-PROJECT_LOC/moses2/defer/CubePruningBitmapStack/Stack.cpp</locationURI>
|
| 1524 |
+
</link>
|
| 1525 |
+
<link>
|
| 1526 |
+
<name>defer/CubePruningBitmapStack/Stack.h</name>
|
| 1527 |
+
<type>1</type>
|
| 1528 |
+
<locationURI>PARENT-3-PROJECT_LOC/moses2/defer/CubePruningBitmapStack/Stack.h</locationURI>
|
| 1529 |
+
</link>
|
| 1530 |
+
<link>
|
| 1531 |
+
<name>defer/CubePruningCardinalStack/Misc.cpp</name>
|
| 1532 |
+
<type>1</type>
|
| 1533 |
+
<locationURI>PARENT-3-PROJECT_LOC/moses2/defer/CubePruningCardinalStack/Misc.cpp</locationURI>
|
| 1534 |
+
</link>
|
| 1535 |
+
<link>
|
| 1536 |
+
<name>defer/CubePruningCardinalStack/Misc.h</name>
|
| 1537 |
+
<type>1</type>
|
| 1538 |
+
<locationURI>PARENT-3-PROJECT_LOC/moses2/defer/CubePruningCardinalStack/Misc.h</locationURI>
|
| 1539 |
+
</link>
|
| 1540 |
+
<link>
|
| 1541 |
+
<name>defer/CubePruningCardinalStack/Search.cpp</name>
|
| 1542 |
+
<type>1</type>
|
| 1543 |
+
<locationURI>PARENT-3-PROJECT_LOC/moses2/defer/CubePruningCardinalStack/Search.cpp</locationURI>
|
| 1544 |
+
</link>
|
| 1545 |
+
<link>
|
| 1546 |
+
<name>defer/CubePruningCardinalStack/Search.h</name>
|
| 1547 |
+
<type>1</type>
|
| 1548 |
+
<locationURI>PARENT-3-PROJECT_LOC/moses2/defer/CubePruningCardinalStack/Search.h</locationURI>
|
| 1549 |
+
</link>
|
| 1550 |
+
<link>
|
| 1551 |
+
<name>defer/CubePruningCardinalStack/Stack.cpp</name>
|
| 1552 |
+
<type>1</type>
|
| 1553 |
+
<locationURI>PARENT-3-PROJECT_LOC/moses2/defer/CubePruningCardinalStack/Stack.cpp</locationURI>
|
| 1554 |
+
</link>
|
| 1555 |
+
<link>
|
| 1556 |
+
<name>defer/CubePruningCardinalStack/Stack.h</name>
|
| 1557 |
+
<type>1</type>
|
| 1558 |
+
<locationURI>PARENT-3-PROJECT_LOC/moses2/defer/CubePruningCardinalStack/Stack.h</locationURI>
|
| 1559 |
+
</link>
|
| 1560 |
+
<link>
|
| 1561 |
+
<name>defer/CubePruningPerBitmap/Misc.cpp</name>
|
| 1562 |
+
<type>1</type>
|
| 1563 |
+
<locationURI>PARENT-3-PROJECT_LOC/moses2/defer/CubePruningPerBitmap/Misc.cpp</locationURI>
|
| 1564 |
+
</link>
|
| 1565 |
+
<link>
|
| 1566 |
+
<name>defer/CubePruningPerBitmap/Misc.h</name>
|
| 1567 |
+
<type>1</type>
|
| 1568 |
+
<locationURI>PARENT-3-PROJECT_LOC/moses2/defer/CubePruningPerBitmap/Misc.h</locationURI>
|
| 1569 |
+
</link>
|
| 1570 |
+
<link>
|
| 1571 |
+
<name>defer/CubePruningPerBitmap/Search.cpp</name>
|
| 1572 |
+
<type>1</type>
|
| 1573 |
+
<locationURI>PARENT-3-PROJECT_LOC/moses2/defer/CubePruningPerBitmap/Search.cpp</locationURI>
|
| 1574 |
+
</link>
|
| 1575 |
+
<link>
|
| 1576 |
+
<name>defer/CubePruningPerBitmap/Search.h</name>
|
| 1577 |
+
<type>1</type>
|
| 1578 |
+
<locationURI>PARENT-3-PROJECT_LOC/moses2/defer/CubePruningPerBitmap/Search.h</locationURI>
|
| 1579 |
+
</link>
|
| 1580 |
+
<link>
|
| 1581 |
+
<name>defer/CubePruningPerBitmap/Stacks.cpp</name>
|
| 1582 |
+
<type>1</type>
|
| 1583 |
+
<locationURI>PARENT-3-PROJECT_LOC/moses2/defer/CubePruningPerBitmap/Stacks.cpp</locationURI>
|
| 1584 |
+
</link>
|
| 1585 |
+
<link>
|
| 1586 |
+
<name>defer/CubePruningPerBitmap/Stacks.h</name>
|
| 1587 |
+
<type>1</type>
|
| 1588 |
+
<locationURI>PARENT-3-PROJECT_LOC/moses2/defer/CubePruningPerBitmap/Stacks.h</locationURI>
|
| 1589 |
+
</link>
|
| 1590 |
+
<link>
|
| 1591 |
+
<name>defer/CubePruningPerMiniStack/Misc.cpp</name>
|
| 1592 |
+
<type>1</type>
|
| 1593 |
+
<locationURI>PARENT-3-PROJECT_LOC/moses2/defer/CubePruningPerMiniStack/Misc.cpp</locationURI>
|
| 1594 |
+
</link>
|
| 1595 |
+
<link>
|
| 1596 |
+
<name>defer/CubePruningPerMiniStack/Misc.h</name>
|
| 1597 |
+
<type>1</type>
|
| 1598 |
+
<locationURI>PARENT-3-PROJECT_LOC/moses2/defer/CubePruningPerMiniStack/Misc.h</locationURI>
|
| 1599 |
+
</link>
|
| 1600 |
+
<link>
|
| 1601 |
+
<name>defer/CubePruningPerMiniStack/Search.cpp</name>
|
| 1602 |
+
<type>1</type>
|
| 1603 |
+
<locationURI>PARENT-3-PROJECT_LOC/moses2/defer/CubePruningPerMiniStack/Search.cpp</locationURI>
|
| 1604 |
+
</link>
|
| 1605 |
+
<link>
|
| 1606 |
+
<name>defer/CubePruningPerMiniStack/Search.h</name>
|
| 1607 |
+
<type>1</type>
|
| 1608 |
+
<locationURI>PARENT-3-PROJECT_LOC/moses2/defer/CubePruningPerMiniStack/Search.h</locationURI>
|
| 1609 |
+
</link>
|
| 1610 |
+
<link>
|
| 1611 |
+
<name>defer/CubePruningPerMiniStack/Stacks.cpp</name>
|
| 1612 |
+
<type>1</type>
|
| 1613 |
+
<locationURI>PARENT-3-PROJECT_LOC/moses2/defer/CubePruningPerMiniStack/Stacks.cpp</locationURI>
|
| 1614 |
+
</link>
|
| 1615 |
+
<link>
|
| 1616 |
+
<name>defer/CubePruningPerMiniStack/Stacks.h</name>
|
| 1617 |
+
<type>1</type>
|
| 1618 |
+
<locationURI>PARENT-3-PROJECT_LOC/moses2/defer/CubePruningPerMiniStack/Stacks.h</locationURI>
|
| 1619 |
+
</link>
|
| 1620 |
+
</linkedResources>
|
| 1621 |
+
</projectDescription>
|
mosesdecoder/contrib/other-builds/moses2/moses2.sln
ADDED
|
@@ -0,0 +1,43 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
|
| 2 |
+
Microsoft Visual Studio Solution File, Format Version 12.00
|
| 3 |
+
# Visual Studio Version 17
|
| 4 |
+
VisualStudioVersion = 17.9.34607.119
|
| 5 |
+
MinimumVisualStudioVersion = 10.0.40219.1
|
| 6 |
+
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "moses2", "moses2.vcxproj", "{B4304E97-D37F-4022-BD03-841A4FAEE398}"
|
| 7 |
+
EndProject
|
| 8 |
+
Global
|
| 9 |
+
GlobalSection(SolutionConfigurationPlatforms) = preSolution
|
| 10 |
+
Debug|Win32 = Debug|Win32
|
| 11 |
+
Debug|x64 = Debug|x64
|
| 12 |
+
Debug-exe|Win32 = Debug-exe|Win32
|
| 13 |
+
Debug-exe|x64 = Debug-exe|x64
|
| 14 |
+
Release|Win32 = Release|Win32
|
| 15 |
+
Release|x64 = Release|x64
|
| 16 |
+
Release-exe|Win32 = Release-exe|Win32
|
| 17 |
+
Release-exe|x64 = Release-exe|x64
|
| 18 |
+
EndGlobalSection
|
| 19 |
+
GlobalSection(ProjectConfigurationPlatforms) = postSolution
|
| 20 |
+
{B4304E97-D37F-4022-BD03-841A4FAEE398}.Debug|Win32.ActiveCfg = Debug|Win32
|
| 21 |
+
{B4304E97-D37F-4022-BD03-841A4FAEE398}.Debug|Win32.Build.0 = Debug|Win32
|
| 22 |
+
{B4304E97-D37F-4022-BD03-841A4FAEE398}.Debug|x64.ActiveCfg = Debug|x64
|
| 23 |
+
{B4304E97-D37F-4022-BD03-841A4FAEE398}.Debug|x64.Build.0 = Debug|x64
|
| 24 |
+
{B4304E97-D37F-4022-BD03-841A4FAEE398}.Debug-exe|Win32.ActiveCfg = Debug-exe|x64
|
| 25 |
+
{B4304E97-D37F-4022-BD03-841A4FAEE398}.Debug-exe|Win32.Build.0 = Debug-exe|x64
|
| 26 |
+
{B4304E97-D37F-4022-BD03-841A4FAEE398}.Debug-exe|x64.ActiveCfg = Debug-exe|x64
|
| 27 |
+
{B4304E97-D37F-4022-BD03-841A4FAEE398}.Debug-exe|x64.Build.0 = Debug-exe|x64
|
| 28 |
+
{B4304E97-D37F-4022-BD03-841A4FAEE398}.Release|Win32.ActiveCfg = Release|Win32
|
| 29 |
+
{B4304E97-D37F-4022-BD03-841A4FAEE398}.Release|Win32.Build.0 = Release|Win32
|
| 30 |
+
{B4304E97-D37F-4022-BD03-841A4FAEE398}.Release|x64.ActiveCfg = Release|x64
|
| 31 |
+
{B4304E97-D37F-4022-BD03-841A4FAEE398}.Release|x64.Build.0 = Release|x64
|
| 32 |
+
{B4304E97-D37F-4022-BD03-841A4FAEE398}.Release-exe|Win32.ActiveCfg = Release-exe|x64
|
| 33 |
+
{B4304E97-D37F-4022-BD03-841A4FAEE398}.Release-exe|Win32.Build.0 = Release-exe|x64
|
| 34 |
+
{B4304E97-D37F-4022-BD03-841A4FAEE398}.Release-exe|x64.ActiveCfg = Release-exe|x64
|
| 35 |
+
{B4304E97-D37F-4022-BD03-841A4FAEE398}.Release-exe|x64.Build.0 = Release-exe|x64
|
| 36 |
+
EndGlobalSection
|
| 37 |
+
GlobalSection(SolutionProperties) = preSolution
|
| 38 |
+
HideSolutionNode = FALSE
|
| 39 |
+
EndGlobalSection
|
| 40 |
+
GlobalSection(ExtensibilityGlobals) = postSolution
|
| 41 |
+
SolutionGuid = {8B10AABC-E114-4EB7-BE1E-9432E208DDEA}
|
| 42 |
+
EndGlobalSection
|
| 43 |
+
EndGlobal
|
mosesdecoder/contrib/other-builds/moses2/moses2.vcxproj
ADDED
|
@@ -0,0 +1,592 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
<?xml version="1.0" encoding="utf-8"?>
|
| 2 |
+
<Project DefaultTargets="Build" ToolsVersion="14.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
| 3 |
+
<ItemGroup Label="ProjectConfigurations">
|
| 4 |
+
<ProjectConfiguration Include="Debug-exe2|x64">
|
| 5 |
+
<Configuration>Debug-exe2</Configuration>
|
| 6 |
+
<Platform>x64</Platform>
|
| 7 |
+
</ProjectConfiguration>
|
| 8 |
+
<ProjectConfiguration Include="Debug-exe|x64">
|
| 9 |
+
<Configuration>Debug-exe</Configuration>
|
| 10 |
+
<Platform>x64</Platform>
|
| 11 |
+
</ProjectConfiguration>
|
| 12 |
+
<ProjectConfiguration Include="Debug|x64">
|
| 13 |
+
<Configuration>Debug</Configuration>
|
| 14 |
+
<Platform>x64</Platform>
|
| 15 |
+
</ProjectConfiguration>
|
| 16 |
+
<ProjectConfiguration Include="Release-exe|x64">
|
| 17 |
+
<Configuration>Release-exe</Configuration>
|
| 18 |
+
<Platform>x64</Platform>
|
| 19 |
+
</ProjectConfiguration>
|
| 20 |
+
<ProjectConfiguration Include="Release|x64">
|
| 21 |
+
<Configuration>Release</Configuration>
|
| 22 |
+
<Platform>x64</Platform>
|
| 23 |
+
</ProjectConfiguration>
|
| 24 |
+
</ItemGroup>
|
| 25 |
+
<PropertyGroup Label="Globals">
|
| 26 |
+
<ProjectGuid>{B4304E97-D37F-4022-BD03-841A4FAEE398}</ProjectGuid>
|
| 27 |
+
<Keyword>Win32Proj</Keyword>
|
| 28 |
+
<RootNamespace>moses2</RootNamespace>
|
| 29 |
+
<WindowsTargetPlatformVersion>10.0.18362.0</WindowsTargetPlatformVersion>
|
| 30 |
+
<PlatformToolset>v140</PlatformToolset>
|
| 31 |
+
<BoostDir>c:\depot\translator\packages\boost.library\1.66.0</BoostDir>
|
| 32 |
+
<ZlibDir>c:\depot\translator\private\mt\zlib\src</ZlibDir>
|
| 33 |
+
</PropertyGroup>
|
| 34 |
+
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
|
| 35 |
+
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
|
| 36 |
+
<ConfigurationType>DynamicLibrary</ConfigurationType>
|
| 37 |
+
<UseDebugLibraries>true</UseDebugLibraries>
|
| 38 |
+
<CharacterSet>Unicode</CharacterSet>
|
| 39 |
+
<CLRSupport>false</CLRSupport>
|
| 40 |
+
<UseOfMfc>false</UseOfMfc>
|
| 41 |
+
</PropertyGroup>
|
| 42 |
+
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug-exe|x64'" Label="Configuration">
|
| 43 |
+
<ConfigurationType>Application</ConfigurationType>
|
| 44 |
+
<UseDebugLibraries>true</UseDebugLibraries>
|
| 45 |
+
<CharacterSet>Unicode</CharacterSet>
|
| 46 |
+
<CLRSupport>false</CLRSupport>
|
| 47 |
+
<UseOfMfc>false</UseOfMfc>
|
| 48 |
+
</PropertyGroup>
|
| 49 |
+
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug-exe2|x64'" Label="Configuration">
|
| 50 |
+
<ConfigurationType>Application</ConfigurationType>
|
| 51 |
+
<UseDebugLibraries>true</UseDebugLibraries>
|
| 52 |
+
<CharacterSet>Unicode</CharacterSet>
|
| 53 |
+
<CLRSupport>false</CLRSupport>
|
| 54 |
+
<UseOfMfc>false</UseOfMfc>
|
| 55 |
+
</PropertyGroup>
|
| 56 |
+
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug-DLL|x64'" Label="Configuration">
|
| 57 |
+
<ConfigurationType>DynamicLibrary</ConfigurationType>
|
| 58 |
+
<UseDebugLibraries>true</UseDebugLibraries>
|
| 59 |
+
<CharacterSet>Unicode</CharacterSet>
|
| 60 |
+
<CLRSupport>false</CLRSupport>
|
| 61 |
+
<UseOfMfc>false</UseOfMfc>
|
| 62 |
+
</PropertyGroup>
|
| 63 |
+
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
|
| 64 |
+
<ConfigurationType>DynamicLibrary</ConfigurationType>
|
| 65 |
+
<UseDebugLibraries>false</UseDebugLibraries>
|
| 66 |
+
<WholeProgramOptimization>true</WholeProgramOptimization>
|
| 67 |
+
<CharacterSet>Unicode</CharacterSet>
|
| 68 |
+
</PropertyGroup>
|
| 69 |
+
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release-exe|x64'" Label="Configuration">
|
| 70 |
+
<ConfigurationType>Application</ConfigurationType>
|
| 71 |
+
<UseDebugLibraries>false</UseDebugLibraries>
|
| 72 |
+
<WholeProgramOptimization>true</WholeProgramOptimization>
|
| 73 |
+
<CharacterSet>Unicode</CharacterSet>
|
| 74 |
+
</PropertyGroup>
|
| 75 |
+
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release-DLL|x64'" Label="Configuration">
|
| 76 |
+
<ConfigurationType>DynamicLibrary</ConfigurationType>
|
| 77 |
+
<UseDebugLibraries>false</UseDebugLibraries>
|
| 78 |
+
<WholeProgramOptimization>true</WholeProgramOptimization>
|
| 79 |
+
<CharacterSet>Unicode</CharacterSet>
|
| 80 |
+
</PropertyGroup>
|
| 81 |
+
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
|
| 82 |
+
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
|
| 83 |
+
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
| 84 |
+
</ImportGroup>
|
| 85 |
+
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug-exe|Win32'" Label="PropertySheets">
|
| 86 |
+
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
| 87 |
+
</ImportGroup>
|
| 88 |
+
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug-exe2|Win32'" Label="PropertySheets">
|
| 89 |
+
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
| 90 |
+
</ImportGroup>
|
| 91 |
+
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug-DLL|Win32'" Label="PropertySheets">
|
| 92 |
+
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
| 93 |
+
</ImportGroup>
|
| 94 |
+
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="PropertySheets">
|
| 95 |
+
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
| 96 |
+
</ImportGroup>
|
| 97 |
+
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug-exe|x64'" Label="PropertySheets">
|
| 98 |
+
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
| 99 |
+
</ImportGroup>
|
| 100 |
+
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug-exe2|x64'" Label="PropertySheets">
|
| 101 |
+
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
| 102 |
+
</ImportGroup>
|
| 103 |
+
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug-DLL|x64'" Label="PropertySheets">
|
| 104 |
+
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
| 105 |
+
</ImportGroup>
|
| 106 |
+
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
|
| 107 |
+
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
| 108 |
+
</ImportGroup>
|
| 109 |
+
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release-exe|Win32'" Label="PropertySheets">
|
| 110 |
+
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
| 111 |
+
</ImportGroup>
|
| 112 |
+
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release-DLL|Win32'" Label="PropertySheets">
|
| 113 |
+
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
| 114 |
+
</ImportGroup>
|
| 115 |
+
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="PropertySheets">
|
| 116 |
+
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
| 117 |
+
</ImportGroup>
|
| 118 |
+
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release-exe|x64'" Label="PropertySheets">
|
| 119 |
+
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
| 120 |
+
</ImportGroup>
|
| 121 |
+
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release-DLL|x64'" Label="PropertySheets">
|
| 122 |
+
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
| 123 |
+
</ImportGroup>
|
| 124 |
+
<PropertyGroup Label="UserMacros" />
|
| 125 |
+
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
|
| 126 |
+
<LinkIncremental>true</LinkIncremental>
|
| 127 |
+
<TargetName>$(ProjectName)decoder</TargetName>
|
| 128 |
+
</PropertyGroup>
|
| 129 |
+
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug-exe|x64'">
|
| 130 |
+
<LinkIncremental>true</LinkIncremental>
|
| 131 |
+
<TargetName>$(ProjectName)decoder</TargetName>
|
| 132 |
+
</PropertyGroup>
|
| 133 |
+
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug-exe2|x64'">
|
| 134 |
+
<LinkIncremental>true</LinkIncremental>
|
| 135 |
+
<TargetName>$(ProjectName)decoder</TargetName>
|
| 136 |
+
</PropertyGroup>
|
| 137 |
+
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug-DLL|x64'">
|
| 138 |
+
<LinkIncremental>true</LinkIncremental>
|
| 139 |
+
<TargetName>$(ProjectName)decoder</TargetName>
|
| 140 |
+
</PropertyGroup>
|
| 141 |
+
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
|
| 142 |
+
<LinkIncremental>false</LinkIncremental>
|
| 143 |
+
<TargetName>$(ProjectName)decoder</TargetName>
|
| 144 |
+
</PropertyGroup>
|
| 145 |
+
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release-exe|x64'">
|
| 146 |
+
<LinkIncremental>false</LinkIncremental>
|
| 147 |
+
<TargetName>$(ProjectName)decoder</TargetName>
|
| 148 |
+
</PropertyGroup>
|
| 149 |
+
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release-DLL|x64'">
|
| 150 |
+
<LinkIncremental>false</LinkIncremental>
|
| 151 |
+
<TargetName>$(ProjectName)decoder</TargetName>
|
| 152 |
+
</PropertyGroup>
|
| 153 |
+
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
|
| 154 |
+
<ClCompile>
|
| 155 |
+
<PrecompiledHeader>
|
| 156 |
+
</PrecompiledHeader>
|
| 157 |
+
<WarningLevel>Level3</WarningLevel>
|
| 158 |
+
<Optimization>Disabled</Optimization>
|
| 159 |
+
<PreprocessorDefinitions>NO_COMPACT_TABLES;HAVE_CMPHXXX;MAX_NUM_FACTORS=4;KENLM_MAX_ORDER=6;_USE_MATH_DEFINES;NOMINMAX;WITH_THREADS;NO_PIPES;_WIN32;WIN32;_DEBUG;_CONSOLE;_LIB;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
| 160 |
+
<AdditionalIncludeDirectories>$(ZlibDir);$(BoostDir);$(MSBuildProjectDirectory)/../../..;C:\Program Files (x86)\Visual Leak Detector\include;C:\depot\translator\private\mt\mman;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
| 161 |
+
<RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
|
| 162 |
+
<ObjectFileName>$(IntDir)\%(RelativeDir)\%(Filename).obj</ObjectFileName>
|
| 163 |
+
<SuppressStartupBanner>false</SuppressStartupBanner>
|
| 164 |
+
<ShowIncludes>false</ShowIncludes>
|
| 165 |
+
<LanguageStandard>Default</LanguageStandard>
|
| 166 |
+
<LanguageStandard_C>
|
| 167 |
+
</LanguageStandard_C>
|
| 168 |
+
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
|
| 169 |
+
<CompileAsManaged>false</CompileAsManaged>
|
| 170 |
+
<AdditionalOptions>
|
| 171 |
+
</AdditionalOptions>
|
| 172 |
+
<MultiProcessorCompilation>true</MultiProcessorCompilation>
|
| 173 |
+
</ClCompile>
|
| 174 |
+
<Link>
|
| 175 |
+
<SubSystem>Console</SubSystem>
|
| 176 |
+
<GenerateDebugInformation>true</GenerateDebugInformation>
|
| 177 |
+
<AdditionalLibraryDirectories>$(BoostDir)\lib64-msvc-14.0;$(ZlibDir)\dll\bin\x64\Debug;C:\Program Files (x86)\Visual Leak Detector\lib\Win64</AdditionalLibraryDirectories>
|
| 178 |
+
<AdditionalDependencies>%(AdditionalDependencies)</AdditionalDependencies>
|
| 179 |
+
<ShowProgress>LinkVerbose</ShowProgress>
|
| 180 |
+
<SuppressStartupBanner>false</SuppressStartupBanner>
|
| 181 |
+
</Link>
|
| 182 |
+
</ItemDefinitionGroup>
|
| 183 |
+
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug-exe|x64'">
|
| 184 |
+
<ClCompile>
|
| 185 |
+
<PrecompiledHeader>
|
| 186 |
+
</PrecompiledHeader>
|
| 187 |
+
<WarningLevel>Level3</WarningLevel>
|
| 188 |
+
<Optimization>Disabled</Optimization>
|
| 189 |
+
<PreprocessorDefinitions>NO_COMPACT_TABLES;HAVE_CMPHXXX;MAX_NUM_FACTORS=4;KENLM_MAX_ORDER=6;_USE_MATH_DEFINES;NOMINMAX;WITH_THREADS;NO_PIPES;_WIN32;WIN32;_DEBUG;_CONSOLE;_LIB;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
| 190 |
+
<AdditionalIncludeDirectories>$(ZlibDir);$(BoostDir);$(MSBuildProjectDirectory)/../../..;C:\Program Files (x86)\Visual Leak Detector\include;C:\depot\translator\private\mt\mman;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
| 191 |
+
<RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
|
| 192 |
+
<ObjectFileName>$(IntDir)\%(RelativeDir)\%(Filename).obj</ObjectFileName>
|
| 193 |
+
<SuppressStartupBanner>false</SuppressStartupBanner>
|
| 194 |
+
<ShowIncludes>false</ShowIncludes>
|
| 195 |
+
<LanguageStandard>Default</LanguageStandard>
|
| 196 |
+
<LanguageStandard_C>
|
| 197 |
+
</LanguageStandard_C>
|
| 198 |
+
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
|
| 199 |
+
<CompileAsManaged>false</CompileAsManaged>
|
| 200 |
+
<AdditionalOptions>
|
| 201 |
+
</AdditionalOptions>
|
| 202 |
+
<MultiProcessorCompilation>true</MultiProcessorCompilation>
|
| 203 |
+
</ClCompile>
|
| 204 |
+
<Link>
|
| 205 |
+
<SubSystem>Console</SubSystem>
|
| 206 |
+
<GenerateDebugInformation>true</GenerateDebugInformation>
|
| 207 |
+
<AdditionalLibraryDirectories>$(BoostDir)\lib64-msvc-14.0;$(ZlibDir)\dll\bin\x64\Debug;C:\Program Files (x86)\Visual Leak Detector\lib\Win64</AdditionalLibraryDirectories>
|
| 208 |
+
<AdditionalDependencies>%(AdditionalDependencies)</AdditionalDependencies>
|
| 209 |
+
<ShowProgress>LinkVerbose</ShowProgress>
|
| 210 |
+
<SuppressStartupBanner>false</SuppressStartupBanner>
|
| 211 |
+
</Link>
|
| 212 |
+
</ItemDefinitionGroup>
|
| 213 |
+
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug-exe2|x64'">
|
| 214 |
+
<ClCompile>
|
| 215 |
+
<PrecompiledHeader>
|
| 216 |
+
</PrecompiledHeader>
|
| 217 |
+
<WarningLevel>Level3</WarningLevel>
|
| 218 |
+
<Optimization>Disabled</Optimization>
|
| 219 |
+
<PreprocessorDefinitions>NO_COMPACT_TABLES;HAVE_CMPHXXX;MAX_NUM_FACTORS=4;KENLM_MAX_ORDER=6;_USE_MATH_DEFINES;NOMINMAX;WITH_THREADS;NO_PIPES;_WIN32;WIN32;_DEBUG;_CONSOLE;_LIB;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
| 220 |
+
<AdditionalIncludeDirectories>$(ZlibDir);$(BoostDir);$(MSBuildProjectDirectory)/../../..;C:\Program Files (x86)\Visual Leak Detector\include;C:\depot\translator\private\mt\mman;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
| 221 |
+
<RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
|
| 222 |
+
<ObjectFileName>$(IntDir)\%(RelativeDir)\%(Filename).obj</ObjectFileName>
|
| 223 |
+
<SuppressStartupBanner>false</SuppressStartupBanner>
|
| 224 |
+
<ShowIncludes>false</ShowIncludes>
|
| 225 |
+
<LanguageStandard>Default</LanguageStandard>
|
| 226 |
+
<LanguageStandard_C>
|
| 227 |
+
</LanguageStandard_C>
|
| 228 |
+
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
|
| 229 |
+
<CompileAsManaged>false</CompileAsManaged>
|
| 230 |
+
<AdditionalOptions>
|
| 231 |
+
</AdditionalOptions>
|
| 232 |
+
<MultiProcessorCompilation>true</MultiProcessorCompilation>
|
| 233 |
+
</ClCompile>
|
| 234 |
+
<Link>
|
| 235 |
+
<SubSystem>Console</SubSystem>
|
| 236 |
+
<GenerateDebugInformation>true</GenerateDebugInformation>
|
| 237 |
+
<AdditionalLibraryDirectories>$(BoostDir)\lib64-msvc-14.0;$(ZlibDir)\dll\bin\x64\Debug;C:\Program Files (x86)\Visual Leak Detector\lib\Win64</AdditionalLibraryDirectories>
|
| 238 |
+
<AdditionalDependencies>%(AdditionalDependencies)</AdditionalDependencies>
|
| 239 |
+
<ShowProgress>LinkVerbose</ShowProgress>
|
| 240 |
+
<SuppressStartupBanner>false</SuppressStartupBanner>
|
| 241 |
+
</Link>
|
| 242 |
+
</ItemDefinitionGroup>
|
| 243 |
+
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug-DLL|x64'">
|
| 244 |
+
<ClCompile>
|
| 245 |
+
<PrecompiledHeader>
|
| 246 |
+
</PrecompiledHeader>
|
| 247 |
+
<WarningLevel>Level3</WarningLevel>
|
| 248 |
+
<Optimization>Disabled</Optimization>
|
| 249 |
+
<PreprocessorDefinitions>NO_COMPACT_TABLES;HAVE_CMPHXXX;MAX_NUM_FACTORS=4;KENLM_MAX_ORDER=6;_USE_MATH_DEFINES;NOMINMAX;WITH_THREADS;NO_PIPES;_WIN32;WIN32;_DEBUG;_CONSOLE;_LIB;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
| 250 |
+
<AdditionalIncludeDirectories>$(ZlibDir);$(BoostDir);$(MSBuildProjectDirectory)/../../..;C:\Program Files (x86)\Visual Leak Detector\include;C:\depot\translator\private\mt\mman;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
| 251 |
+
<RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
|
| 252 |
+
<ObjectFileName>$(IntDir)\%(RelativeDir)\%(Filename).obj</ObjectFileName>
|
| 253 |
+
<SuppressStartupBanner>false</SuppressStartupBanner>
|
| 254 |
+
<ShowIncludes>false</ShowIncludes>
|
| 255 |
+
<LanguageStandard>Default</LanguageStandard>
|
| 256 |
+
<LanguageStandard_C>
|
| 257 |
+
</LanguageStandard_C>
|
| 258 |
+
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
|
| 259 |
+
<CompileAsManaged>false</CompileAsManaged>
|
| 260 |
+
<AdditionalOptions>
|
| 261 |
+
</AdditionalOptions>
|
| 262 |
+
<MultiProcessorCompilation>true</MultiProcessorCompilation>
|
| 263 |
+
</ClCompile>
|
| 264 |
+
<Link>
|
| 265 |
+
<SubSystem>Console</SubSystem>
|
| 266 |
+
<GenerateDebugInformation>true</GenerateDebugInformation>
|
| 267 |
+
<AdditionalLibraryDirectories>$(BoostDir)\lib64-msvc-14.0;$(ZlibDir)\dll\bin\x64\Debug;C:\Program Files (x86)\Visual Leak Detector\lib\Win64</AdditionalLibraryDirectories>
|
| 268 |
+
<AdditionalDependencies>%(AdditionalDependencies)</AdditionalDependencies>
|
| 269 |
+
<ShowProgress>LinkVerbose</ShowProgress>
|
| 270 |
+
<SuppressStartupBanner>false</SuppressStartupBanner>
|
| 271 |
+
</Link>
|
| 272 |
+
</ItemDefinitionGroup>
|
| 273 |
+
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
|
| 274 |
+
<ClCompile>
|
| 275 |
+
<WarningLevel>Level3</WarningLevel>
|
| 276 |
+
<PrecompiledHeader>
|
| 277 |
+
</PrecompiledHeader>
|
| 278 |
+
<Optimization>MaxSpeed</Optimization>
|
| 279 |
+
<FunctionLevelLinking>true</FunctionLevelLinking>
|
| 280 |
+
<IntrinsicFunctions>true</IntrinsicFunctions>
|
| 281 |
+
<PreprocessorDefinitions>NO_COMPACT_TABLES;HAVE_CMPHXXX;MAX_NUM_FACTORS=4;KENLM_MAX_ORDER=6;_USE_MATH_DEFINES;NOMINMAX;WITH_THREADS;NO_PIPES;_WIN32;WIN32;NDEBUG;_CONSOLE;_LIB;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
| 282 |
+
<AdditionalIncludeDirectories>$(ZlibDir);$(BoostDir);$(MSBuildProjectDirectory)/../../..;C:\Program Files (x86)\Visual Leak Detector\include;C:\depot\translator\private\mt\mman;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
| 283 |
+
<RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
|
| 284 |
+
<ObjectFileName>$(IntDir)\%(RelativeDir)\%(Filename).obj</ObjectFileName>
|
| 285 |
+
<ShowIncludes>false</ShowIncludes>
|
| 286 |
+
<LanguageStandard>Default</LanguageStandard>
|
| 287 |
+
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
|
| 288 |
+
<MultiProcessorCompilation>true</MultiProcessorCompilation>
|
| 289 |
+
</ClCompile>
|
| 290 |
+
<Link>
|
| 291 |
+
<SubSystem>Console</SubSystem>
|
| 292 |
+
<GenerateDebugInformation>true</GenerateDebugInformation>
|
| 293 |
+
<EnableCOMDATFolding>true</EnableCOMDATFolding>
|
| 294 |
+
<OptimizeReferences>true</OptimizeReferences>
|
| 295 |
+
<AdditionalLibraryDirectories>$(BoostDir)\lib64-msvc-14.0;$(ZlibDir)\dll\bin\x64\Debug;C:\Program Files (x86)\Visual Leak Detector\lib\Win64</AdditionalLibraryDirectories>
|
| 296 |
+
<AdditionalDependencies>%(AdditionalDependencies)</AdditionalDependencies>
|
| 297 |
+
</Link>
|
| 298 |
+
</ItemDefinitionGroup>
|
| 299 |
+
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release-exe|x64'">
|
| 300 |
+
<ClCompile>
|
| 301 |
+
<WarningLevel>Level3</WarningLevel>
|
| 302 |
+
<PrecompiledHeader>
|
| 303 |
+
</PrecompiledHeader>
|
| 304 |
+
<Optimization>MaxSpeed</Optimization>
|
| 305 |
+
<FunctionLevelLinking>true</FunctionLevelLinking>
|
| 306 |
+
<IntrinsicFunctions>true</IntrinsicFunctions>
|
| 307 |
+
<PreprocessorDefinitions>NO_COMPACT_TABLES;HAVE_CMPHXXX;MAX_NUM_FACTORS=4;KENLM_MAX_ORDER=6;_USE_MATH_DEFINES;NOMINMAX;WITH_THREADS;NO_PIPES;_WIN32;WIN32;NDEBUG;_CONSOLE;_LIB;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
| 308 |
+
<AdditionalIncludeDirectories>$(ZlibDir);$(BoostDir);$(MSBuildProjectDirectory)/../../..;C:\Program Files (x86)\Visual Leak Detector\include;C:\depot\translator\private\mt\mman;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
| 309 |
+
<RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
|
| 310 |
+
<ObjectFileName>$(IntDir)\%(RelativeDir)\%(Filename).obj</ObjectFileName>
|
| 311 |
+
<ShowIncludes>false</ShowIncludes>
|
| 312 |
+
<LanguageStandard>Default</LanguageStandard>
|
| 313 |
+
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
|
| 314 |
+
<MultiProcessorCompilation>true</MultiProcessorCompilation>
|
| 315 |
+
</ClCompile>
|
| 316 |
+
<Link>
|
| 317 |
+
<SubSystem>Console</SubSystem>
|
| 318 |
+
<GenerateDebugInformation>true</GenerateDebugInformation>
|
| 319 |
+
<EnableCOMDATFolding>true</EnableCOMDATFolding>
|
| 320 |
+
<OptimizeReferences>true</OptimizeReferences>
|
| 321 |
+
<AdditionalLibraryDirectories>$(BoostDir)\lib64-msvc-14.0;$(ZlibDir)\dll\bin\x64\Debug;C:\Program Files (x86)\Visual Leak Detector\lib\Win64</AdditionalLibraryDirectories>
|
| 322 |
+
<AdditionalDependencies>%(AdditionalDependencies)</AdditionalDependencies>
|
| 323 |
+
</Link>
|
| 324 |
+
</ItemDefinitionGroup>
|
| 325 |
+
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release-DLL|x64'">
|
| 326 |
+
<ClCompile>
|
| 327 |
+
<WarningLevel>Level3</WarningLevel>
|
| 328 |
+
<PrecompiledHeader>
|
| 329 |
+
</PrecompiledHeader>
|
| 330 |
+
<Optimization>MaxSpeed</Optimization>
|
| 331 |
+
<FunctionLevelLinking>true</FunctionLevelLinking>
|
| 332 |
+
<IntrinsicFunctions>true</IntrinsicFunctions>
|
| 333 |
+
<PreprocessorDefinitions>NO_COMPACT_TABLES;HAVE_CMPHXXX;MAX_NUM_FACTORS=4;KENLM_MAX_ORDER=6;_USE_MATH_DEFINES;NOMINMAX;WITH_THREADS;NO_PIPES;_WIN32;WIN32;NDEBUG;_CONSOLE;_LIB;NO_PROBING_PT;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
| 334 |
+
<AdditionalIncludeDirectories>$(ZlibDir);$(BoostDir);$(MSBuildProjectDirectory)/../../..;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
| 335 |
+
<RuntimeLibrary>MultiThreaded</RuntimeLibrary>
|
| 336 |
+
<ObjectFileName>$(IntDir)\%(RelativeDir)\%(Filename).obj</ObjectFileName>
|
| 337 |
+
<ShowIncludes>false</ShowIncludes>
|
| 338 |
+
<LanguageStandard>Default</LanguageStandard>
|
| 339 |
+
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
|
| 340 |
+
<MultiProcessorCompilation>true</MultiProcessorCompilation>
|
| 341 |
+
</ClCompile>
|
| 342 |
+
<Link>
|
| 343 |
+
<SubSystem>Console</SubSystem>
|
| 344 |
+
<GenerateDebugInformation>true</GenerateDebugInformation>
|
| 345 |
+
<EnableCOMDATFolding>true</EnableCOMDATFolding>
|
| 346 |
+
<OptimizeReferences>true</OptimizeReferences>
|
| 347 |
+
<AdditionalLibraryDirectories>$(BoostDir)\lib64-msvc-14.0;$(ZlibDir)\dll\bin\x64\Debug</AdditionalLibraryDirectories>
|
| 348 |
+
<AdditionalDependencies>%(AdditionalDependencies)</AdditionalDependencies>
|
| 349 |
+
</Link>
|
| 350 |
+
</ItemDefinitionGroup>
|
| 351 |
+
<ItemGroup>
|
| 352 |
+
<ClCompile Include="..\..\..\lm\bhiksha.cc" />
|
| 353 |
+
<ClCompile Include="..\..\..\lm\binary_format.cc" />
|
| 354 |
+
<ClCompile Include="..\..\..\lm\config.cc" />
|
| 355 |
+
<ClCompile Include="..\..\..\lm\lm_exception.cc" />
|
| 356 |
+
<ClCompile Include="..\..\..\lm\model.cc" />
|
| 357 |
+
<ClCompile Include="..\..\..\lm\quantize.cc" />
|
| 358 |
+
<ClCompile Include="..\..\..\lm\read_arpa.cc" />
|
| 359 |
+
<ClCompile Include="..\..\..\lm\search_hashed.cc" />
|
| 360 |
+
<ClCompile Include="..\..\..\lm\search_trie.cc" />
|
| 361 |
+
<ClCompile Include="..\..\..\lm\sizes.cc" />
|
| 362 |
+
<ClCompile Include="..\..\..\lm\trie.cc" />
|
| 363 |
+
<ClCompile Include="..\..\..\lm\trie_sort.cc" />
|
| 364 |
+
<ClCompile Include="..\..\..\lm\value_build.cc" />
|
| 365 |
+
<ClCompile Include="..\..\..\lm\virtual_interface.cc" />
|
| 366 |
+
<ClCompile Include="..\..\..\lm\vocab.cc" />
|
| 367 |
+
<ClCompile Include="..\..\..\moses2\DLLEntryApi.cpp" />
|
| 368 |
+
<ClCompile Include="..\..\..\moses2\FF\ExampleStatefulFF.cpp" />
|
| 369 |
+
<ClCompile Include="..\..\..\moses2\FF\ExampleStatelessFF.cpp" />
|
| 370 |
+
<ClCompile Include="..\..\..\moses2\FF\LexicalReordering\BidirectionalReorderingState.cpp" />
|
| 371 |
+
<ClCompile Include="..\..\..\moses2\FF\LexicalReordering\HReorderingBackwardState.cpp" />
|
| 372 |
+
<ClCompile Include="..\..\..\moses2\FF\LexicalReordering\HReorderingForwardState.cpp" />
|
| 373 |
+
<ClCompile Include="..\..\..\moses2\FF\LexicalReordering\LexicalReordering.cpp" />
|
| 374 |
+
<ClCompile Include="..\..\..\moses2\FF\LexicalReordering\LRModel.cpp" />
|
| 375 |
+
<ClCompile Include="..\..\..\moses2\FF\LexicalReordering\LRState.cpp" />
|
| 376 |
+
<ClCompile Include="..\..\..\moses2\FF\LexicalReordering\PhraseBasedReorderingState.cpp" />
|
| 377 |
+
<ClCompile Include="..\..\..\moses2\FF\LexicalReordering\ReorderingStack.cpp" />
|
| 378 |
+
<ClCompile Include="..\..\..\moses2\FF\OSM\KenOSM.cpp" />
|
| 379 |
+
<ClCompile Include="..\..\..\moses2\FF\OSM\OpSequenceModel.cpp" />
|
| 380 |
+
<ClCompile Include="..\..\..\moses2\FF\OSM\osmHyp.cpp" />
|
| 381 |
+
<ClCompile Include="..\..\..\moses2\legacy\OutputCollector.cpp" />
|
| 382 |
+
<ClCompile Include="..\..\..\moses2\LM\GPULM.cpp" />
|
| 383 |
+
<ClCompile Include="..\..\..\moses2\LM\KENLM.cpp" />
|
| 384 |
+
<ClCompile Include="..\..\..\moses2\LM\KENLMBatch.cpp" />
|
| 385 |
+
<ClCompile Include="..\..\..\moses2\LM\LanguageModel.cpp" />
|
| 386 |
+
<ClCompile Include="..\..\..\moses2\Moses2Wrapper.cpp" />
|
| 387 |
+
<ClCompile Include="..\..\..\moses2\PhraseBased\CubePruningMiniStack\Misc.cpp" />
|
| 388 |
+
<ClCompile Include="..\..\..\moses2\PhraseBased\CubePruningMiniStack\Search.cpp" />
|
| 389 |
+
<ClCompile Include="..\..\..\moses2\PhraseBased\CubePruningMiniStack\Stack.cpp" />
|
| 390 |
+
<ClCompile Include="..\..\..\moses2\PhraseBased\Hypothesis.cpp" />
|
| 391 |
+
<ClCompile Include="..\..\..\moses2\PhraseBased\InputPath.cpp" />
|
| 392 |
+
<ClCompile Include="..\..\..\moses2\PhraseBased\InputPaths.cpp" />
|
| 393 |
+
<ClCompile Include="..\..\..\moses2\PhraseBased\Manager.cpp" />
|
| 394 |
+
<ClCompile Include="..\..\..\moses2\PhraseBased\Normal\Search.cpp" />
|
| 395 |
+
<ClCompile Include="..\..\..\moses2\PhraseBased\Normal\Stack.cpp" />
|
| 396 |
+
<ClCompile Include="..\..\..\moses2\PhraseBased\Normal\Stacks.cpp" />
|
| 397 |
+
<ClCompile Include="..\..\..\moses2\PhraseBased\PhraseImpl.cpp" />
|
| 398 |
+
<ClCompile Include="..\..\..\moses2\PhraseBased\ReorderingConstraint.cpp" />
|
| 399 |
+
<ClCompile Include="..\..\..\moses2\PhraseBased\Search.cpp" />
|
| 400 |
+
<ClCompile Include="..\..\..\moses2\PhraseBased\Sentence.cpp" />
|
| 401 |
+
<ClCompile Include="..\..\..\moses2\PhraseBased\SentenceWithCandidates.cpp" />
|
| 402 |
+
<ClCompile Include="..\..\..\moses2\PhraseBased\TargetPhraseImpl.cpp" />
|
| 403 |
+
<ClCompile Include="..\..\..\moses2\PhraseBased\TargetPhrases.cpp" />
|
| 404 |
+
<ClCompile Include="..\..\..\moses2\PhraseBased\TrellisPath.cpp" />
|
| 405 |
+
<ClCompile Include="..\..\..\moses2\SCFG\nbest\KBestExtractor.cpp" />
|
| 406 |
+
<ClCompile Include="..\..\..\moses2\SCFG\nbest\NBest.cpp" />
|
| 407 |
+
<ClCompile Include="..\..\..\moses2\SCFG\nbest\NBestColl.cpp" />
|
| 408 |
+
<ClCompile Include="..\..\..\moses2\SCFG\nbest\NBests.cpp" />
|
| 409 |
+
<ClCompile Include="..\..\..\moses2\TranslationModel\Dynamic\DynamicPhraseTable.cpp" />
|
| 410 |
+
<ClCompile Include="..\..\..\moses2\TranslationModel\Memory\PhraseTableMemory.cpp" />
|
| 411 |
+
<ClCompile Include="..\..\..\moses2\TranslationModel\PhraseTable.cpp" />
|
| 412 |
+
<ClCompile Include="..\..\..\moses2\TranslationModel\ProbingPT.cpp">
|
| 413 |
+
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release-DLL|x64'">true</ExcludedFromBuild>
|
| 414 |
+
</ClCompile>
|
| 415 |
+
<ClCompile Include="..\..\..\moses2\TranslationModel\Transliteration.cpp" />
|
| 416 |
+
<ClCompile Include="..\..\..\moses2\TranslationModel\UnknownWordPenalty.cpp" />
|
| 417 |
+
<ClCompile Include="..\..\..\moses2\TranslationTask.cpp" />
|
| 418 |
+
<ClCompile Include="..\..\..\probingpt\hash.cpp" />
|
| 419 |
+
<ClCompile Include="..\..\..\probingpt\InputFileStream.cpp" />
|
| 420 |
+
<ClCompile Include="..\..\..\probingpt\probing_hash_utils.cpp">
|
| 421 |
+
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release-DLL|x64'">true</ExcludedFromBuild>
|
| 422 |
+
</ClCompile>
|
| 423 |
+
<ClCompile Include="..\..\..\probingpt\querying.cpp">
|
| 424 |
+
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release-DLL|x64'">true</ExcludedFromBuild>
|
| 425 |
+
</ClCompile>
|
| 426 |
+
<ClCompile Include="..\..\..\probingpt\util.cpp" />
|
| 427 |
+
<ClCompile Include="..\..\..\probingpt\vocabid.cpp" />
|
| 428 |
+
<ClCompile Include="..\..\..\util\bit_packing.cc" />
|
| 429 |
+
<ClCompile Include="..\..\..\util\double-conversion\bignum-dtoa.cc" />
|
| 430 |
+
<ClCompile Include="..\..\..\util\double-conversion\bignum.cc" />
|
| 431 |
+
<ClCompile Include="..\..\..\util\double-conversion\cached-powers.cc" />
|
| 432 |
+
<ClCompile Include="..\..\..\util\double-conversion\diy-fp.cc" />
|
| 433 |
+
<ClCompile Include="..\..\..\util\double-conversion\double-conversion.cc" />
|
| 434 |
+
<ClCompile Include="..\..\..\util\double-conversion\fast-dtoa.cc" />
|
| 435 |
+
<ClCompile Include="..\..\..\util\double-conversion\fixed-dtoa.cc" />
|
| 436 |
+
<ClCompile Include="..\..\..\util\double-conversion\strtod.cc" />
|
| 437 |
+
<ClCompile Include="..\..\..\util\ersatz_progress.cc" />
|
| 438 |
+
<ClCompile Include="..\..\..\util\exception.cc" />
|
| 439 |
+
<ClCompile Include="..\..\..\util\file.cc" />
|
| 440 |
+
<ClCompile Include="..\..\..\util\file_piece.cc" />
|
| 441 |
+
<ClCompile Include="..\..\..\util\float_to_string.cc" />
|
| 442 |
+
<ClCompile Include="..\..\..\util\integer_to_string.cc" />
|
| 443 |
+
<ClCompile Include="..\..\..\util\mmap.cc" />
|
| 444 |
+
<ClCompile Include="..\..\..\util\murmur_hash.cc" />
|
| 445 |
+
<ClCompile Include="..\..\..\util\parallel_read.cc" />
|
| 446 |
+
<ClCompile Include="..\..\..\util\pool.cc" />
|
| 447 |
+
<ClCompile Include="..\..\..\util\random.cc" />
|
| 448 |
+
<ClCompile Include="..\..\..\util\read_compressed.cc" />
|
| 449 |
+
<ClCompile Include="..\..\..\util\scoped.cc" />
|
| 450 |
+
<ClCompile Include="..\..\..\util\string_piece.cc" />
|
| 451 |
+
<ClCompile Include="..\..\..\util\usage.cc" />
|
| 452 |
+
<ClCompile Include="..\..\..\moses2\AlignmentInfo.cpp" />
|
| 453 |
+
<ClCompile Include="..\..\..\moses2\AlignmentInfoCollection.cpp" />
|
| 454 |
+
<ClCompile Include="..\..\..\moses2\ArcLists.cpp" />
|
| 455 |
+
<ClCompile Include="..\..\..\moses2\EstimatedScores.cpp" />
|
| 456 |
+
<ClCompile Include="..\..\..\moses2\FF\Distortion.cpp" />
|
| 457 |
+
<ClCompile Include="..\..\..\moses2\FF\FeatureFunction.cpp" />
|
| 458 |
+
<ClCompile Include="..\..\..\moses2\FF\FeatureFunctions.cpp" />
|
| 459 |
+
<ClCompile Include="..\..\..\moses2\FF\FeatureRegistry.cpp" />
|
| 460 |
+
<ClCompile Include="..\..\..\moses2\FF\FFState.cpp" />
|
| 461 |
+
<ClCompile Include="..\..\..\moses2\FF\PhrasePenalty.cpp" />
|
| 462 |
+
<ClCompile Include="..\..\..\moses2\FF\PointerState.cpp" />
|
| 463 |
+
<ClCompile Include="..\..\..\moses2\FF\StatefulFeatureFunction.cpp" />
|
| 464 |
+
<ClCompile Include="..\..\..\moses2\FF\StatelessFeatureFunction.cpp" />
|
| 465 |
+
<ClCompile Include="..\..\..\moses2\FF\WordPenalty.cpp" />
|
| 466 |
+
<ClCompile Include="..\..\..\moses2\HypothesisBase.cpp" />
|
| 467 |
+
<ClCompile Include="..\..\..\moses2\HypothesisColl.cpp" />
|
| 468 |
+
<ClCompile Include="..\..\..\moses2\InputPathBase.cpp" />
|
| 469 |
+
<ClCompile Include="..\..\..\moses2\InputPathsBase.cpp" />
|
| 470 |
+
<ClCompile Include="..\..\..\moses2\InputType.cpp" />
|
| 471 |
+
<ClCompile Include="..\..\..\moses2\legacy\Bitmap.cpp" />
|
| 472 |
+
<ClCompile Include="..\..\..\moses2\legacy\Bitmaps.cpp" />
|
| 473 |
+
<ClCompile Include="..\..\..\moses2\legacy\Factor.cpp" />
|
| 474 |
+
<ClCompile Include="..\..\..\moses2\legacy\FactorCollection.cpp" />
|
| 475 |
+
<ClCompile Include="..\..\..\moses2\legacy\InputFileStream.cpp" />
|
| 476 |
+
<ClCompile Include="..\..\..\moses2\legacy\Matrix.cpp" />
|
| 477 |
+
<ClCompile Include="..\..\..\moses2\legacy\OutputFileStream.cpp" />
|
| 478 |
+
<ClCompile Include="..\..\..\moses2\legacy\Parameter.cpp" />
|
| 479 |
+
<ClCompile Include="..\..\..\moses2\legacy\Range.cpp" />
|
| 480 |
+
<ClCompile Include="..\..\..\moses2\legacy\ThreadPool.cpp" />
|
| 481 |
+
<ClCompile Include="..\..\..\moses2\legacy\Timer.cpp" />
|
| 482 |
+
<ClCompile Include="..\..\..\moses2\legacy\Util2.cpp" />
|
| 483 |
+
<ClCompile Include="..\..\..\moses2\ManagerBase.cpp" />
|
| 484 |
+
<ClCompile Include="..\..\..\moses2\MemPool.cpp" />
|
| 485 |
+
<ClCompile Include="..\..\..\moses2\parameters\AllOptions.cpp" />
|
| 486 |
+
<ClCompile Include="..\..\..\moses2\parameters\BookkeepingOptions.cpp" />
|
| 487 |
+
<ClCompile Include="..\..\..\moses2\parameters\ContextParameters.cpp" />
|
| 488 |
+
<ClCompile Include="..\..\..\moses2\parameters\CubePruningOptions.cpp" />
|
| 489 |
+
<ClCompile Include="..\..\..\moses2\parameters\InputOptions.cpp" />
|
| 490 |
+
<ClCompile Include="..\..\..\moses2\parameters\LMBR_Options.cpp" />
|
| 491 |
+
<ClCompile Include="..\..\..\moses2\parameters\MBR_Options.cpp" />
|
| 492 |
+
<ClCompile Include="..\..\..\moses2\parameters\NBestOptions.cpp" />
|
| 493 |
+
<ClCompile Include="..\..\..\moses2\parameters\OOVHandlingOptions.cpp" />
|
| 494 |
+
<ClCompile Include="..\..\..\moses2\parameters\OptionsBaseClass.cpp" />
|
| 495 |
+
<ClCompile Include="..\..\..\moses2\parameters\ReorderingOptions.cpp" />
|
| 496 |
+
<ClCompile Include="..\..\..\moses2\parameters\ReportingOptions.cpp" />
|
| 497 |
+
<ClCompile Include="..\..\..\moses2\parameters\SearchOptions.cpp" />
|
| 498 |
+
<ClCompile Include="..\..\..\moses2\parameters\ServerOptions.cpp" />
|
| 499 |
+
<ClCompile Include="..\..\..\moses2\parameters\SyntaxOptions.cpp" />
|
| 500 |
+
<ClCompile Include="..\..\..\moses2\Phrase.cpp" />
|
| 501 |
+
<ClCompile Include="..\..\..\moses2\pugixml.cpp" />
|
| 502 |
+
<ClCompile Include="..\..\..\moses2\Recycler.cpp" />
|
| 503 |
+
<ClCompile Include="..\..\..\moses2\SCFG\ActiveChart.cpp" />
|
| 504 |
+
<ClCompile Include="..\..\..\moses2\SCFG\Hypothesis.cpp" />
|
| 505 |
+
<ClCompile Include="..\..\..\moses2\SCFG\InputPath.cpp" />
|
| 506 |
+
<ClCompile Include="..\..\..\moses2\SCFG\InputPaths.cpp" />
|
| 507 |
+
<ClCompile Include="..\..\..\moses2\SCFG\Manager.cpp" />
|
| 508 |
+
<ClCompile Include="..\..\..\moses2\SCFG\Misc.cpp" />
|
| 509 |
+
<ClCompile Include="..\..\..\moses2\SCFG\PhraseImpl.cpp" />
|
| 510 |
+
<ClCompile Include="..\..\..\moses2\SCFG\Sentence.cpp" />
|
| 511 |
+
<ClCompile Include="..\..\..\moses2\SCFG\Stack.cpp" />
|
| 512 |
+
<ClCompile Include="..\..\..\moses2\SCFG\Stacks.cpp" />
|
| 513 |
+
<ClCompile Include="..\..\..\moses2\SCFG\TargetPhraseImpl.cpp" />
|
| 514 |
+
<ClCompile Include="..\..\..\moses2\SCFG\TargetPhrases.cpp" />
|
| 515 |
+
<ClCompile Include="..\..\..\moses2\SCFG\Word.cpp" />
|
| 516 |
+
<ClCompile Include="..\..\..\moses2\Scores.cpp" />
|
| 517 |
+
<ClCompile Include="..\..\..\moses2\SubPhrase.cpp" />
|
| 518 |
+
<ClCompile Include="..\..\..\moses2\System.cpp" />
|
| 519 |
+
<ClCompile Include="..\..\..\moses2\TargetPhrase.cpp" />
|
| 520 |
+
<ClCompile Include="..\..\..\moses2\TrellisPaths.cpp" />
|
| 521 |
+
<ClCompile Include="..\..\..\moses2\TypeDef.cpp" />
|
| 522 |
+
<ClCompile Include="..\..\..\moses2\Vector.cpp" />
|
| 523 |
+
<ClCompile Include="..\..\..\moses2\Weights.cpp" />
|
| 524 |
+
<ClCompile Include="..\..\..\moses2\Word.cpp" />
|
| 525 |
+
</ItemGroup>
|
| 526 |
+
<ItemGroup>
|
| 527 |
+
<None Include="packages.config" />
|
| 528 |
+
</ItemGroup>
|
| 529 |
+
<ItemGroup>
|
| 530 |
+
<ClInclude Include="..\..\..\moses2\AlignmentInfo.h" />
|
| 531 |
+
<ClInclude Include="..\..\..\moses2\AlignmentInfoCollection.h" />
|
| 532 |
+
<ClInclude Include="..\..\..\moses2\ArcLists.h" />
|
| 533 |
+
<ClInclude Include="..\..\..\moses2\Array.h" />
|
| 534 |
+
<ClInclude Include="..\..\..\moses2\EstimatedScores.h" />
|
| 535 |
+
<ClInclude Include="..\..\..\moses2\FF\Distortion.h" />
|
| 536 |
+
<ClInclude Include="..\..\..\moses2\FF\ExampleStatefulFF.h" />
|
| 537 |
+
<ClInclude Include="..\..\..\moses2\FF\ExampleStatelessFF.h" />
|
| 538 |
+
<ClInclude Include="..\..\..\moses2\FF\FeatureFunction.h" />
|
| 539 |
+
<ClInclude Include="..\..\..\moses2\FF\FeatureFunctions.h" />
|
| 540 |
+
<ClInclude Include="..\..\..\moses2\FF\FeatureRegistry.h" />
|
| 541 |
+
<ClInclude Include="..\..\..\moses2\FF\FFState.h" />
|
| 542 |
+
<ClInclude Include="..\..\..\moses2\FF\PhrasePenalty.h" />
|
| 543 |
+
<ClInclude Include="..\..\..\moses2\FF\PointerState.h" />
|
| 544 |
+
<ClInclude Include="..\..\..\moses2\FF\StatefulFeatureFunction.h" />
|
| 545 |
+
<ClInclude Include="..\..\..\moses2\FF\StatelessFeatureFunction.h" />
|
| 546 |
+
<ClInclude Include="..\..\..\moses2\FF\WordPenalty.h" />
|
| 547 |
+
<ClInclude Include="..\..\..\moses2\HypothesisBase.h" />
|
| 548 |
+
<ClInclude Include="..\..\..\moses2\HypothesisColl.h" />
|
| 549 |
+
<ClInclude Include="..\..\..\moses2\InputPathBase.h" />
|
| 550 |
+
<ClInclude Include="..\..\..\moses2\InputPathsBase.h" />
|
| 551 |
+
<ClInclude Include="..\..\..\moses2\InputType.h" />
|
| 552 |
+
<ClInclude Include="..\..\..\moses2\legacy\Bitmap.h" />
|
| 553 |
+
<ClInclude Include="..\..\..\moses2\legacy\Bitmaps.h" />
|
| 554 |
+
<ClInclude Include="..\..\..\moses2\legacy\Factor.h" />
|
| 555 |
+
<ClInclude Include="..\..\..\moses2\legacy\FactorCollection.h" />
|
| 556 |
+
<ClInclude Include="..\..\..\moses2\legacy\gzfilebuf.h" />
|
| 557 |
+
<ClInclude Include="..\..\..\moses2\legacy\InputFileStream.h" />
|
| 558 |
+
<ClInclude Include="..\..\..\moses2\legacy\Matrix.h" />
|
| 559 |
+
<ClInclude Include="..\..\..\moses2\legacy\OutputCollector.h" />
|
| 560 |
+
<ClInclude Include="..\..\..\moses2\legacy\OutputFileStream.h" />
|
| 561 |
+
<ClInclude Include="..\..\..\moses2\legacy\Parameter.h" />
|
| 562 |
+
<ClInclude Include="..\..\..\moses2\legacy\Range.h" />
|
| 563 |
+
<ClInclude Include="..\..\..\moses2\legacy\ThreadPool.h" />
|
| 564 |
+
<ClInclude Include="..\..\..\moses2\legacy\Timer.h" />
|
| 565 |
+
<ClInclude Include="..\..\..\moses2\legacy\Util2.h" />
|
| 566 |
+
<ClInclude Include="..\..\..\moses2\legacy\xmlrpc-c.h" />
|
| 567 |
+
<ClInclude Include="..\..\..\moses2\Main.h" />
|
| 568 |
+
<ClInclude Include="..\..\..\moses2\ManagerBase.h" />
|
| 569 |
+
<ClInclude Include="..\..\..\moses2\MemPool.h" />
|
| 570 |
+
<ClInclude Include="..\..\..\moses2\MemPoolAllocator.h" />
|
| 571 |
+
<ClInclude Include="..\..\..\moses2\Moses2Wrapper.h" />
|
| 572 |
+
<ClInclude Include="..\..\..\moses2\Phrase.h" />
|
| 573 |
+
<ClInclude Include="..\..\..\moses2\PhraseImplTemplate.h" />
|
| 574 |
+
<ClInclude Include="..\..\..\moses2\pugiconfig.hpp" />
|
| 575 |
+
<ClInclude Include="..\..\..\moses2\pugixml.hpp" />
|
| 576 |
+
<ClInclude Include="..\..\..\moses2\Recycler.h" />
|
| 577 |
+
<ClInclude Include="..\..\..\moses2\Scores.h" />
|
| 578 |
+
<ClInclude Include="..\..\..\moses2\SubPhrase.h" />
|
| 579 |
+
<ClInclude Include="..\..\..\moses2\System.h" />
|
| 580 |
+
<ClInclude Include="..\..\..\moses2\TargetPhrase.h" />
|
| 581 |
+
<ClInclude Include="..\..\..\moses2\TranslationModel\ProbingPT.h" />
|
| 582 |
+
<ClInclude Include="..\..\..\moses2\TranslationTask.h" />
|
| 583 |
+
<ClInclude Include="..\..\..\moses2\TrellisPaths.h" />
|
| 584 |
+
<ClInclude Include="..\..\..\moses2\TypeDef.h" />
|
| 585 |
+
<ClInclude Include="..\..\..\moses2\Vector.h" />
|
| 586 |
+
<ClInclude Include="..\..\..\moses2\Weights.h" />
|
| 587 |
+
<ClInclude Include="..\..\..\moses2\Word.h" />
|
| 588 |
+
<ClInclude Include="..\..\..\probingpt\probing_hash_utils.h" />
|
| 589 |
+
<ClInclude Include="..\..\..\probingpt\querying.h" />
|
| 590 |
+
</ItemGroup>
|
| 591 |
+
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
|
| 592 |
+
</Project>
|
mosesdecoder/contrib/other-builds/moses2/moses2.vcxproj.filters
ADDED
|
@@ -0,0 +1,768 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
<?xml version="1.0" encoding="utf-8"?>
|
| 2 |
+
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
| 3 |
+
<ItemGroup>
|
| 4 |
+
<Filter Include="Source Files">
|
| 5 |
+
<UniqueIdentifier>{4FC737F1-C7A5-4376-A066-2A32D752A2FF}</UniqueIdentifier>
|
| 6 |
+
<Extensions>cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx</Extensions>
|
| 7 |
+
</Filter>
|
| 8 |
+
<Filter Include="Header Files">
|
| 9 |
+
<UniqueIdentifier>{93995380-89BD-4b04-88EB-625FBE52EBFB}</UniqueIdentifier>
|
| 10 |
+
<Extensions>h;hh;hpp;hxx;hm;inl;inc;xsd</Extensions>
|
| 11 |
+
</Filter>
|
| 12 |
+
<Filter Include="Resource Files">
|
| 13 |
+
<UniqueIdentifier>{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}</UniqueIdentifier>
|
| 14 |
+
<Extensions>rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav;mfcribbon-ms</Extensions>
|
| 15 |
+
</Filter>
|
| 16 |
+
<Filter Include="Source Files\server">
|
| 17 |
+
<UniqueIdentifier>{214e915b-eafb-4e76-b9a2-1fbfe99424b7}</UniqueIdentifier>
|
| 18 |
+
</Filter>
|
| 19 |
+
<Filter Include="Source Files\util">
|
| 20 |
+
<UniqueIdentifier>{d6922dd8-d86c-4c79-8587-a3a412a2e9f6}</UniqueIdentifier>
|
| 21 |
+
</Filter>
|
| 22 |
+
<Filter Include="Source Files\util\double-conversion">
|
| 23 |
+
<UniqueIdentifier>{4e9f8bc8-ef01-463e-a309-df80bb1e63b5}</UniqueIdentifier>
|
| 24 |
+
</Filter>
|
| 25 |
+
<Filter Include="Source Files\parameters">
|
| 26 |
+
<UniqueIdentifier>{58e84bec-0301-41b2-a4c2-dc00162c550a}</UniqueIdentifier>
|
| 27 |
+
</Filter>
|
| 28 |
+
<Filter Include="Source Files\legacy">
|
| 29 |
+
<UniqueIdentifier>{ccdac19b-8883-4c3d-8006-365d4846688f}</UniqueIdentifier>
|
| 30 |
+
</Filter>
|
| 31 |
+
<Filter Include="Source Files\FF">
|
| 32 |
+
<UniqueIdentifier>{929b6fab-e56b-4218-bfb6-da1c50a6c48e}</UniqueIdentifier>
|
| 33 |
+
</Filter>
|
| 34 |
+
<Filter Include="Source Files\SCFG">
|
| 35 |
+
<UniqueIdentifier>{797f4634-c680-45fc-b30e-b5e90ee5d224}</UniqueIdentifier>
|
| 36 |
+
</Filter>
|
| 37 |
+
<Filter Include="Source Files\TranslationModel">
|
| 38 |
+
<UniqueIdentifier>{5a603a90-587d-4fef-ab01-ba6e5173869e}</UniqueIdentifier>
|
| 39 |
+
</Filter>
|
| 40 |
+
<Filter Include="Source Files\TranslationModel\Memory">
|
| 41 |
+
<UniqueIdentifier>{85931b40-138d-48c4-a288-c4ee96039879}</UniqueIdentifier>
|
| 42 |
+
</Filter>
|
| 43 |
+
<Filter Include="Source Files\FF\LexicalReordering">
|
| 44 |
+
<UniqueIdentifier>{a044c0cd-45cc-4a91-bd83-0e04d11f2afa}</UniqueIdentifier>
|
| 45 |
+
</Filter>
|
| 46 |
+
<Filter Include="Source Files\FF\OSM">
|
| 47 |
+
<UniqueIdentifier>{fe76b14f-0997-4f14-b3d6-c6f1b725bf72}</UniqueIdentifier>
|
| 48 |
+
</Filter>
|
| 49 |
+
<Filter Include="Source Files\PhraseBased">
|
| 50 |
+
<UniqueIdentifier>{dea1c12e-1a75-4313-9c03-28689a06a1ee}</UniqueIdentifier>
|
| 51 |
+
</Filter>
|
| 52 |
+
<Filter Include="Source Files\lm">
|
| 53 |
+
<UniqueIdentifier>{b895cea0-249f-4b4a-9b47-872d810fd4f2}</UniqueIdentifier>
|
| 54 |
+
</Filter>
|
| 55 |
+
<Filter Include="Source Files\PhraseBased\Normal">
|
| 56 |
+
<UniqueIdentifier>{12cccf90-d56a-4aca-8780-41777bb2f291}</UniqueIdentifier>
|
| 57 |
+
</Filter>
|
| 58 |
+
<Filter Include="Source Files\PhraseBased\CubePruningMiniStack">
|
| 59 |
+
<UniqueIdentifier>{e8564ac2-1055-4b10-9da0-4ae82e713881}</UniqueIdentifier>
|
| 60 |
+
</Filter>
|
| 61 |
+
<Filter Include="Source Files\Moses2LM">
|
| 62 |
+
<UniqueIdentifier>{cad8906a-d5b9-447d-952c-68bd6fa93bef}</UniqueIdentifier>
|
| 63 |
+
</Filter>
|
| 64 |
+
<Filter Include="Source Files\SCFG\nbest">
|
| 65 |
+
<UniqueIdentifier>{806d58ef-f545-4428-a8f0-f870e211d15f}</UniqueIdentifier>
|
| 66 |
+
</Filter>
|
| 67 |
+
<Filter Include="Source Files\ProbingPT">
|
| 68 |
+
<UniqueIdentifier>{8f10d9c1-66d4-4490-b310-d3f4973bad29}</UniqueIdentifier>
|
| 69 |
+
</Filter>
|
| 70 |
+
<Filter Include="Source Files\TranslationModel\Dynamic">
|
| 71 |
+
<UniqueIdentifier>{8f2f68ba-2b5e-4d2c-92a7-6ece71df74ba}</UniqueIdentifier>
|
| 72 |
+
</Filter>
|
| 73 |
+
<Filter Include="Header Files\legacy">
|
| 74 |
+
<UniqueIdentifier>{742ab76a-e9db-4098-b7dd-38a4aeac845e}</UniqueIdentifier>
|
| 75 |
+
</Filter>
|
| 76 |
+
<Filter Include="Header Files\FF">
|
| 77 |
+
<UniqueIdentifier>{4bcc6bd2-7220-4a5a-95e1-fd08b03a0d34}</UniqueIdentifier>
|
| 78 |
+
</Filter>
|
| 79 |
+
</ItemGroup>
|
| 80 |
+
<ItemGroup>
|
| 81 |
+
<ClCompile Include="..\..\..\moses2\FF\Distortion.cpp">
|
| 82 |
+
<Filter>Source Files\FF</Filter>
|
| 83 |
+
</ClCompile>
|
| 84 |
+
<ClCompile Include="..\..\..\moses2\FF\ExampleStatefulFF.cpp">
|
| 85 |
+
<Filter>Source Files\FF</Filter>
|
| 86 |
+
</ClCompile>
|
| 87 |
+
<ClCompile Include="..\..\..\moses2\FF\ExampleStatelessFF.cpp">
|
| 88 |
+
<Filter>Source Files\FF</Filter>
|
| 89 |
+
</ClCompile>
|
| 90 |
+
<ClCompile Include="..\..\..\moses2\FF\FeatureFunction.cpp">
|
| 91 |
+
<Filter>Source Files\FF</Filter>
|
| 92 |
+
</ClCompile>
|
| 93 |
+
<ClCompile Include="..\..\..\moses2\FF\FeatureFunctions.cpp">
|
| 94 |
+
<Filter>Source Files\FF</Filter>
|
| 95 |
+
</ClCompile>
|
| 96 |
+
<ClCompile Include="..\..\..\moses2\FF\FeatureRegistry.cpp">
|
| 97 |
+
<Filter>Source Files\FF</Filter>
|
| 98 |
+
</ClCompile>
|
| 99 |
+
<ClCompile Include="..\..\..\moses2\FF\FFState.cpp">
|
| 100 |
+
<Filter>Source Files\FF</Filter>
|
| 101 |
+
</ClCompile>
|
| 102 |
+
<ClCompile Include="..\..\..\moses2\FF\PhrasePenalty.cpp">
|
| 103 |
+
<Filter>Source Files\FF</Filter>
|
| 104 |
+
</ClCompile>
|
| 105 |
+
<ClCompile Include="..\..\..\moses2\FF\PointerState.cpp">
|
| 106 |
+
<Filter>Source Files\FF</Filter>
|
| 107 |
+
</ClCompile>
|
| 108 |
+
<ClCompile Include="..\..\..\moses2\FF\StatefulFeatureFunction.cpp">
|
| 109 |
+
<Filter>Source Files\FF</Filter>
|
| 110 |
+
</ClCompile>
|
| 111 |
+
<ClCompile Include="..\..\..\moses2\FF\StatelessFeatureFunction.cpp">
|
| 112 |
+
<Filter>Source Files\FF</Filter>
|
| 113 |
+
</ClCompile>
|
| 114 |
+
<ClCompile Include="..\..\..\moses2\FF\WordPenalty.cpp">
|
| 115 |
+
<Filter>Source Files\FF</Filter>
|
| 116 |
+
</ClCompile>
|
| 117 |
+
<ClCompile Include="..\..\..\moses2\FF\OSM\KenOSM.cpp">
|
| 118 |
+
<Filter>Source Files\FF\OSM</Filter>
|
| 119 |
+
</ClCompile>
|
| 120 |
+
<ClCompile Include="..\..\..\moses2\FF\OSM\OpSequenceModel.cpp">
|
| 121 |
+
<Filter>Source Files\FF\OSM</Filter>
|
| 122 |
+
</ClCompile>
|
| 123 |
+
<ClCompile Include="..\..\..\moses2\FF\OSM\osmHyp.cpp">
|
| 124 |
+
<Filter>Source Files\FF\OSM</Filter>
|
| 125 |
+
</ClCompile>
|
| 126 |
+
<ClCompile Include="..\..\..\moses2\FF\LexicalReordering\BidirectionalReorderingState.cpp">
|
| 127 |
+
<Filter>Source Files\FF\LexicalReordering</Filter>
|
| 128 |
+
</ClCompile>
|
| 129 |
+
<ClCompile Include="..\..\..\moses2\FF\LexicalReordering\HReorderingBackwardState.cpp">
|
| 130 |
+
<Filter>Source Files\FF\LexicalReordering</Filter>
|
| 131 |
+
</ClCompile>
|
| 132 |
+
<ClCompile Include="..\..\..\moses2\FF\LexicalReordering\HReorderingForwardState.cpp">
|
| 133 |
+
<Filter>Source Files\FF\LexicalReordering</Filter>
|
| 134 |
+
</ClCompile>
|
| 135 |
+
<ClCompile Include="..\..\..\moses2\FF\LexicalReordering\LexicalReordering.cpp">
|
| 136 |
+
<Filter>Source Files\FF\LexicalReordering</Filter>
|
| 137 |
+
</ClCompile>
|
| 138 |
+
<ClCompile Include="..\..\..\moses2\FF\LexicalReordering\LRModel.cpp">
|
| 139 |
+
<Filter>Source Files\FF\LexicalReordering</Filter>
|
| 140 |
+
</ClCompile>
|
| 141 |
+
<ClCompile Include="..\..\..\moses2\FF\LexicalReordering\LRState.cpp">
|
| 142 |
+
<Filter>Source Files\FF\LexicalReordering</Filter>
|
| 143 |
+
</ClCompile>
|
| 144 |
+
<ClCompile Include="..\..\..\moses2\FF\LexicalReordering\PhraseBasedReorderingState.cpp">
|
| 145 |
+
<Filter>Source Files\FF\LexicalReordering</Filter>
|
| 146 |
+
</ClCompile>
|
| 147 |
+
<ClCompile Include="..\..\..\moses2\FF\LexicalReordering\ReorderingStack.cpp">
|
| 148 |
+
<Filter>Source Files\FF\LexicalReordering</Filter>
|
| 149 |
+
</ClCompile>
|
| 150 |
+
<ClCompile Include="..\..\..\moses2\legacy\Util2.cpp">
|
| 151 |
+
<Filter>Source Files\legacy</Filter>
|
| 152 |
+
</ClCompile>
|
| 153 |
+
<ClCompile Include="..\..\..\moses2\legacy\Timer.cpp">
|
| 154 |
+
<Filter>Source Files\legacy</Filter>
|
| 155 |
+
</ClCompile>
|
| 156 |
+
<ClCompile Include="..\..\..\moses2\legacy\ThreadPool.cpp">
|
| 157 |
+
<Filter>Source Files\legacy</Filter>
|
| 158 |
+
</ClCompile>
|
| 159 |
+
<ClCompile Include="..\..\..\moses2\legacy\Range.cpp">
|
| 160 |
+
<Filter>Source Files\legacy</Filter>
|
| 161 |
+
</ClCompile>
|
| 162 |
+
<ClCompile Include="..\..\..\moses2\legacy\Parameter.cpp">
|
| 163 |
+
<Filter>Source Files\legacy</Filter>
|
| 164 |
+
</ClCompile>
|
| 165 |
+
<ClCompile Include="..\..\..\moses2\legacy\OutputFileStream.cpp">
|
| 166 |
+
<Filter>Source Files\legacy</Filter>
|
| 167 |
+
</ClCompile>
|
| 168 |
+
<ClCompile Include="..\..\..\moses2\legacy\Matrix.cpp">
|
| 169 |
+
<Filter>Source Files\legacy</Filter>
|
| 170 |
+
</ClCompile>
|
| 171 |
+
<ClCompile Include="..\..\..\moses2\legacy\InputFileStream.cpp">
|
| 172 |
+
<Filter>Source Files\legacy</Filter>
|
| 173 |
+
</ClCompile>
|
| 174 |
+
<ClCompile Include="..\..\..\moses2\legacy\FactorCollection.cpp">
|
| 175 |
+
<Filter>Source Files\legacy</Filter>
|
| 176 |
+
</ClCompile>
|
| 177 |
+
<ClCompile Include="..\..\..\moses2\legacy\Factor.cpp">
|
| 178 |
+
<Filter>Source Files\legacy</Filter>
|
| 179 |
+
</ClCompile>
|
| 180 |
+
<ClCompile Include="..\..\..\moses2\legacy\Bitmaps.cpp">
|
| 181 |
+
<Filter>Source Files\legacy</Filter>
|
| 182 |
+
</ClCompile>
|
| 183 |
+
<ClCompile Include="..\..\..\moses2\legacy\Bitmap.cpp">
|
| 184 |
+
<Filter>Source Files\legacy</Filter>
|
| 185 |
+
</ClCompile>
|
| 186 |
+
<ClCompile Include="..\..\..\moses2\LM\GPULM.cpp">
|
| 187 |
+
<Filter>Source Files\Moses2LM</Filter>
|
| 188 |
+
</ClCompile>
|
| 189 |
+
<ClCompile Include="..\..\..\moses2\LM\KENLM.cpp">
|
| 190 |
+
<Filter>Source Files\Moses2LM</Filter>
|
| 191 |
+
</ClCompile>
|
| 192 |
+
<ClCompile Include="..\..\..\moses2\LM\KENLMBatch.cpp">
|
| 193 |
+
<Filter>Source Files\Moses2LM</Filter>
|
| 194 |
+
</ClCompile>
|
| 195 |
+
<ClCompile Include="..\..\..\moses2\LM\LanguageModel.cpp">
|
| 196 |
+
<Filter>Source Files\Moses2LM</Filter>
|
| 197 |
+
</ClCompile>
|
| 198 |
+
<ClCompile Include="..\..\..\moses2\parameters\AllOptions.cpp">
|
| 199 |
+
<Filter>Source Files\parameters</Filter>
|
| 200 |
+
</ClCompile>
|
| 201 |
+
<ClCompile Include="..\..\..\moses2\parameters\BookkeepingOptions.cpp">
|
| 202 |
+
<Filter>Source Files\parameters</Filter>
|
| 203 |
+
</ClCompile>
|
| 204 |
+
<ClCompile Include="..\..\..\moses2\parameters\ContextParameters.cpp">
|
| 205 |
+
<Filter>Source Files\parameters</Filter>
|
| 206 |
+
</ClCompile>
|
| 207 |
+
<ClCompile Include="..\..\..\moses2\parameters\CubePruningOptions.cpp">
|
| 208 |
+
<Filter>Source Files\parameters</Filter>
|
| 209 |
+
</ClCompile>
|
| 210 |
+
<ClCompile Include="..\..\..\moses2\parameters\InputOptions.cpp">
|
| 211 |
+
<Filter>Source Files\parameters</Filter>
|
| 212 |
+
</ClCompile>
|
| 213 |
+
<ClCompile Include="..\..\..\moses2\parameters\LMBR_Options.cpp">
|
| 214 |
+
<Filter>Source Files\parameters</Filter>
|
| 215 |
+
</ClCompile>
|
| 216 |
+
<ClCompile Include="..\..\..\moses2\parameters\MBR_Options.cpp">
|
| 217 |
+
<Filter>Source Files\parameters</Filter>
|
| 218 |
+
</ClCompile>
|
| 219 |
+
<ClCompile Include="..\..\..\moses2\parameters\NBestOptions.cpp">
|
| 220 |
+
<Filter>Source Files\parameters</Filter>
|
| 221 |
+
</ClCompile>
|
| 222 |
+
<ClCompile Include="..\..\..\moses2\parameters\OOVHandlingOptions.cpp">
|
| 223 |
+
<Filter>Source Files\parameters</Filter>
|
| 224 |
+
</ClCompile>
|
| 225 |
+
<ClCompile Include="..\..\..\moses2\parameters\OptionsBaseClass.cpp">
|
| 226 |
+
<Filter>Source Files\parameters</Filter>
|
| 227 |
+
</ClCompile>
|
| 228 |
+
<ClCompile Include="..\..\..\moses2\parameters\ReorderingOptions.cpp">
|
| 229 |
+
<Filter>Source Files\parameters</Filter>
|
| 230 |
+
</ClCompile>
|
| 231 |
+
<ClCompile Include="..\..\..\moses2\parameters\ReportingOptions.cpp">
|
| 232 |
+
<Filter>Source Files\parameters</Filter>
|
| 233 |
+
</ClCompile>
|
| 234 |
+
<ClCompile Include="..\..\..\moses2\parameters\SearchOptions.cpp">
|
| 235 |
+
<Filter>Source Files\parameters</Filter>
|
| 236 |
+
</ClCompile>
|
| 237 |
+
<ClCompile Include="..\..\..\moses2\parameters\SyntaxOptions.cpp">
|
| 238 |
+
<Filter>Source Files\parameters</Filter>
|
| 239 |
+
</ClCompile>
|
| 240 |
+
<ClCompile Include="..\..\..\moses2\PhraseBased\InputPaths.cpp">
|
| 241 |
+
<Filter>Source Files\PhraseBased</Filter>
|
| 242 |
+
</ClCompile>
|
| 243 |
+
<ClCompile Include="..\..\..\moses2\PhraseBased\Hypothesis.cpp">
|
| 244 |
+
<Filter>Source Files\PhraseBased</Filter>
|
| 245 |
+
</ClCompile>
|
| 246 |
+
<ClCompile Include="..\..\..\moses2\PhraseBased\InputPath.cpp">
|
| 247 |
+
<Filter>Source Files\PhraseBased</Filter>
|
| 248 |
+
</ClCompile>
|
| 249 |
+
<ClCompile Include="..\..\..\moses2\PhraseBased\Manager.cpp">
|
| 250 |
+
<Filter>Source Files\PhraseBased</Filter>
|
| 251 |
+
</ClCompile>
|
| 252 |
+
<ClCompile Include="..\..\..\moses2\PhraseBased\PhraseImpl.cpp">
|
| 253 |
+
<Filter>Source Files\PhraseBased</Filter>
|
| 254 |
+
</ClCompile>
|
| 255 |
+
<ClCompile Include="..\..\..\moses2\PhraseBased\ReorderingConstraint.cpp">
|
| 256 |
+
<Filter>Source Files\PhraseBased</Filter>
|
| 257 |
+
</ClCompile>
|
| 258 |
+
<ClCompile Include="..\..\..\moses2\PhraseBased\Search.cpp">
|
| 259 |
+
<Filter>Source Files\PhraseBased</Filter>
|
| 260 |
+
</ClCompile>
|
| 261 |
+
<ClCompile Include="..\..\..\moses2\PhraseBased\Sentence.cpp">
|
| 262 |
+
<Filter>Source Files\PhraseBased</Filter>
|
| 263 |
+
</ClCompile>
|
| 264 |
+
<ClCompile Include="..\..\..\moses2\PhraseBased\SentenceWithCandidates.cpp">
|
| 265 |
+
<Filter>Source Files\PhraseBased</Filter>
|
| 266 |
+
</ClCompile>
|
| 267 |
+
<ClCompile Include="..\..\..\moses2\PhraseBased\TargetPhraseImpl.cpp">
|
| 268 |
+
<Filter>Source Files\PhraseBased</Filter>
|
| 269 |
+
</ClCompile>
|
| 270 |
+
<ClCompile Include="..\..\..\moses2\PhraseBased\TargetPhrases.cpp">
|
| 271 |
+
<Filter>Source Files\PhraseBased</Filter>
|
| 272 |
+
</ClCompile>
|
| 273 |
+
<ClCompile Include="..\..\..\moses2\PhraseBased\TrellisPath.cpp">
|
| 274 |
+
<Filter>Source Files\PhraseBased</Filter>
|
| 275 |
+
</ClCompile>
|
| 276 |
+
<ClCompile Include="..\..\..\moses2\PhraseBased\Normal\Search.cpp">
|
| 277 |
+
<Filter>Source Files\PhraseBased\Normal</Filter>
|
| 278 |
+
</ClCompile>
|
| 279 |
+
<ClCompile Include="..\..\..\moses2\PhraseBased\Normal\Stack.cpp">
|
| 280 |
+
<Filter>Source Files\PhraseBased\Normal</Filter>
|
| 281 |
+
</ClCompile>
|
| 282 |
+
<ClCompile Include="..\..\..\moses2\PhraseBased\Normal\Stacks.cpp">
|
| 283 |
+
<Filter>Source Files\PhraseBased\Normal</Filter>
|
| 284 |
+
</ClCompile>
|
| 285 |
+
<ClCompile Include="..\..\..\moses2\PhraseBased\CubePruningMiniStack\Misc.cpp">
|
| 286 |
+
<Filter>Source Files\PhraseBased\CubePruningMiniStack</Filter>
|
| 287 |
+
</ClCompile>
|
| 288 |
+
<ClCompile Include="..\..\..\moses2\PhraseBased\CubePruningMiniStack\Search.cpp">
|
| 289 |
+
<Filter>Source Files\PhraseBased\CubePruningMiniStack</Filter>
|
| 290 |
+
</ClCompile>
|
| 291 |
+
<ClCompile Include="..\..\..\moses2\PhraseBased\CubePruningMiniStack\Stack.cpp">
|
| 292 |
+
<Filter>Source Files\PhraseBased\CubePruningMiniStack</Filter>
|
| 293 |
+
</ClCompile>
|
| 294 |
+
<ClCompile Include="..\..\..\probingpt\hash.cpp">
|
| 295 |
+
<Filter>Source Files\ProbingPT</Filter>
|
| 296 |
+
</ClCompile>
|
| 297 |
+
<ClCompile Include="..\..\..\probingpt\InputFileStream.cpp">
|
| 298 |
+
<Filter>Source Files\ProbingPT</Filter>
|
| 299 |
+
</ClCompile>
|
| 300 |
+
<ClCompile Include="..\..\..\probingpt\util.cpp">
|
| 301 |
+
<Filter>Source Files\ProbingPT</Filter>
|
| 302 |
+
</ClCompile>
|
| 303 |
+
<ClCompile Include="..\..\..\probingpt\vocabid.cpp">
|
| 304 |
+
<Filter>Source Files\ProbingPT</Filter>
|
| 305 |
+
</ClCompile>
|
| 306 |
+
<ClCompile Include="..\..\..\moses2\SCFG\ActiveChart.cpp">
|
| 307 |
+
<Filter>Source Files\SCFG</Filter>
|
| 308 |
+
</ClCompile>
|
| 309 |
+
<ClCompile Include="..\..\..\moses2\SCFG\Hypothesis.cpp">
|
| 310 |
+
<Filter>Source Files\SCFG</Filter>
|
| 311 |
+
</ClCompile>
|
| 312 |
+
<ClCompile Include="..\..\..\moses2\SCFG\InputPath.cpp">
|
| 313 |
+
<Filter>Source Files\SCFG</Filter>
|
| 314 |
+
</ClCompile>
|
| 315 |
+
<ClCompile Include="..\..\..\moses2\SCFG\InputPaths.cpp">
|
| 316 |
+
<Filter>Source Files\SCFG</Filter>
|
| 317 |
+
</ClCompile>
|
| 318 |
+
<ClCompile Include="..\..\..\moses2\SCFG\Manager.cpp">
|
| 319 |
+
<Filter>Source Files\SCFG</Filter>
|
| 320 |
+
</ClCompile>
|
| 321 |
+
<ClCompile Include="..\..\..\moses2\SCFG\Misc.cpp">
|
| 322 |
+
<Filter>Source Files\SCFG</Filter>
|
| 323 |
+
</ClCompile>
|
| 324 |
+
<ClCompile Include="..\..\..\moses2\SCFG\PhraseImpl.cpp">
|
| 325 |
+
<Filter>Source Files\SCFG</Filter>
|
| 326 |
+
</ClCompile>
|
| 327 |
+
<ClCompile Include="..\..\..\moses2\SCFG\Sentence.cpp">
|
| 328 |
+
<Filter>Source Files\SCFG</Filter>
|
| 329 |
+
</ClCompile>
|
| 330 |
+
<ClCompile Include="..\..\..\moses2\SCFG\Stack.cpp">
|
| 331 |
+
<Filter>Source Files\SCFG</Filter>
|
| 332 |
+
</ClCompile>
|
| 333 |
+
<ClCompile Include="..\..\..\moses2\SCFG\Stacks.cpp">
|
| 334 |
+
<Filter>Source Files\SCFG</Filter>
|
| 335 |
+
</ClCompile>
|
| 336 |
+
<ClCompile Include="..\..\..\moses2\SCFG\TargetPhraseImpl.cpp">
|
| 337 |
+
<Filter>Source Files\SCFG</Filter>
|
| 338 |
+
</ClCompile>
|
| 339 |
+
<ClCompile Include="..\..\..\moses2\SCFG\TargetPhrases.cpp">
|
| 340 |
+
<Filter>Source Files\SCFG</Filter>
|
| 341 |
+
</ClCompile>
|
| 342 |
+
<ClCompile Include="..\..\..\moses2\SCFG\Word.cpp">
|
| 343 |
+
<Filter>Source Files\SCFG</Filter>
|
| 344 |
+
</ClCompile>
|
| 345 |
+
<ClCompile Include="..\..\..\moses2\SCFG\nbest\KBestExtractor.cpp">
|
| 346 |
+
<Filter>Source Files\SCFG\nbest</Filter>
|
| 347 |
+
</ClCompile>
|
| 348 |
+
<ClCompile Include="..\..\..\moses2\SCFG\nbest\NBest.cpp">
|
| 349 |
+
<Filter>Source Files\SCFG\nbest</Filter>
|
| 350 |
+
</ClCompile>
|
| 351 |
+
<ClCompile Include="..\..\..\moses2\SCFG\nbest\NBestColl.cpp">
|
| 352 |
+
<Filter>Source Files\SCFG\nbest</Filter>
|
| 353 |
+
</ClCompile>
|
| 354 |
+
<ClCompile Include="..\..\..\moses2\SCFG\nbest\NBests.cpp">
|
| 355 |
+
<Filter>Source Files\SCFG\nbest</Filter>
|
| 356 |
+
</ClCompile>
|
| 357 |
+
<ClCompile Include="..\..\..\moses2\TranslationModel\PhraseTable.cpp">
|
| 358 |
+
<Filter>Source Files\TranslationModel</Filter>
|
| 359 |
+
</ClCompile>
|
| 360 |
+
<ClCompile Include="..\..\..\moses2\TranslationModel\UnknownWordPenalty.cpp">
|
| 361 |
+
<Filter>Source Files\TranslationModel</Filter>
|
| 362 |
+
</ClCompile>
|
| 363 |
+
<ClCompile Include="..\..\..\moses2\TranslationModel\Transliteration.cpp">
|
| 364 |
+
<Filter>Source Files\TranslationModel</Filter>
|
| 365 |
+
</ClCompile>
|
| 366 |
+
<ClCompile Include="..\..\..\moses2\TranslationModel\Memory\PhraseTableMemory.cpp">
|
| 367 |
+
<Filter>Source Files\TranslationModel\Memory</Filter>
|
| 368 |
+
</ClCompile>
|
| 369 |
+
<ClCompile Include="..\..\..\util\double-conversion\bignum.cc">
|
| 370 |
+
<Filter>Source Files\util\double-conversion</Filter>
|
| 371 |
+
</ClCompile>
|
| 372 |
+
<ClCompile Include="..\..\..\util\double-conversion\bignum-dtoa.cc">
|
| 373 |
+
<Filter>Source Files\util\double-conversion</Filter>
|
| 374 |
+
</ClCompile>
|
| 375 |
+
<ClCompile Include="..\..\..\util\double-conversion\cached-powers.cc">
|
| 376 |
+
<Filter>Source Files\util\double-conversion</Filter>
|
| 377 |
+
</ClCompile>
|
| 378 |
+
<ClCompile Include="..\..\..\util\double-conversion\diy-fp.cc">
|
| 379 |
+
<Filter>Source Files\util\double-conversion</Filter>
|
| 380 |
+
</ClCompile>
|
| 381 |
+
<ClCompile Include="..\..\..\util\double-conversion\fast-dtoa.cc">
|
| 382 |
+
<Filter>Source Files\util\double-conversion</Filter>
|
| 383 |
+
</ClCompile>
|
| 384 |
+
<ClCompile Include="..\..\..\util\double-conversion\fixed-dtoa.cc">
|
| 385 |
+
<Filter>Source Files\util\double-conversion</Filter>
|
| 386 |
+
</ClCompile>
|
| 387 |
+
<ClCompile Include="..\..\..\util\double-conversion\strtod.cc">
|
| 388 |
+
<Filter>Source Files\util\double-conversion</Filter>
|
| 389 |
+
</ClCompile>
|
| 390 |
+
<ClCompile Include="..\..\..\util\double-conversion\double-conversion.cc">
|
| 391 |
+
<Filter>Source Files\util\double-conversion</Filter>
|
| 392 |
+
</ClCompile>
|
| 393 |
+
<ClCompile Include="..\..\..\util\bit_packing.cc">
|
| 394 |
+
<Filter>Source Files\util</Filter>
|
| 395 |
+
</ClCompile>
|
| 396 |
+
<ClCompile Include="..\..\..\util\ersatz_progress.cc">
|
| 397 |
+
<Filter>Source Files\util</Filter>
|
| 398 |
+
</ClCompile>
|
| 399 |
+
<ClCompile Include="..\..\..\util\exception.cc">
|
| 400 |
+
<Filter>Source Files\util</Filter>
|
| 401 |
+
</ClCompile>
|
| 402 |
+
<ClCompile Include="..\..\..\util\file.cc">
|
| 403 |
+
<Filter>Source Files\util</Filter>
|
| 404 |
+
</ClCompile>
|
| 405 |
+
<ClCompile Include="..\..\..\util\file_piece.cc">
|
| 406 |
+
<Filter>Source Files\util</Filter>
|
| 407 |
+
</ClCompile>
|
| 408 |
+
<ClCompile Include="..\..\..\util\float_to_string.cc">
|
| 409 |
+
<Filter>Source Files\util</Filter>
|
| 410 |
+
</ClCompile>
|
| 411 |
+
<ClCompile Include="..\..\..\util\integer_to_string.cc">
|
| 412 |
+
<Filter>Source Files\util</Filter>
|
| 413 |
+
</ClCompile>
|
| 414 |
+
<ClCompile Include="..\..\..\util\mmap.cc">
|
| 415 |
+
<Filter>Source Files\util</Filter>
|
| 416 |
+
</ClCompile>
|
| 417 |
+
<ClCompile Include="..\..\..\util\murmur_hash.cc">
|
| 418 |
+
<Filter>Source Files\util</Filter>
|
| 419 |
+
</ClCompile>
|
| 420 |
+
<ClCompile Include="..\..\..\util\parallel_read.cc">
|
| 421 |
+
<Filter>Source Files\util</Filter>
|
| 422 |
+
</ClCompile>
|
| 423 |
+
<ClCompile Include="..\..\..\util\pool.cc">
|
| 424 |
+
<Filter>Source Files\util</Filter>
|
| 425 |
+
</ClCompile>
|
| 426 |
+
<ClCompile Include="..\..\..\util\random.cc">
|
| 427 |
+
<Filter>Source Files\util</Filter>
|
| 428 |
+
</ClCompile>
|
| 429 |
+
<ClCompile Include="..\..\..\util\read_compressed.cc">
|
| 430 |
+
<Filter>Source Files\util</Filter>
|
| 431 |
+
</ClCompile>
|
| 432 |
+
<ClCompile Include="..\..\..\util\scoped.cc">
|
| 433 |
+
<Filter>Source Files\util</Filter>
|
| 434 |
+
</ClCompile>
|
| 435 |
+
<ClCompile Include="..\..\..\util\string_piece.cc">
|
| 436 |
+
<Filter>Source Files\util</Filter>
|
| 437 |
+
</ClCompile>
|
| 438 |
+
<ClCompile Include="..\..\..\util\usage.cc">
|
| 439 |
+
<Filter>Source Files\util</Filter>
|
| 440 |
+
</ClCompile>
|
| 441 |
+
<ClCompile Include="..\..\..\moses2\AlignmentInfo.cpp">
|
| 442 |
+
<Filter>Source Files</Filter>
|
| 443 |
+
</ClCompile>
|
| 444 |
+
<ClCompile Include="..\..\..\moses2\AlignmentInfoCollection.cpp">
|
| 445 |
+
<Filter>Source Files</Filter>
|
| 446 |
+
</ClCompile>
|
| 447 |
+
<ClCompile Include="..\..\..\moses2\ArcLists.cpp">
|
| 448 |
+
<Filter>Source Files</Filter>
|
| 449 |
+
</ClCompile>
|
| 450 |
+
<ClCompile Include="..\..\..\moses2\EstimatedScores.cpp">
|
| 451 |
+
<Filter>Source Files</Filter>
|
| 452 |
+
</ClCompile>
|
| 453 |
+
<ClCompile Include="..\..\..\moses2\HypothesisBase.cpp">
|
| 454 |
+
<Filter>Source Files</Filter>
|
| 455 |
+
</ClCompile>
|
| 456 |
+
<ClCompile Include="..\..\..\moses2\HypothesisColl.cpp">
|
| 457 |
+
<Filter>Source Files</Filter>
|
| 458 |
+
</ClCompile>
|
| 459 |
+
<ClCompile Include="..\..\..\moses2\InputPathBase.cpp">
|
| 460 |
+
<Filter>Source Files</Filter>
|
| 461 |
+
</ClCompile>
|
| 462 |
+
<ClCompile Include="..\..\..\moses2\InputPathsBase.cpp">
|
| 463 |
+
<Filter>Source Files</Filter>
|
| 464 |
+
</ClCompile>
|
| 465 |
+
<ClCompile Include="..\..\..\moses2\InputType.cpp">
|
| 466 |
+
<Filter>Source Files</Filter>
|
| 467 |
+
</ClCompile>
|
| 468 |
+
<ClCompile Include="..\..\..\moses2\ManagerBase.cpp">
|
| 469 |
+
<Filter>Source Files</Filter>
|
| 470 |
+
</ClCompile>
|
| 471 |
+
<ClCompile Include="..\..\..\moses2\MemPool.cpp">
|
| 472 |
+
<Filter>Source Files</Filter>
|
| 473 |
+
</ClCompile>
|
| 474 |
+
<ClCompile Include="..\..\..\moses2\Phrase.cpp">
|
| 475 |
+
<Filter>Source Files</Filter>
|
| 476 |
+
</ClCompile>
|
| 477 |
+
<ClCompile Include="..\..\..\moses2\pugixml.cpp">
|
| 478 |
+
<Filter>Source Files</Filter>
|
| 479 |
+
</ClCompile>
|
| 480 |
+
<ClCompile Include="..\..\..\moses2\Recycler.cpp">
|
| 481 |
+
<Filter>Source Files</Filter>
|
| 482 |
+
</ClCompile>
|
| 483 |
+
<ClCompile Include="..\..\..\moses2\Scores.cpp">
|
| 484 |
+
<Filter>Source Files</Filter>
|
| 485 |
+
</ClCompile>
|
| 486 |
+
<ClCompile Include="..\..\..\moses2\System.cpp">
|
| 487 |
+
<Filter>Source Files</Filter>
|
| 488 |
+
</ClCompile>
|
| 489 |
+
<ClCompile Include="..\..\..\moses2\TargetPhrase.cpp">
|
| 490 |
+
<Filter>Source Files</Filter>
|
| 491 |
+
</ClCompile>
|
| 492 |
+
<ClCompile Include="..\..\..\moses2\TranslationTask.cpp">
|
| 493 |
+
<Filter>Source Files</Filter>
|
| 494 |
+
</ClCompile>
|
| 495 |
+
<ClCompile Include="..\..\..\moses2\TrellisPaths.cpp">
|
| 496 |
+
<Filter>Source Files</Filter>
|
| 497 |
+
</ClCompile>
|
| 498 |
+
<ClCompile Include="..\..\..\moses2\TypeDef.cpp">
|
| 499 |
+
<Filter>Source Files</Filter>
|
| 500 |
+
</ClCompile>
|
| 501 |
+
<ClCompile Include="..\..\..\moses2\Vector.cpp">
|
| 502 |
+
<Filter>Source Files</Filter>
|
| 503 |
+
</ClCompile>
|
| 504 |
+
<ClCompile Include="..\..\..\moses2\Weights.cpp">
|
| 505 |
+
<Filter>Source Files</Filter>
|
| 506 |
+
</ClCompile>
|
| 507 |
+
<ClCompile Include="..\..\..\moses2\Word.cpp">
|
| 508 |
+
<Filter>Source Files</Filter>
|
| 509 |
+
</ClCompile>
|
| 510 |
+
<ClCompile Include="..\..\..\moses2\SubPhrase.cpp">
|
| 511 |
+
<Filter>Source Files</Filter>
|
| 512 |
+
</ClCompile>
|
| 513 |
+
<ClCompile Include="..\..\..\lm\bhiksha.cc">
|
| 514 |
+
<Filter>Source Files\lm</Filter>
|
| 515 |
+
</ClCompile>
|
| 516 |
+
<ClCompile Include="..\..\..\lm\binary_format.cc">
|
| 517 |
+
<Filter>Source Files\lm</Filter>
|
| 518 |
+
</ClCompile>
|
| 519 |
+
<ClCompile Include="..\..\..\lm\config.cc">
|
| 520 |
+
<Filter>Source Files\lm</Filter>
|
| 521 |
+
</ClCompile>
|
| 522 |
+
<ClCompile Include="..\..\..\lm\lm_exception.cc">
|
| 523 |
+
<Filter>Source Files\lm</Filter>
|
| 524 |
+
</ClCompile>
|
| 525 |
+
<ClCompile Include="..\..\..\lm\model.cc">
|
| 526 |
+
<Filter>Source Files\lm</Filter>
|
| 527 |
+
</ClCompile>
|
| 528 |
+
<ClCompile Include="..\..\..\lm\quantize.cc">
|
| 529 |
+
<Filter>Source Files\lm</Filter>
|
| 530 |
+
</ClCompile>
|
| 531 |
+
<ClCompile Include="..\..\..\lm\read_arpa.cc">
|
| 532 |
+
<Filter>Source Files\lm</Filter>
|
| 533 |
+
</ClCompile>
|
| 534 |
+
<ClCompile Include="..\..\..\lm\search_hashed.cc">
|
| 535 |
+
<Filter>Source Files\lm</Filter>
|
| 536 |
+
</ClCompile>
|
| 537 |
+
<ClCompile Include="..\..\..\lm\search_trie.cc">
|
| 538 |
+
<Filter>Source Files\lm</Filter>
|
| 539 |
+
</ClCompile>
|
| 540 |
+
<ClCompile Include="..\..\..\lm\sizes.cc">
|
| 541 |
+
<Filter>Source Files\lm</Filter>
|
| 542 |
+
</ClCompile>
|
| 543 |
+
<ClCompile Include="..\..\..\lm\trie.cc">
|
| 544 |
+
<Filter>Source Files\lm</Filter>
|
| 545 |
+
</ClCompile>
|
| 546 |
+
<ClCompile Include="..\..\..\lm\trie_sort.cc">
|
| 547 |
+
<Filter>Source Files\lm</Filter>
|
| 548 |
+
</ClCompile>
|
| 549 |
+
<ClCompile Include="..\..\..\lm\value_build.cc">
|
| 550 |
+
<Filter>Source Files\lm</Filter>
|
| 551 |
+
</ClCompile>
|
| 552 |
+
<ClCompile Include="..\..\..\lm\virtual_interface.cc">
|
| 553 |
+
<Filter>Source Files\lm</Filter>
|
| 554 |
+
</ClCompile>
|
| 555 |
+
<ClCompile Include="..\..\..\lm\vocab.cc">
|
| 556 |
+
<Filter>Source Files\lm</Filter>
|
| 557 |
+
</ClCompile>
|
| 558 |
+
<ClCompile Include="..\..\..\moses2\Moses2Wrapper.cpp">
|
| 559 |
+
<Filter>Source Files</Filter>
|
| 560 |
+
</ClCompile>
|
| 561 |
+
<ClCompile Include="..\..\..\moses2\parameters\ServerOptions.cpp">
|
| 562 |
+
<Filter>Source Files\parameters</Filter>
|
| 563 |
+
</ClCompile>
|
| 564 |
+
<ClCompile Include="..\..\..\moses2\TranslationModel\Dynamic\DynamicPhraseTable.cpp">
|
| 565 |
+
<Filter>Source Files\TranslationModel\Dynamic</Filter>
|
| 566 |
+
</ClCompile>
|
| 567 |
+
<ClCompile Include="..\..\..\moses2\DLLEntryApi.cpp">
|
| 568 |
+
<Filter>Source Files</Filter>
|
| 569 |
+
</ClCompile>
|
| 570 |
+
<ClCompile Include="..\..\..\moses2\TranslationModel\ProbingPT.cpp">
|
| 571 |
+
<Filter>Source Files\TranslationModel</Filter>
|
| 572 |
+
</ClCompile>
|
| 573 |
+
<ClCompile Include="..\..\..\probingpt\querying.cpp">
|
| 574 |
+
<Filter>Source Files\ProbingPT</Filter>
|
| 575 |
+
</ClCompile>
|
| 576 |
+
<ClCompile Include="..\..\..\probingpt\probing_hash_utils.cpp">
|
| 577 |
+
<Filter>Source Files\ProbingPT</Filter>
|
| 578 |
+
</ClCompile>
|
| 579 |
+
<ClCompile Include="..\..\..\moses2\legacy\OutputCollector.cpp">
|
| 580 |
+
<Filter>Source Files\legacy</Filter>
|
| 581 |
+
</ClCompile>
|
| 582 |
+
</ItemGroup>
|
| 583 |
+
<ItemGroup>
|
| 584 |
+
<None Include="packages.config" />
|
| 585 |
+
</ItemGroup>
|
| 586 |
+
<ItemGroup>
|
| 587 |
+
<ClInclude Include="..\..\..\moses2\TranslationModel\ProbingPT.h">
|
| 588 |
+
<Filter>Source Files\TranslationModel</Filter>
|
| 589 |
+
</ClInclude>
|
| 590 |
+
<ClInclude Include="..\..\..\probingpt\querying.h">
|
| 591 |
+
<Filter>Source Files\ProbingPT</Filter>
|
| 592 |
+
</ClInclude>
|
| 593 |
+
<ClInclude Include="..\..\..\probingpt\probing_hash_utils.h">
|
| 594 |
+
<Filter>Source Files\ProbingPT</Filter>
|
| 595 |
+
</ClInclude>
|
| 596 |
+
<ClInclude Include="..\..\..\moses2\AlignmentInfo.h">
|
| 597 |
+
<Filter>Header Files</Filter>
|
| 598 |
+
</ClInclude>
|
| 599 |
+
<ClInclude Include="..\..\..\moses2\AlignmentInfoCollection.h">
|
| 600 |
+
<Filter>Header Files</Filter>
|
| 601 |
+
</ClInclude>
|
| 602 |
+
<ClInclude Include="..\..\..\moses2\ArcLists.h">
|
| 603 |
+
<Filter>Header Files</Filter>
|
| 604 |
+
</ClInclude>
|
| 605 |
+
<ClInclude Include="..\..\..\moses2\Array.h">
|
| 606 |
+
<Filter>Header Files</Filter>
|
| 607 |
+
</ClInclude>
|
| 608 |
+
<ClInclude Include="..\..\..\moses2\EstimatedScores.h">
|
| 609 |
+
<Filter>Header Files</Filter>
|
| 610 |
+
</ClInclude>
|
| 611 |
+
<ClInclude Include="..\..\..\moses2\HypothesisBase.h">
|
| 612 |
+
<Filter>Header Files</Filter>
|
| 613 |
+
</ClInclude>
|
| 614 |
+
<ClInclude Include="..\..\..\moses2\HypothesisColl.h">
|
| 615 |
+
<Filter>Header Files</Filter>
|
| 616 |
+
</ClInclude>
|
| 617 |
+
<ClInclude Include="..\..\..\moses2\InputPathBase.h">
|
| 618 |
+
<Filter>Header Files</Filter>
|
| 619 |
+
</ClInclude>
|
| 620 |
+
<ClInclude Include="..\..\..\moses2\InputPathsBase.h">
|
| 621 |
+
<Filter>Header Files</Filter>
|
| 622 |
+
</ClInclude>
|
| 623 |
+
<ClInclude Include="..\..\..\moses2\InputType.h">
|
| 624 |
+
<Filter>Header Files</Filter>
|
| 625 |
+
</ClInclude>
|
| 626 |
+
<ClInclude Include="..\..\..\moses2\Main.h">
|
| 627 |
+
<Filter>Header Files</Filter>
|
| 628 |
+
</ClInclude>
|
| 629 |
+
<ClInclude Include="..\..\..\moses2\ManagerBase.h">
|
| 630 |
+
<Filter>Header Files</Filter>
|
| 631 |
+
</ClInclude>
|
| 632 |
+
<ClInclude Include="..\..\..\moses2\MemPool.h">
|
| 633 |
+
<Filter>Header Files</Filter>
|
| 634 |
+
</ClInclude>
|
| 635 |
+
<ClInclude Include="..\..\..\moses2\MemPoolAllocator.h">
|
| 636 |
+
<Filter>Header Files</Filter>
|
| 637 |
+
</ClInclude>
|
| 638 |
+
<ClInclude Include="..\..\..\moses2\Moses2Wrapper.h">
|
| 639 |
+
<Filter>Header Files</Filter>
|
| 640 |
+
</ClInclude>
|
| 641 |
+
<ClInclude Include="..\..\..\moses2\Phrase.h">
|
| 642 |
+
<Filter>Header Files</Filter>
|
| 643 |
+
</ClInclude>
|
| 644 |
+
<ClInclude Include="..\..\..\moses2\PhraseImplTemplate.h">
|
| 645 |
+
<Filter>Header Files</Filter>
|
| 646 |
+
</ClInclude>
|
| 647 |
+
<ClInclude Include="..\..\..\moses2\pugiconfig.hpp">
|
| 648 |
+
<Filter>Header Files</Filter>
|
| 649 |
+
</ClInclude>
|
| 650 |
+
<ClInclude Include="..\..\..\moses2\pugixml.hpp">
|
| 651 |
+
<Filter>Header Files</Filter>
|
| 652 |
+
</ClInclude>
|
| 653 |
+
<ClInclude Include="..\..\..\moses2\Recycler.h">
|
| 654 |
+
<Filter>Header Files</Filter>
|
| 655 |
+
</ClInclude>
|
| 656 |
+
<ClInclude Include="..\..\..\moses2\Scores.h">
|
| 657 |
+
<Filter>Header Files</Filter>
|
| 658 |
+
</ClInclude>
|
| 659 |
+
<ClInclude Include="..\..\..\moses2\SubPhrase.h">
|
| 660 |
+
<Filter>Header Files</Filter>
|
| 661 |
+
</ClInclude>
|
| 662 |
+
<ClInclude Include="..\..\..\moses2\System.h">
|
| 663 |
+
<Filter>Header Files</Filter>
|
| 664 |
+
</ClInclude>
|
| 665 |
+
<ClInclude Include="..\..\..\moses2\TargetPhrase.h">
|
| 666 |
+
<Filter>Header Files</Filter>
|
| 667 |
+
</ClInclude>
|
| 668 |
+
<ClInclude Include="..\..\..\moses2\TranslationTask.h">
|
| 669 |
+
<Filter>Header Files</Filter>
|
| 670 |
+
</ClInclude>
|
| 671 |
+
<ClInclude Include="..\..\..\moses2\TrellisPaths.h">
|
| 672 |
+
<Filter>Header Files</Filter>
|
| 673 |
+
</ClInclude>
|
| 674 |
+
<ClInclude Include="..\..\..\moses2\TypeDef.h">
|
| 675 |
+
<Filter>Header Files</Filter>
|
| 676 |
+
</ClInclude>
|
| 677 |
+
<ClInclude Include="..\..\..\moses2\Vector.h">
|
| 678 |
+
<Filter>Header Files</Filter>
|
| 679 |
+
</ClInclude>
|
| 680 |
+
<ClInclude Include="..\..\..\moses2\Weights.h">
|
| 681 |
+
<Filter>Header Files</Filter>
|
| 682 |
+
</ClInclude>
|
| 683 |
+
<ClInclude Include="..\..\..\moses2\Word.h">
|
| 684 |
+
<Filter>Header Files</Filter>
|
| 685 |
+
</ClInclude>
|
| 686 |
+
<ClInclude Include="..\..\..\moses2\legacy\Bitmap.h">
|
| 687 |
+
<Filter>Header Files\legacy</Filter>
|
| 688 |
+
</ClInclude>
|
| 689 |
+
<ClInclude Include="..\..\..\moses2\legacy\Bitmaps.h">
|
| 690 |
+
<Filter>Header Files\legacy</Filter>
|
| 691 |
+
</ClInclude>
|
| 692 |
+
<ClInclude Include="..\..\..\moses2\legacy\Factor.h">
|
| 693 |
+
<Filter>Header Files\legacy</Filter>
|
| 694 |
+
</ClInclude>
|
| 695 |
+
<ClInclude Include="..\..\..\moses2\legacy\FactorCollection.h">
|
| 696 |
+
<Filter>Header Files\legacy</Filter>
|
| 697 |
+
</ClInclude>
|
| 698 |
+
<ClInclude Include="..\..\..\moses2\legacy\gzfilebuf.h">
|
| 699 |
+
<Filter>Header Files\legacy</Filter>
|
| 700 |
+
</ClInclude>
|
| 701 |
+
<ClInclude Include="..\..\..\moses2\legacy\InputFileStream.h">
|
| 702 |
+
<Filter>Header Files\legacy</Filter>
|
| 703 |
+
</ClInclude>
|
| 704 |
+
<ClInclude Include="..\..\..\moses2\legacy\Matrix.h">
|
| 705 |
+
<Filter>Header Files\legacy</Filter>
|
| 706 |
+
</ClInclude>
|
| 707 |
+
<ClInclude Include="..\..\..\moses2\legacy\OutputCollector.h">
|
| 708 |
+
<Filter>Header Files\legacy</Filter>
|
| 709 |
+
</ClInclude>
|
| 710 |
+
<ClInclude Include="..\..\..\moses2\legacy\OutputFileStream.h">
|
| 711 |
+
<Filter>Header Files\legacy</Filter>
|
| 712 |
+
</ClInclude>
|
| 713 |
+
<ClInclude Include="..\..\..\moses2\legacy\Parameter.h">
|
| 714 |
+
<Filter>Header Files\legacy</Filter>
|
| 715 |
+
</ClInclude>
|
| 716 |
+
<ClInclude Include="..\..\..\moses2\legacy\Range.h">
|
| 717 |
+
<Filter>Header Files\legacy</Filter>
|
| 718 |
+
</ClInclude>
|
| 719 |
+
<ClInclude Include="..\..\..\moses2\legacy\ThreadPool.h">
|
| 720 |
+
<Filter>Header Files\legacy</Filter>
|
| 721 |
+
</ClInclude>
|
| 722 |
+
<ClInclude Include="..\..\..\moses2\legacy\Timer.h">
|
| 723 |
+
<Filter>Header Files\legacy</Filter>
|
| 724 |
+
</ClInclude>
|
| 725 |
+
<ClInclude Include="..\..\..\moses2\legacy\Util2.h">
|
| 726 |
+
<Filter>Header Files\legacy</Filter>
|
| 727 |
+
</ClInclude>
|
| 728 |
+
<ClInclude Include="..\..\..\moses2\legacy\xmlrpc-c.h">
|
| 729 |
+
<Filter>Header Files\legacy</Filter>
|
| 730 |
+
</ClInclude>
|
| 731 |
+
<ClInclude Include="..\..\..\moses2\FF\Distortion.h">
|
| 732 |
+
<Filter>Header Files\FF</Filter>
|
| 733 |
+
</ClInclude>
|
| 734 |
+
<ClInclude Include="..\..\..\moses2\FF\ExampleStatefulFF.h">
|
| 735 |
+
<Filter>Header Files\FF</Filter>
|
| 736 |
+
</ClInclude>
|
| 737 |
+
<ClInclude Include="..\..\..\moses2\FF\ExampleStatelessFF.h">
|
| 738 |
+
<Filter>Header Files\FF</Filter>
|
| 739 |
+
</ClInclude>
|
| 740 |
+
<ClInclude Include="..\..\..\moses2\FF\FeatureFunction.h">
|
| 741 |
+
<Filter>Header Files\FF</Filter>
|
| 742 |
+
</ClInclude>
|
| 743 |
+
<ClInclude Include="..\..\..\moses2\FF\FeatureFunctions.h">
|
| 744 |
+
<Filter>Header Files\FF</Filter>
|
| 745 |
+
</ClInclude>
|
| 746 |
+
<ClInclude Include="..\..\..\moses2\FF\FeatureRegistry.h">
|
| 747 |
+
<Filter>Header Files\FF</Filter>
|
| 748 |
+
</ClInclude>
|
| 749 |
+
<ClInclude Include="..\..\..\moses2\FF\FFState.h">
|
| 750 |
+
<Filter>Header Files\FF</Filter>
|
| 751 |
+
</ClInclude>
|
| 752 |
+
<ClInclude Include="..\..\..\moses2\FF\PhrasePenalty.h">
|
| 753 |
+
<Filter>Header Files\FF</Filter>
|
| 754 |
+
</ClInclude>
|
| 755 |
+
<ClInclude Include="..\..\..\moses2\FF\PointerState.h">
|
| 756 |
+
<Filter>Header Files\FF</Filter>
|
| 757 |
+
</ClInclude>
|
| 758 |
+
<ClInclude Include="..\..\..\moses2\FF\StatefulFeatureFunction.h">
|
| 759 |
+
<Filter>Header Files\FF</Filter>
|
| 760 |
+
</ClInclude>
|
| 761 |
+
<ClInclude Include="..\..\..\moses2\FF\StatelessFeatureFunction.h">
|
| 762 |
+
<Filter>Header Files\FF</Filter>
|
| 763 |
+
</ClInclude>
|
| 764 |
+
<ClInclude Include="..\..\..\moses2\FF\WordPenalty.h">
|
| 765 |
+
<Filter>Header Files\FF</Filter>
|
| 766 |
+
</ClInclude>
|
| 767 |
+
</ItemGroup>
|
| 768 |
+
</Project>
|
mosesdecoder/contrib/other-builds/probingpt/.cproject
ADDED
|
@@ -0,0 +1,126 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
| 2 |
+
<?fileVersion 4.0.0?><cproject storage_type_id="org.eclipse.cdt.core.XmlProjectDescriptionStorage">
|
| 3 |
+
<storageModule moduleId="org.eclipse.cdt.core.settings">
|
| 4 |
+
<cconfiguration id="cdt.managedbuild.config.gnu.cross.lib.debug.1390723927">
|
| 5 |
+
<storageModule buildSystemId="org.eclipse.cdt.managedbuilder.core.configurationDataProvider" id="cdt.managedbuild.config.gnu.cross.lib.debug.1390723927" moduleId="org.eclipse.cdt.core.settings" name="Debug">
|
| 6 |
+
<externalSettings>
|
| 7 |
+
<externalSetting>
|
| 8 |
+
<entry flags="VALUE_WORKSPACE_PATH" kind="includePath" name="/probingpt"/>
|
| 9 |
+
<entry flags="VALUE_WORKSPACE_PATH" kind="libraryPath" name="/probingpt/Debug"/>
|
| 10 |
+
<entry flags="RESOLVED" kind="libraryFile" name="probingpt" srcPrefixMapping="" srcRootPath=""/>
|
| 11 |
+
</externalSetting>
|
| 12 |
+
</externalSettings>
|
| 13 |
+
<extensions>
|
| 14 |
+
<extension id="org.eclipse.cdt.core.GNU_ELF" point="org.eclipse.cdt.core.BinaryParser"/>
|
| 15 |
+
<extension id="org.eclipse.cdt.core.GASErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
|
| 16 |
+
<extension id="org.eclipse.cdt.core.GmakeErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
|
| 17 |
+
<extension id="org.eclipse.cdt.core.CWDLocator" point="org.eclipse.cdt.core.ErrorParser"/>
|
| 18 |
+
<extension id="org.eclipse.cdt.core.GCCErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
|
| 19 |
+
</extensions>
|
| 20 |
+
</storageModule>
|
| 21 |
+
<storageModule moduleId="cdtBuildSystem" version="4.0.0">
|
| 22 |
+
<configuration artifactExtension="a" artifactName="${ProjName}" buildArtefactType="org.eclipse.cdt.build.core.buildArtefactType.staticLib" buildProperties="org.eclipse.cdt.build.core.buildArtefactType=org.eclipse.cdt.build.core.buildArtefactType.staticLib,org.eclipse.cdt.build.core.buildType=org.eclipse.cdt.build.core.buildType.debug" cleanCommand="rm -rf" description="" id="cdt.managedbuild.config.gnu.cross.lib.debug.1390723927" name="Debug" parent="cdt.managedbuild.config.gnu.cross.lib.debug">
|
| 23 |
+
<folderInfo id="cdt.managedbuild.config.gnu.cross.lib.debug.1390723927." name="/" resourcePath="">
|
| 24 |
+
<toolChain id="cdt.managedbuild.toolchain.gnu.base.1892383378" name="Linux GCC" superClass="cdt.managedbuild.toolchain.gnu.base">
|
| 25 |
+
<targetPlatform archList="all" binaryParser="org.eclipse.cdt.core.GNU_ELF" id="cdt.managedbuild.target.gnu.platform.base.1942384585" name="Debug Platform" osList="linux,hpux,aix,qnx" superClass="cdt.managedbuild.target.gnu.platform.base"/>
|
| 26 |
+
<builder buildPath="${workspace_loc:/probingpt}/Debug" id="cdt.managedbuild.target.gnu.builder.base.572967082" keepEnvironmentInBuildfile="false" name="Gnu Make Builder" parallelBuildOn="true" parallelizationNumber="optimal" superClass="cdt.managedbuild.target.gnu.builder.base"/>
|
| 27 |
+
<tool id="cdt.managedbuild.tool.gnu.archiver.base.1343809814" name="GCC Archiver" superClass="cdt.managedbuild.tool.gnu.archiver.base"/>
|
| 28 |
+
<tool id="cdt.managedbuild.tool.gnu.cpp.compiler.base.626776252" name="GCC C++ Compiler" superClass="cdt.managedbuild.tool.gnu.cpp.compiler.base">
|
| 29 |
+
<option id="gnu.cpp.compiler.option.include.paths.1735842464" name="Include paths (-I)" superClass="gnu.cpp.compiler.option.include.paths" useByScannerDiscovery="false" valueType="includePath">
|
| 30 |
+
<listOptionValue builtIn="false" value=""${workspace_loc}/../../boost/include""/>
|
| 31 |
+
<listOptionValue builtIn="false" value=""${workspace_loc}/../../""/>
|
| 32 |
+
</option>
|
| 33 |
+
<option id="gnu.cpp.compiler.option.optimization.level.1494203148" name="Optimization Level" superClass="gnu.cpp.compiler.option.optimization.level" useByScannerDiscovery="false" value="gnu.cpp.compiler.optimization.level.none" valueType="enumerated"/>
|
| 34 |
+
<option id="gnu.cpp.compiler.option.debugging.level.1379550456" name="Debug Level" superClass="gnu.cpp.compiler.option.debugging.level" useByScannerDiscovery="false" value="gnu.cpp.compiler.debugging.level.max" valueType="enumerated"/>
|
| 35 |
+
<inputType id="cdt.managedbuild.tool.gnu.cpp.compiler.input.668635091" superClass="cdt.managedbuild.tool.gnu.cpp.compiler.input"/>
|
| 36 |
+
</tool>
|
| 37 |
+
<tool id="cdt.managedbuild.tool.gnu.c.compiler.base.1738258831" name="GCC C Compiler" superClass="cdt.managedbuild.tool.gnu.c.compiler.base">
|
| 38 |
+
<option defaultValue="gnu.c.optimization.level.none" id="gnu.c.compiler.option.optimization.level.1689436297" name="Optimization Level" superClass="gnu.c.compiler.option.optimization.level" useByScannerDiscovery="false" valueType="enumerated"/>
|
| 39 |
+
<option id="gnu.c.compiler.option.debugging.level.1426288213" name="Debug Level" superClass="gnu.c.compiler.option.debugging.level" useByScannerDiscovery="false" value="gnu.c.debugging.level.max" valueType="enumerated"/>
|
| 40 |
+
<inputType id="cdt.managedbuild.tool.gnu.c.compiler.input.2143022963" superClass="cdt.managedbuild.tool.gnu.c.compiler.input"/>
|
| 41 |
+
</tool>
|
| 42 |
+
<tool id="cdt.managedbuild.tool.gnu.c.linker.base.1956788158" name="GCC C Linker" superClass="cdt.managedbuild.tool.gnu.c.linker.base"/>
|
| 43 |
+
<tool id="cdt.managedbuild.tool.gnu.cpp.linker.base.1641139310" name="GCC C++ Linker" superClass="cdt.managedbuild.tool.gnu.cpp.linker.base"/>
|
| 44 |
+
<tool id="cdt.managedbuild.tool.gnu.assembler.base.2002874145" name="GCC Assembler" superClass="cdt.managedbuild.tool.gnu.assembler.base">
|
| 45 |
+
<inputType id="cdt.managedbuild.tool.gnu.assembler.input.1872716138" superClass="cdt.managedbuild.tool.gnu.assembler.input"/>
|
| 46 |
+
</tool>
|
| 47 |
+
</toolChain>
|
| 48 |
+
</folderInfo>
|
| 49 |
+
</configuration>
|
| 50 |
+
</storageModule>
|
| 51 |
+
<storageModule moduleId="org.eclipse.cdt.core.externalSettings"/>
|
| 52 |
+
</cconfiguration>
|
| 53 |
+
<cconfiguration id="cdt.managedbuild.config.gnu.cross.lib.release.890240571">
|
| 54 |
+
<storageModule buildSystemId="org.eclipse.cdt.managedbuilder.core.configurationDataProvider" id="cdt.managedbuild.config.gnu.cross.lib.release.890240571" moduleId="org.eclipse.cdt.core.settings" name="Release">
|
| 55 |
+
<externalSettings>
|
| 56 |
+
<externalSetting>
|
| 57 |
+
<entry flags="VALUE_WORKSPACE_PATH" kind="includePath" name="/probingpt"/>
|
| 58 |
+
<entry flags="VALUE_WORKSPACE_PATH" kind="libraryPath" name="/probingpt/Release"/>
|
| 59 |
+
<entry flags="RESOLVED" kind="libraryFile" name="probingpt" srcPrefixMapping="" srcRootPath=""/>
|
| 60 |
+
</externalSetting>
|
| 61 |
+
</externalSettings>
|
| 62 |
+
<extensions>
|
| 63 |
+
<extension id="org.eclipse.cdt.core.ELF" point="org.eclipse.cdt.core.BinaryParser"/>
|
| 64 |
+
<extension id="org.eclipse.cdt.core.GASErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
|
| 65 |
+
<extension id="org.eclipse.cdt.core.GmakeErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
|
| 66 |
+
<extension id="org.eclipse.cdt.core.CWDLocator" point="org.eclipse.cdt.core.ErrorParser"/>
|
| 67 |
+
<extension id="org.eclipse.cdt.core.GCCErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
|
| 68 |
+
</extensions>
|
| 69 |
+
</storageModule>
|
| 70 |
+
<storageModule moduleId="cdtBuildSystem" version="4.0.0">
|
| 71 |
+
<configuration artifactExtension="a" artifactName="${ProjName}" buildArtefactType="org.eclipse.cdt.build.core.buildArtefactType.staticLib" buildProperties="org.eclipse.cdt.build.core.buildArtefactType=org.eclipse.cdt.build.core.buildArtefactType.staticLib,org.eclipse.cdt.build.core.buildType=org.eclipse.cdt.build.core.buildType.release" cleanCommand="rm -rf" description="" id="cdt.managedbuild.config.gnu.cross.lib.release.890240571" name="Release" parent="cdt.managedbuild.config.gnu.cross.lib.release">
|
| 72 |
+
<folderInfo id="cdt.managedbuild.config.gnu.cross.lib.release.890240571." name="/" resourcePath="">
|
| 73 |
+
<toolChain id="cdt.managedbuild.toolchain.gnu.cross.lib.release.885632145" name="Cross GCC" superClass="cdt.managedbuild.toolchain.gnu.cross.lib.release">
|
| 74 |
+
<targetPlatform archList="all" binaryParser="org.eclipse.cdt.core.ELF" id="cdt.managedbuild.targetPlatform.gnu.cross.1366680617" isAbstract="false" osList="all" superClass="cdt.managedbuild.targetPlatform.gnu.cross"/>
|
| 75 |
+
<builder buildPath="${workspace_loc:/probingpt}/Release" id="cdt.managedbuild.builder.gnu.cross.191907712" keepEnvironmentInBuildfile="false" managedBuildOn="true" name="Gnu Make Builder" superClass="cdt.managedbuild.builder.gnu.cross"/>
|
| 76 |
+
<tool id="cdt.managedbuild.tool.gnu.cross.c.compiler.808139639" name="Cross GCC Compiler" superClass="cdt.managedbuild.tool.gnu.cross.c.compiler">
|
| 77 |
+
<option defaultValue="gnu.c.optimization.level.most" id="gnu.c.compiler.option.optimization.level.224210565" name="Optimization Level" superClass="gnu.c.compiler.option.optimization.level" useByScannerDiscovery="false" valueType="enumerated"/>
|
| 78 |
+
<option id="gnu.c.compiler.option.debugging.level.53109509" name="Debug Level" superClass="gnu.c.compiler.option.debugging.level" useByScannerDiscovery="false" value="gnu.c.debugging.level.none" valueType="enumerated"/>
|
| 79 |
+
<inputType id="cdt.managedbuild.tool.gnu.c.compiler.input.474846340" superClass="cdt.managedbuild.tool.gnu.c.compiler.input"/>
|
| 80 |
+
</tool>
|
| 81 |
+
<tool id="cdt.managedbuild.tool.gnu.cross.cpp.compiler.825247044" name="Cross G++ Compiler" superClass="cdt.managedbuild.tool.gnu.cross.cpp.compiler">
|
| 82 |
+
<option id="gnu.cpp.compiler.option.optimization.level.1484316632" name="Optimization Level" superClass="gnu.cpp.compiler.option.optimization.level" useByScannerDiscovery="false" value="gnu.cpp.compiler.optimization.level.most" valueType="enumerated"/>
|
| 83 |
+
<option id="gnu.cpp.compiler.option.debugging.level.1585066416" name="Debug Level" superClass="gnu.cpp.compiler.option.debugging.level" useByScannerDiscovery="false" value="gnu.cpp.compiler.debugging.level.none" valueType="enumerated"/>
|
| 84 |
+
<inputType id="cdt.managedbuild.tool.gnu.cpp.compiler.input.149988472" superClass="cdt.managedbuild.tool.gnu.cpp.compiler.input"/>
|
| 85 |
+
</tool>
|
| 86 |
+
<tool id="cdt.managedbuild.tool.gnu.cross.c.linker.1042542443" name="Cross GCC Linker" superClass="cdt.managedbuild.tool.gnu.cross.c.linker"/>
|
| 87 |
+
<tool id="cdt.managedbuild.tool.gnu.cross.cpp.linker.1342788782" name="Cross G++ Linker" superClass="cdt.managedbuild.tool.gnu.cross.cpp.linker"/>
|
| 88 |
+
<tool id="cdt.managedbuild.tool.gnu.cross.archiver.56708033" name="Cross GCC Archiver" superClass="cdt.managedbuild.tool.gnu.cross.archiver"/>
|
| 89 |
+
<tool id="cdt.managedbuild.tool.gnu.cross.assembler.1620829860" name="Cross GCC Assembler" superClass="cdt.managedbuild.tool.gnu.cross.assembler">
|
| 90 |
+
<inputType id="cdt.managedbuild.tool.gnu.assembler.input.1936527691" superClass="cdt.managedbuild.tool.gnu.assembler.input"/>
|
| 91 |
+
</tool>
|
| 92 |
+
</toolChain>
|
| 93 |
+
</folderInfo>
|
| 94 |
+
</configuration>
|
| 95 |
+
</storageModule>
|
| 96 |
+
<storageModule moduleId="org.eclipse.cdt.core.externalSettings"/>
|
| 97 |
+
</cconfiguration>
|
| 98 |
+
</storageModule>
|
| 99 |
+
<storageModule moduleId="cdtBuildSystem" version="4.0.0">
|
| 100 |
+
<project id="probingpt.cdt.managedbuild.target.gnu.cross.lib.1901222999" name="Static Library" projectType="cdt.managedbuild.target.gnu.cross.lib"/>
|
| 101 |
+
</storageModule>
|
| 102 |
+
<storageModule moduleId="scannerConfiguration">
|
| 103 |
+
<autodiscovery enabled="true" problemReportingEnabled="true" selectedProfileId=""/>
|
| 104 |
+
<scannerConfigBuildInfo instanceId="cdt.managedbuild.config.gnu.cross.lib.release.890240571;cdt.managedbuild.config.gnu.cross.lib.release.890240571.;cdt.managedbuild.tool.gnu.cross.cpp.compiler.825247044;cdt.managedbuild.tool.gnu.cpp.compiler.input.149988472">
|
| 105 |
+
<autodiscovery enabled="true" problemReportingEnabled="true" selectedProfileId=""/>
|
| 106 |
+
</scannerConfigBuildInfo>
|
| 107 |
+
<scannerConfigBuildInfo instanceId="cdt.managedbuild.config.gnu.cross.lib.release.890240571;cdt.managedbuild.config.gnu.cross.lib.release.890240571.;cdt.managedbuild.tool.gnu.cross.c.compiler.808139639;cdt.managedbuild.tool.gnu.c.compiler.input.474846340">
|
| 108 |
+
<autodiscovery enabled="true" problemReportingEnabled="true" selectedProfileId=""/>
|
| 109 |
+
</scannerConfigBuildInfo>
|
| 110 |
+
<scannerConfigBuildInfo instanceId="cdt.managedbuild.config.gnu.cross.lib.debug.1390723927;cdt.managedbuild.config.gnu.cross.lib.debug.1390723927.;cdt.managedbuild.tool.gnu.cross.cpp.compiler.1845983140;cdt.managedbuild.tool.gnu.cpp.compiler.input.1147743441">
|
| 111 |
+
<autodiscovery enabled="true" problemReportingEnabled="true" selectedProfileId=""/>
|
| 112 |
+
</scannerConfigBuildInfo>
|
| 113 |
+
<scannerConfigBuildInfo instanceId="cdt.managedbuild.config.gnu.cross.lib.debug.1390723927;cdt.managedbuild.config.gnu.cross.lib.debug.1390723927.;cdt.managedbuild.tool.gnu.cross.c.compiler.728323531;cdt.managedbuild.tool.gnu.c.compiler.input.183186094">
|
| 114 |
+
<autodiscovery enabled="true" problemReportingEnabled="true" selectedProfileId=""/>
|
| 115 |
+
</scannerConfigBuildInfo>
|
| 116 |
+
</storageModule>
|
| 117 |
+
<storageModule moduleId="org.eclipse.cdt.core.LanguageSettingsProviders"/>
|
| 118 |
+
<storageModule moduleId="refreshScope" versionNumber="2">
|
| 119 |
+
<configuration configurationName="Debug">
|
| 120 |
+
<resource resourceType="PROJECT" workspacePath="/probingpt"/>
|
| 121 |
+
</configuration>
|
| 122 |
+
<configuration configurationName="Release">
|
| 123 |
+
<resource resourceType="PROJECT" workspacePath="/probingpt"/>
|
| 124 |
+
</configuration>
|
| 125 |
+
</storageModule>
|
| 126 |
+
</cproject>
|
mosesdecoder/contrib/other-builds/probingpt/.project
ADDED
|
@@ -0,0 +1,34 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
<?xml version="1.0" encoding="UTF-8"?>
|
| 2 |
+
<projectDescription>
|
| 3 |
+
<name>probingpt</name>
|
| 4 |
+
<comment></comment>
|
| 5 |
+
<projects>
|
| 6 |
+
</projects>
|
| 7 |
+
<buildSpec>
|
| 8 |
+
<buildCommand>
|
| 9 |
+
<name>org.eclipse.cdt.managedbuilder.core.genmakebuilder</name>
|
| 10 |
+
<triggers>clean,full,incremental,</triggers>
|
| 11 |
+
<arguments>
|
| 12 |
+
</arguments>
|
| 13 |
+
</buildCommand>
|
| 14 |
+
<buildCommand>
|
| 15 |
+
<name>org.eclipse.cdt.managedbuilder.core.ScannerConfigBuilder</name>
|
| 16 |
+
<triggers>full,incremental,</triggers>
|
| 17 |
+
<arguments>
|
| 18 |
+
</arguments>
|
| 19 |
+
</buildCommand>
|
| 20 |
+
</buildSpec>
|
| 21 |
+
<natures>
|
| 22 |
+
<nature>org.eclipse.cdt.core.cnature</nature>
|
| 23 |
+
<nature>org.eclipse.cdt.core.ccnature</nature>
|
| 24 |
+
<nature>org.eclipse.cdt.managedbuilder.core.managedBuildNature</nature>
|
| 25 |
+
<nature>org.eclipse.cdt.managedbuilder.core.ScannerConfigNature</nature>
|
| 26 |
+
</natures>
|
| 27 |
+
<linkedResources>
|
| 28 |
+
<link>
|
| 29 |
+
<name>probingpt</name>
|
| 30 |
+
<type>2</type>
|
| 31 |
+
<locationURI>PARENT-3-PROJECT_LOC/probingpt</locationURI>
|
| 32 |
+
</link>
|
| 33 |
+
</linkedResources>
|
| 34 |
+
</projectDescription>
|
mosesdecoder/contrib/other-builds/score/.cproject
ADDED
|
@@ -0,0 +1,153 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
| 2 |
+
<?fileVersion 4.0.0?><cproject storage_type_id="org.eclipse.cdt.core.XmlProjectDescriptionStorage">
|
| 3 |
+
<storageModule moduleId="org.eclipse.cdt.core.settings">
|
| 4 |
+
<cconfiguration id="cdt.managedbuild.config.gnu.exe.debug.852684782">
|
| 5 |
+
<storageModule buildSystemId="org.eclipse.cdt.managedbuilder.core.configurationDataProvider" id="cdt.managedbuild.config.gnu.exe.debug.852684782" moduleId="org.eclipse.cdt.core.settings" name="Debug">
|
| 6 |
+
<externalSettings/>
|
| 7 |
+
<extensions>
|
| 8 |
+
<extension id="org.eclipse.cdt.core.GNU_ELF" point="org.eclipse.cdt.core.BinaryParser"/>
|
| 9 |
+
<extension id="org.eclipse.cdt.core.GmakeErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
|
| 10 |
+
<extension id="org.eclipse.cdt.core.CWDLocator" point="org.eclipse.cdt.core.ErrorParser"/>
|
| 11 |
+
<extension id="org.eclipse.cdt.core.GCCErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
|
| 12 |
+
<extension id="org.eclipse.cdt.core.GASErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
|
| 13 |
+
<extension id="org.eclipse.cdt.core.GLDErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
|
| 14 |
+
</extensions>
|
| 15 |
+
</storageModule>
|
| 16 |
+
<storageModule moduleId="cdtBuildSystem" version="4.0.0">
|
| 17 |
+
<configuration artifactName="${ProjName}" buildArtefactType="org.eclipse.cdt.build.core.buildArtefactType.exe" buildProperties="org.eclipse.cdt.build.core.buildArtefactType=org.eclipse.cdt.build.core.buildArtefactType.exe,org.eclipse.cdt.build.core.buildType=org.eclipse.cdt.build.core.buildType.debug" cleanCommand="rm -rf" description="" id="cdt.managedbuild.config.gnu.exe.debug.852684782" name="Debug" parent="cdt.managedbuild.config.gnu.exe.debug">
|
| 18 |
+
<folderInfo id="cdt.managedbuild.config.gnu.exe.debug.852684782." name="/" resourcePath="">
|
| 19 |
+
<toolChain id="cdt.managedbuild.toolchain.gnu.exe.debug.628760407" name="Linux GCC" superClass="cdt.managedbuild.toolchain.gnu.exe.debug">
|
| 20 |
+
<targetPlatform id="cdt.managedbuild.target.gnu.platform.exe.debug.40031730" name="Debug Platform" superClass="cdt.managedbuild.target.gnu.platform.exe.debug"/>
|
| 21 |
+
<builder buildPath="${workspace_loc:/score}/Debug" id="cdt.managedbuild.target.gnu.builder.exe.debug.1494414913" keepEnvironmentInBuildfile="false" managedBuildOn="true" name="Gnu Make Builder" parallelBuildOn="true" parallelizationNumber="optimal" superClass="cdt.managedbuild.target.gnu.builder.exe.debug"/>
|
| 22 |
+
<tool id="cdt.managedbuild.tool.gnu.archiver.base.1369030665" name="GCC Archiver" superClass="cdt.managedbuild.tool.gnu.archiver.base"/>
|
| 23 |
+
<tool id="cdt.managedbuild.tool.gnu.cpp.compiler.exe.debug.1299858559" name="GCC C++ Compiler" superClass="cdt.managedbuild.tool.gnu.cpp.compiler.exe.debug">
|
| 24 |
+
<option id="gnu.cpp.compiler.exe.debug.option.optimization.level.1103483066" name="Optimization Level" superClass="gnu.cpp.compiler.exe.debug.option.optimization.level" useByScannerDiscovery="false" value="gnu.cpp.compiler.optimization.level.none" valueType="enumerated"/>
|
| 25 |
+
<option id="gnu.cpp.compiler.exe.debug.option.debugging.level.11930558" name="Debug Level" superClass="gnu.cpp.compiler.exe.debug.option.debugging.level" useByScannerDiscovery="false" value="gnu.cpp.compiler.debugging.level.max" valueType="enumerated"/>
|
| 26 |
+
<option id="gnu.cpp.compiler.option.include.paths.1147799314" name="Include paths (-I)" superClass="gnu.cpp.compiler.option.include.paths" useByScannerDiscovery="false" valueType="includePath">
|
| 27 |
+
<listOptionValue builtIn="false" value=""${workspace_loc}/../../boost/include""/>
|
| 28 |
+
<listOptionValue builtIn="false" value=""${workspace_loc}/../../""/>
|
| 29 |
+
</option>
|
| 30 |
+
<inputType id="cdt.managedbuild.tool.gnu.cpp.compiler.input.1638578889" superClass="cdt.managedbuild.tool.gnu.cpp.compiler.input"/>
|
| 31 |
+
</tool>
|
| 32 |
+
<tool id="cdt.managedbuild.tool.gnu.c.compiler.exe.debug.2096513387" name="GCC C Compiler" superClass="cdt.managedbuild.tool.gnu.c.compiler.exe.debug">
|
| 33 |
+
<option defaultValue="gnu.c.optimization.level.none" id="gnu.c.compiler.exe.debug.option.optimization.level.1877980632" name="Optimization Level" superClass="gnu.c.compiler.exe.debug.option.optimization.level" useByScannerDiscovery="false" valueType="enumerated"/>
|
| 34 |
+
<option id="gnu.c.compiler.exe.debug.option.debugging.level.1972289345" name="Debug Level" superClass="gnu.c.compiler.exe.debug.option.debugging.level" useByScannerDiscovery="false" value="gnu.c.debugging.level.max" valueType="enumerated"/>
|
| 35 |
+
<option id="gnu.c.compiler.option.dialect.std.645941284" superClass="gnu.c.compiler.option.dialect.std" useByScannerDiscovery="true" value="gnu.c.compiler.dialect.c11" valueType="enumerated"/>
|
| 36 |
+
<inputType id="cdt.managedbuild.tool.gnu.c.compiler.input.1767499123" superClass="cdt.managedbuild.tool.gnu.c.compiler.input"/>
|
| 37 |
+
</tool>
|
| 38 |
+
<tool id="cdt.managedbuild.tool.gnu.c.linker.exe.debug.9477188" name="GCC C Linker" superClass="cdt.managedbuild.tool.gnu.c.linker.exe.debug"/>
|
| 39 |
+
<tool id="cdt.managedbuild.tool.gnu.cpp.linker.exe.debug.1008235812" name="GCC C++ Linker" superClass="cdt.managedbuild.tool.gnu.cpp.linker.exe.debug">
|
| 40 |
+
<option id="gnu.cpp.link.option.paths.2139594100" name="Library search path (-L)" superClass="gnu.cpp.link.option.paths" valueType="libPaths">
|
| 41 |
+
<listOptionValue builtIn="false" value=""${workspace_loc:}/../../boost/lib64""/>
|
| 42 |
+
<listOptionValue builtIn="false" value=""${workspace_loc:}/moses/Debug""/>
|
| 43 |
+
<listOptionValue builtIn="false" value=""${workspace_loc:}/lm/Debug""/>
|
| 44 |
+
<listOptionValue builtIn="false" value=""${workspace_loc:}/OnDiskPt/Debug""/>
|
| 45 |
+
<listOptionValue builtIn="false" value=""${workspace_loc:}/util/Debug""/>
|
| 46 |
+
<listOptionValue builtIn="false" value=""${workspace_loc:}/search/Debug""/>
|
| 47 |
+
<listOptionValue builtIn="false" value="/opt/local/lib"/>
|
| 48 |
+
</option>
|
| 49 |
+
<option id="gnu.cpp.link.option.libs.615408765" name="Libraries (-l)" superClass="gnu.cpp.link.option.libs" valueType="libs">
|
| 50 |
+
<listOptionValue builtIn="false" value="moses"/>
|
| 51 |
+
<listOptionValue builtIn="false" value="search"/>
|
| 52 |
+
<listOptionValue builtIn="false" value="OnDiskPt"/>
|
| 53 |
+
<listOptionValue builtIn="false" value="lm"/>
|
| 54 |
+
<listOptionValue builtIn="false" value="util"/>
|
| 55 |
+
<listOptionValue builtIn="false" value="boost_iostreams"/>
|
| 56 |
+
<listOptionValue builtIn="false" value="boost_serialization"/>
|
| 57 |
+
<listOptionValue builtIn="false" value="boost_system"/>
|
| 58 |
+
<listOptionValue builtIn="false" value="boost_thread"/>
|
| 59 |
+
<listOptionValue builtIn="false" value="boost_filesystem"/>
|
| 60 |
+
<listOptionValue builtIn="false" value="boost_program_options"/>
|
| 61 |
+
<listOptionValue builtIn="false" value="pthread"/>
|
| 62 |
+
<listOptionValue builtIn="false" value="z"/>
|
| 63 |
+
<listOptionValue builtIn="false" value="dl"/>
|
| 64 |
+
<listOptionValue builtIn="false" value="rt"/>
|
| 65 |
+
</option>
|
| 66 |
+
<inputType id="cdt.managedbuild.tool.gnu.cpp.linker.input.202044854" superClass="cdt.managedbuild.tool.gnu.cpp.linker.input">
|
| 67 |
+
<additionalInput kind="additionalinputdependency" paths="$(USER_OBJS)"/>
|
| 68 |
+
<additionalInput kind="additionalinput" paths="$(LIBS)"/>
|
| 69 |
+
</inputType>
|
| 70 |
+
</tool>
|
| 71 |
+
<tool id="cdt.managedbuild.tool.gnu.assembler.exe.debug.1832317688" name="GCC Assembler" superClass="cdt.managedbuild.tool.gnu.assembler.exe.debug">
|
| 72 |
+
<inputType id="cdt.managedbuild.tool.gnu.assembler.input.1877599289" superClass="cdt.managedbuild.tool.gnu.assembler.input"/>
|
| 73 |
+
</tool>
|
| 74 |
+
</toolChain>
|
| 75 |
+
</folderInfo>
|
| 76 |
+
</configuration>
|
| 77 |
+
</storageModule>
|
| 78 |
+
<storageModule moduleId="org.eclipse.cdt.core.externalSettings"/>
|
| 79 |
+
</cconfiguration>
|
| 80 |
+
<cconfiguration id="cdt.managedbuild.config.gnu.exe.release.1878418244">
|
| 81 |
+
<storageModule buildSystemId="org.eclipse.cdt.managedbuilder.core.configurationDataProvider" id="cdt.managedbuild.config.gnu.exe.release.1878418244" moduleId="org.eclipse.cdt.core.settings" name="Release">
|
| 82 |
+
<externalSettings/>
|
| 83 |
+
<extensions>
|
| 84 |
+
<extension id="org.eclipse.cdt.core.GNU_ELF" point="org.eclipse.cdt.core.BinaryParser"/>
|
| 85 |
+
<extension id="org.eclipse.cdt.core.GmakeErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
|
| 86 |
+
<extension id="org.eclipse.cdt.core.CWDLocator" point="org.eclipse.cdt.core.ErrorParser"/>
|
| 87 |
+
<extension id="org.eclipse.cdt.core.GCCErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
|
| 88 |
+
<extension id="org.eclipse.cdt.core.GASErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
|
| 89 |
+
<extension id="org.eclipse.cdt.core.GLDErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
|
| 90 |
+
</extensions>
|
| 91 |
+
</storageModule>
|
| 92 |
+
<storageModule moduleId="cdtBuildSystem" version="4.0.0">
|
| 93 |
+
<configuration artifactName="${ProjName}" buildArtefactType="org.eclipse.cdt.build.core.buildArtefactType.exe" buildProperties="org.eclipse.cdt.build.core.buildArtefactType=org.eclipse.cdt.build.core.buildArtefactType.exe,org.eclipse.cdt.build.core.buildType=org.eclipse.cdt.build.core.buildType.release" cleanCommand="rm -rf" description="" id="cdt.managedbuild.config.gnu.exe.release.1878418244" name="Release" parent="cdt.managedbuild.config.gnu.exe.release">
|
| 94 |
+
<folderInfo id="cdt.managedbuild.config.gnu.exe.release.1878418244." name="/" resourcePath="">
|
| 95 |
+
<toolChain id="cdt.managedbuild.toolchain.gnu.exe.release.1661678477" name="Linux GCC" superClass="cdt.managedbuild.toolchain.gnu.exe.release">
|
| 96 |
+
<targetPlatform id="cdt.managedbuild.target.gnu.platform.exe.release.848161857" name="Debug Platform" superClass="cdt.managedbuild.target.gnu.platform.exe.release"/>
|
| 97 |
+
<builder buildPath="${workspace_loc:/score}/Release" id="cdt.managedbuild.target.gnu.builder.exe.release.1694318208" keepEnvironmentInBuildfile="false" managedBuildOn="true" name="Gnu Make Builder" superClass="cdt.managedbuild.target.gnu.builder.exe.release"/>
|
| 98 |
+
<tool id="cdt.managedbuild.tool.gnu.archiver.base.1857970512" name="GCC Archiver" superClass="cdt.managedbuild.tool.gnu.archiver.base"/>
|
| 99 |
+
<tool id="cdt.managedbuild.tool.gnu.cpp.compiler.exe.release.464441024" name="GCC C++ Compiler" superClass="cdt.managedbuild.tool.gnu.cpp.compiler.exe.release">
|
| 100 |
+
<option id="gnu.cpp.compiler.exe.release.option.optimization.level.1302447353" name="Optimization Level" superClass="gnu.cpp.compiler.exe.release.option.optimization.level" useByScannerDiscovery="false" value="gnu.cpp.compiler.optimization.level.most" valueType="enumerated"/>
|
| 101 |
+
<option id="gnu.cpp.compiler.exe.release.option.debugging.level.143379331" name="Debug Level" superClass="gnu.cpp.compiler.exe.release.option.debugging.level" useByScannerDiscovery="false" value="gnu.cpp.compiler.debugging.level.none" valueType="enumerated"/>
|
| 102 |
+
<inputType id="cdt.managedbuild.tool.gnu.cpp.compiler.input.859419943" superClass="cdt.managedbuild.tool.gnu.cpp.compiler.input"/>
|
| 103 |
+
</tool>
|
| 104 |
+
<tool id="cdt.managedbuild.tool.gnu.c.compiler.exe.release.1103707928" name="GCC C Compiler" superClass="cdt.managedbuild.tool.gnu.c.compiler.exe.release">
|
| 105 |
+
<option defaultValue="gnu.c.optimization.level.most" id="gnu.c.compiler.exe.release.option.optimization.level.2144910639" name="Optimization Level" superClass="gnu.c.compiler.exe.release.option.optimization.level" useByScannerDiscovery="false" valueType="enumerated"/>
|
| 106 |
+
<option id="gnu.c.compiler.exe.release.option.debugging.level.158963791" name="Debug Level" superClass="gnu.c.compiler.exe.release.option.debugging.level" useByScannerDiscovery="false" value="gnu.c.debugging.level.none" valueType="enumerated"/>
|
| 107 |
+
<inputType id="cdt.managedbuild.tool.gnu.c.compiler.input.558236570" superClass="cdt.managedbuild.tool.gnu.c.compiler.input"/>
|
| 108 |
+
</tool>
|
| 109 |
+
<tool id="cdt.managedbuild.tool.gnu.c.linker.exe.release.1915067544" name="GCC C Linker" superClass="cdt.managedbuild.tool.gnu.c.linker.exe.release"/>
|
| 110 |
+
<tool id="cdt.managedbuild.tool.gnu.cpp.linker.exe.release.2131232485" name="GCC C++ Linker" superClass="cdt.managedbuild.tool.gnu.cpp.linker.exe.release">
|
| 111 |
+
<inputType id="cdt.managedbuild.tool.gnu.cpp.linker.input.530558382" superClass="cdt.managedbuild.tool.gnu.cpp.linker.input">
|
| 112 |
+
<additionalInput kind="additionalinputdependency" paths="$(USER_OBJS)"/>
|
| 113 |
+
<additionalInput kind="additionalinput" paths="$(LIBS)"/>
|
| 114 |
+
</inputType>
|
| 115 |
+
</tool>
|
| 116 |
+
<tool id="cdt.managedbuild.tool.gnu.assembler.exe.release.1037806386" name="GCC Assembler" superClass="cdt.managedbuild.tool.gnu.assembler.exe.release">
|
| 117 |
+
<inputType id="cdt.managedbuild.tool.gnu.assembler.input.2129474260" superClass="cdt.managedbuild.tool.gnu.assembler.input"/>
|
| 118 |
+
</tool>
|
| 119 |
+
</toolChain>
|
| 120 |
+
</folderInfo>
|
| 121 |
+
</configuration>
|
| 122 |
+
</storageModule>
|
| 123 |
+
<storageModule moduleId="org.eclipse.cdt.core.externalSettings"/>
|
| 124 |
+
</cconfiguration>
|
| 125 |
+
</storageModule>
|
| 126 |
+
<storageModule moduleId="cdtBuildSystem" version="4.0.0">
|
| 127 |
+
<project id="score.cdt.managedbuild.target.gnu.exe.812812835" name="Executable" projectType="cdt.managedbuild.target.gnu.exe"/>
|
| 128 |
+
</storageModule>
|
| 129 |
+
<storageModule moduleId="scannerConfiguration">
|
| 130 |
+
<autodiscovery enabled="true" problemReportingEnabled="true" selectedProfileId=""/>
|
| 131 |
+
<scannerConfigBuildInfo instanceId="cdt.managedbuild.config.gnu.exe.release.1878418244;cdt.managedbuild.config.gnu.exe.release.1878418244.;cdt.managedbuild.tool.gnu.c.compiler.exe.release.1103707928;cdt.managedbuild.tool.gnu.c.compiler.input.558236570">
|
| 132 |
+
<autodiscovery enabled="true" problemReportingEnabled="true" selectedProfileId=""/>
|
| 133 |
+
</scannerConfigBuildInfo>
|
| 134 |
+
<scannerConfigBuildInfo instanceId="cdt.managedbuild.config.gnu.exe.debug.852684782;cdt.managedbuild.config.gnu.exe.debug.852684782.;cdt.managedbuild.tool.gnu.c.compiler.exe.debug.2096513387;cdt.managedbuild.tool.gnu.c.compiler.input.1767499123">
|
| 135 |
+
<autodiscovery enabled="true" problemReportingEnabled="true" selectedProfileId=""/>
|
| 136 |
+
</scannerConfigBuildInfo>
|
| 137 |
+
<scannerConfigBuildInfo instanceId="cdt.managedbuild.config.gnu.exe.release.1878418244;cdt.managedbuild.config.gnu.exe.release.1878418244.;cdt.managedbuild.tool.gnu.cpp.compiler.exe.release.464441024;cdt.managedbuild.tool.gnu.cpp.compiler.input.859419943">
|
| 138 |
+
<autodiscovery enabled="true" problemReportingEnabled="true" selectedProfileId=""/>
|
| 139 |
+
</scannerConfigBuildInfo>
|
| 140 |
+
<scannerConfigBuildInfo instanceId="cdt.managedbuild.config.gnu.exe.debug.852684782;cdt.managedbuild.config.gnu.exe.debug.852684782.;cdt.managedbuild.tool.gnu.cpp.compiler.exe.debug.1299858559;cdt.managedbuild.tool.gnu.cpp.compiler.input.1638578889">
|
| 141 |
+
<autodiscovery enabled="true" problemReportingEnabled="true" selectedProfileId=""/>
|
| 142 |
+
</scannerConfigBuildInfo>
|
| 143 |
+
</storageModule>
|
| 144 |
+
<storageModule moduleId="org.eclipse.cdt.core.LanguageSettingsProviders"/>
|
| 145 |
+
<storageModule moduleId="refreshScope" versionNumber="2">
|
| 146 |
+
<configuration configurationName="Release">
|
| 147 |
+
<resource resourceType="PROJECT" workspacePath="/score"/>
|
| 148 |
+
</configuration>
|
| 149 |
+
<configuration configurationName="Debug">
|
| 150 |
+
<resource resourceType="PROJECT" workspacePath="/score"/>
|
| 151 |
+
</configuration>
|
| 152 |
+
</storageModule>
|
| 153 |
+
</cproject>
|
mosesdecoder/contrib/other-builds/score/.project
ADDED
|
@@ -0,0 +1,106 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
<?xml version="1.0" encoding="UTF-8"?>
|
| 2 |
+
<projectDescription>
|
| 3 |
+
<name>score</name>
|
| 4 |
+
<comment></comment>
|
| 5 |
+
<projects>
|
| 6 |
+
<project>moses</project>
|
| 7 |
+
<project>util</project>
|
| 8 |
+
</projects>
|
| 9 |
+
<buildSpec>
|
| 10 |
+
<buildCommand>
|
| 11 |
+
<name>org.eclipse.cdt.managedbuilder.core.genmakebuilder</name>
|
| 12 |
+
<triggers>clean,full,incremental,</triggers>
|
| 13 |
+
<arguments>
|
| 14 |
+
</arguments>
|
| 15 |
+
</buildCommand>
|
| 16 |
+
<buildCommand>
|
| 17 |
+
<name>org.eclipse.cdt.managedbuilder.core.ScannerConfigBuilder</name>
|
| 18 |
+
<triggers>full,incremental,</triggers>
|
| 19 |
+
<arguments>
|
| 20 |
+
</arguments>
|
| 21 |
+
</buildCommand>
|
| 22 |
+
</buildSpec>
|
| 23 |
+
<natures>
|
| 24 |
+
<nature>org.eclipse.cdt.core.cnature</nature>
|
| 25 |
+
<nature>org.eclipse.cdt.core.ccnature</nature>
|
| 26 |
+
<nature>org.eclipse.cdt.managedbuilder.core.managedBuildNature</nature>
|
| 27 |
+
<nature>org.eclipse.cdt.managedbuilder.core.ScannerConfigNature</nature>
|
| 28 |
+
</natures>
|
| 29 |
+
<linkedResources>
|
| 30 |
+
<link>
|
| 31 |
+
<name>DomainFeature.cpp</name>
|
| 32 |
+
<type>1</type>
|
| 33 |
+
<locationURI>PARENT-3-PROJECT_LOC/phrase-extract/DomainFeature.cpp</locationURI>
|
| 34 |
+
</link>
|
| 35 |
+
<link>
|
| 36 |
+
<name>DomainFeature.h</name>
|
| 37 |
+
<type>1</type>
|
| 38 |
+
<locationURI>PARENT-3-PROJECT_LOC/phrase-extract/DomainFeature.h</locationURI>
|
| 39 |
+
</link>
|
| 40 |
+
<link>
|
| 41 |
+
<name>ExtractionPhrasePair.cpp</name>
|
| 42 |
+
<type>1</type>
|
| 43 |
+
<locationURI>PARENT-3-PROJECT_LOC/phrase-extract/ExtractionPhrasePair.cpp</locationURI>
|
| 44 |
+
</link>
|
| 45 |
+
<link>
|
| 46 |
+
<name>ExtractionPhrasePair.h</name>
|
| 47 |
+
<type>1</type>
|
| 48 |
+
<locationURI>PARENT-3-PROJECT_LOC/phrase-extract/ExtractionPhrasePair.h</locationURI>
|
| 49 |
+
</link>
|
| 50 |
+
<link>
|
| 51 |
+
<name>InputFileStream.cpp</name>
|
| 52 |
+
<type>1</type>
|
| 53 |
+
<locationURI>PARENT-3-PROJECT_LOC/phrase-extract/InputFileStream.cpp</locationURI>
|
| 54 |
+
</link>
|
| 55 |
+
<link>
|
| 56 |
+
<name>InputFileStream.h</name>
|
| 57 |
+
<type>1</type>
|
| 58 |
+
<locationURI>PARENT-3-PROJECT_LOC/phrase-extract/InputFileStream.h</locationURI>
|
| 59 |
+
</link>
|
| 60 |
+
<link>
|
| 61 |
+
<name>InternalStructFeature.cpp</name>
|
| 62 |
+
<type>1</type>
|
| 63 |
+
<locationURI>PARENT-3-PROJECT_LOC/phrase-extract/InternalStructFeature.cpp</locationURI>
|
| 64 |
+
</link>
|
| 65 |
+
<link>
|
| 66 |
+
<name>InternalStructFeature.h</name>
|
| 67 |
+
<type>1</type>
|
| 68 |
+
<locationURI>PARENT-3-PROJECT_LOC/phrase-extract/InternalStructFeature.h</locationURI>
|
| 69 |
+
</link>
|
| 70 |
+
<link>
|
| 71 |
+
<name>OutputFileStream.cpp</name>
|
| 72 |
+
<type>1</type>
|
| 73 |
+
<locationURI>PARENT-3-PROJECT_LOC/phrase-extract/OutputFileStream.cpp</locationURI>
|
| 74 |
+
</link>
|
| 75 |
+
<link>
|
| 76 |
+
<name>OutputFileStream.h</name>
|
| 77 |
+
<type>1</type>
|
| 78 |
+
<locationURI>PARENT-3-PROJECT_LOC/phrase-extract/OutputFileStream.h</locationURI>
|
| 79 |
+
</link>
|
| 80 |
+
<link>
|
| 81 |
+
<name>ScoreFeature.cpp</name>
|
| 82 |
+
<type>1</type>
|
| 83 |
+
<locationURI>PARENT-3-PROJECT_LOC/phrase-extract/ScoreFeature.cpp</locationURI>
|
| 84 |
+
</link>
|
| 85 |
+
<link>
|
| 86 |
+
<name>ScoreFeature.h</name>
|
| 87 |
+
<type>1</type>
|
| 88 |
+
<locationURI>PARENT-3-PROJECT_LOC/phrase-extract/ScoreFeature.h</locationURI>
|
| 89 |
+
</link>
|
| 90 |
+
<link>
|
| 91 |
+
<name>score-main.cpp</name>
|
| 92 |
+
<type>1</type>
|
| 93 |
+
<locationURI>PARENT-3-PROJECT_LOC/phrase-extract/score-main.cpp</locationURI>
|
| 94 |
+
</link>
|
| 95 |
+
<link>
|
| 96 |
+
<name>tables-core.cpp</name>
|
| 97 |
+
<type>1</type>
|
| 98 |
+
<locationURI>PARENT-3-PROJECT_LOC/phrase-extract/tables-core.cpp</locationURI>
|
| 99 |
+
</link>
|
| 100 |
+
<link>
|
| 101 |
+
<name>tables-core.h</name>
|
| 102 |
+
<type>1</type>
|
| 103 |
+
<locationURI>PARENT-3-PROJECT_LOC/phrase-extract/tables-core.h</locationURI>
|
| 104 |
+
</link>
|
| 105 |
+
</linkedResources>
|
| 106 |
+
</projectDescription>
|