Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/moses-smt/mosesdecoder.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBarry Haddow <barry.haddow@gmail.com>2012-10-08 20:54:59 +0400
committerBarry Haddow <barry.haddow@gmail.com>2012-10-08 20:54:59 +0400
commit848aafb64478f843e25a800c57243b38609465ef (patch)
treebe3dce6647a1a300b48ccbd32b36dc65b56c998f
parente7e4dbd405e8d29a9a429c6b5eb366a2fe0ecf9a (diff)
parent2aa10c3012328d8fd66ceee26c25e3d8771f9f31 (diff)
Merge remote branch 'github/master' into miramerge
Conflicts: moses/src/AlignmentInfo.cpp moses/src/AlignmentInfo.h moses/src/ChartHypothesis.cpp moses/src/ChartTrellisNode.cpp moses/src/LM/Implementation.cpp moses/src/LM/Ken.cpp moses/src/TargetPhrase.cpp moses/src/TargetPhrase.h
-rw-r--r--.gitmodules2
-rw-r--r--BUILD-INSTRUCTIONS.txt2
-rw-r--r--contrib/other-builds/moses-chart-cmd/.cproject140
-rw-r--r--contrib/other-builds/moses-chart-cmd/.project199
-rw-r--r--contrib/other-builds/moses-cmd.xcodeproj/project.pbxproj3
-rw-r--r--contrib/other-builds/moses-cmd/.cproject159
-rw-r--r--contrib/other-builds/moses-cmd/.project104
-rw-r--r--contrib/other-builds/moses.xcodeproj/project.pbxproj8
-rw-r--r--contrib/other-builds/moses/.cproject13
-rw-r--r--contrib/other-builds/moses/.project2154
-rw-r--r--contrib/python/README.md10
-rw-r--r--contrib/python/binpt/binpt.cpp58
-rw-r--r--contrib/python/binpt/binpt.pyx8
-rw-r--r--contrib/python/setup.py21
-rwxr-xr-xcontrib/relent-filter/scripts/prunePT.pl4
-rw-r--r--jam-files/sanity.jam3
-rw-r--r--lm/Jamfile2
-rw-r--r--lm/bhiksha.cc2
-rw-r--r--lm/bhiksha.hh4
-rw-r--r--lm/binary_format.cc4
-rw-r--r--lm/binary_format.hh4
-rw-r--r--lm/build_binary.cc10
-rw-r--r--lm/left.hh1
-rw-r--r--lm/max_order.cc1
-rw-r--r--lm/max_order.hh12
-rw-r--r--lm/model.cc25
-rw-r--r--lm/model.hh2
-rw-r--r--lm/quantize.hh9
-rw-r--r--lm/read_arpa.cc22
-rw-r--r--lm/search_hashed.hh6
-rw-r--r--lm/search_trie.cc3
-rw-r--r--lm/search_trie.hh4
-rw-r--r--lm/state.hh1
-rw-r--r--lm/trie.cc4
-rw-r--r--lm/trie.hh8
-rw-r--r--lm/trie_sort.cc20
-rw-r--r--lm/trie_sort.hh3
-rw-r--r--lm/vocab.cc4
-rw-r--r--lm/vocab.hh4
-rw-r--r--mert/PermutationScorer.cpp6
-rw-r--r--misc/queryPhraseTableMin.cpp13
-rw-r--r--moses-chart-cmd/src/IOWrapper.cpp91
-rw-r--r--moses-chart-cmd/src/IOWrapper.h2
-rw-r--r--moses-chart-cmd/src/Main.cpp8
-rw-r--r--moses-cmd/src/Main.cpp4
-rw-r--r--moses/src/AlignmentInfo.cpp6
-rw-r--r--moses/src/CYKPlusParser/ChartRuleLookupManagerMemory.cpp2
-rw-r--r--moses/src/CYKPlusParser/ChartRuleLookupManagerMemoryPerSentence.cpp2
-rw-r--r--moses/src/CYKPlusParser/ChartRuleLookupManagerOnDisk.cpp2
-rw-r--r--moses/src/ChartHypothesis.cpp1
-rw-r--r--moses/src/ChartTranslationOptionList.cpp6
-rw-r--r--moses/src/ChartTranslationOptionList.h1
-rw-r--r--moses/src/ChartTrellisNode.cpp6
-rw-r--r--moses/src/FactorCollection.cpp2
-rw-r--r--moses/src/Hypothesis.cpp1
-rw-r--r--moses/src/Jamfile2
-rw-r--r--moses/src/LM/Implementation.cpp4
-rw-r--r--moses/src/RuleTable/PhraseDictionarySCFG.cpp9
-rw-r--r--moses/src/StaticData.cpp27
-rw-r--r--moses/src/TargetPhrase.cpp2
-rw-r--r--moses/src/hash.cpp70
-rw-r--r--moses/src/hash.h8
-rw-r--r--phrase-extract/extract-ghkm/ExtractGHKM.cpp5
-rw-r--r--phrase-extract/extract-ghkm/Options.h2
-rw-r--r--regression-testing/Jamfile10
-rw-r--r--scripts/ems/experiment.meta4
-rwxr-xr-xscripts/ems/experiment.perl2
-rw-r--r--scripts/ems/web/analysis.php12
-rw-r--r--scripts/ems/web/analysis_diff.php253
-rw-r--r--scripts/ems/web/base64.js108
-rw-r--r--scripts/ems/web/favicon.icobin0 -> 1676 bytes
-rw-r--r--scripts/ems/web/index.php5
-rw-r--r--scripts/ems/web/lib.php10
-rw-r--r--scripts/ems/web/overview.php43
-rw-r--r--scripts/ems/web/sgviz.js1703
-rw-r--r--scripts/ems/web/sgviz.php65
-rwxr-xr-xscripts/generic/moses-parallel.pl2
-rwxr-xr-xscripts/generic/multi-bleu.perl1
-rwxr-xr-xscripts/generic/qsub-wrapper.pl2
-rwxr-xr-xscripts/training/absolutize_moses_model.pl2
-rwxr-xr-xscripts/training/wrappers/parse-de-bitpar.perl12
-rw-r--r--util/ersatz_progress.cc10
-rw-r--r--util/ersatz_progress.hh10
-rw-r--r--util/exception.cc3
-rw-r--r--util/exception.hh22
-rw-r--r--util/file.cc19
-rw-r--r--util/file.hh3
-rw-r--r--util/file_piece.cc2
-rw-r--r--util/probing_hash_table.hh5
89 files changed, 4379 insertions, 1254 deletions
diff --git a/.gitmodules b/.gitmodules
index 0470c63fd..19ceb74f6 100644
--- a/.gitmodules
+++ b/.gitmodules
@@ -1,3 +1,3 @@
[submodule "regression-testing/tests"]
path = regression-testing/tests
- url = ../moses-regression-tests.git
+ url = git@github.com:moses-smt/moses-regression-tests.git
diff --git a/BUILD-INSTRUCTIONS.txt b/BUILD-INSTRUCTIONS.txt
index 5b4ec2565..0ddd16070 100644
--- a/BUILD-INSTRUCTIONS.txt
+++ b/BUILD-INSTRUCTIONS.txt
@@ -73,7 +73,7 @@ you're ready to install packages in non-standard paths:
#For Boost:
./bootstrap.sh
-./b2 --prefix=$PREFIX --libdir=$PREFIX/lib64 --layout=tagged link=static,shared threading=multi install
+./b2 --prefix=$PREFIX --libdir=$LIBDIR --layout=tagged link=static,shared threading=multi,single install
--------------------------------------------------------------------------
diff --git a/contrib/other-builds/moses-chart-cmd/.cproject b/contrib/other-builds/moses-chart-cmd/.cproject
new file mode 100644
index 000000000..dfebdd577
--- /dev/null
+++ b/contrib/other-builds/moses-chart-cmd/.cproject
@@ -0,0 +1,140 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<?fileVersion 4.0.0?>
+
+<cproject storage_type_id="org.eclipse.cdt.core.XmlProjectDescriptionStorage">
+ <storageModule moduleId="org.eclipse.cdt.core.settings">
+ <cconfiguration id="cdt.managedbuild.config.gnu.exe.debug.162355801">
+ <storageModule buildSystemId="org.eclipse.cdt.managedbuilder.core.configurationDataProvider" id="cdt.managedbuild.config.gnu.exe.debug.162355801" moduleId="org.eclipse.cdt.core.settings" name="Debug">
+ <externalSettings/>
+ <extensions>
+ <extension id="org.eclipse.cdt.core.ELF" point="org.eclipse.cdt.core.BinaryParser"/>
+ <extension id="org.eclipse.cdt.core.GmakeErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
+ <extension id="org.eclipse.cdt.core.CWDLocator" point="org.eclipse.cdt.core.ErrorParser"/>
+ <extension id="org.eclipse.cdt.core.GCCErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
+ <extension id="org.eclipse.cdt.core.GASErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
+ <extension id="org.eclipse.cdt.core.GLDErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
+ </extensions>
+ </storageModule>
+ <storageModule moduleId="cdtBuildSystem" version="4.0.0">
+ <configuration artifactName="${ProjName}" buildArtefactType="org.eclipse.cdt.build.core.buildArtefactType.exe" buildProperties="org.eclipse.cdt.build.core.buildType=org.eclipse.cdt.build.core.buildType.debug,org.eclipse.cdt.build.core.buildArtefactType=org.eclipse.cdt.build.core.buildArtefactType.exe" cleanCommand="rm -rf" description="" id="cdt.managedbuild.config.gnu.exe.debug.162355801" name="Debug" parent="cdt.managedbuild.config.gnu.exe.debug">
+ <folderInfo id="cdt.managedbuild.config.gnu.exe.debug.162355801." name="/" resourcePath="">
+ <toolChain id="cdt.managedbuild.toolchain.gnu.exe.debug.1633424067" name="Linux GCC" superClass="cdt.managedbuild.toolchain.gnu.exe.debug">
+ <targetPlatform id="cdt.managedbuild.target.gnu.platform.exe.debug.1437309068" name="Debug Platform" superClass="cdt.managedbuild.target.gnu.platform.exe.debug"/>
+ <builder buildPath="${workspace_loc:/moses-chart-cmd/Debug}" id="cdt.managedbuild.target.gnu.builder.exe.debug.1495140314" keepEnvironmentInBuildfile="false" managedBuildOn="true" name="Gnu Make Builder" superClass="cdt.managedbuild.target.gnu.builder.exe.debug"/>
+ <tool id="cdt.managedbuild.tool.gnu.archiver.base.1247128100" name="GCC Archiver" superClass="cdt.managedbuild.tool.gnu.archiver.base"/>
+ <tool id="cdt.managedbuild.tool.gnu.cpp.compiler.exe.debug.1087697480" name="GCC C++ Compiler" superClass="cdt.managedbuild.tool.gnu.cpp.compiler.exe.debug">
+ <option id="gnu.cpp.compiler.exe.debug.option.optimization.level.1163099464" name="Optimization Level" superClass="gnu.cpp.compiler.exe.debug.option.optimization.level" value="gnu.cpp.compiler.optimization.level.none" valueType="enumerated"/>
+ <option id="gnu.cpp.compiler.exe.debug.option.debugging.level.1584931166" name="Debug Level" superClass="gnu.cpp.compiler.exe.debug.option.debugging.level" value="gnu.cpp.compiler.debugging.level.max" valueType="enumerated"/>
+ <option id="gnu.cpp.compiler.option.include.paths.65842083" name="Include paths (-I)" superClass="gnu.cpp.compiler.option.include.paths" valueType="includePath">
+ <listOptionValue builtIn="false" value="&quot;${workspace_loc}/../../moses/src&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${workspace_loc}/../..&quot;"/>
+ </option>
+ <inputType id="cdt.managedbuild.tool.gnu.cpp.compiler.input.1402496521" superClass="cdt.managedbuild.tool.gnu.cpp.compiler.input"/>
+ </tool>
+ <tool id="cdt.managedbuild.tool.gnu.c.compiler.exe.debug.827478809" name="GCC C Compiler" superClass="cdt.managedbuild.tool.gnu.c.compiler.exe.debug">
+ <option defaultValue="gnu.c.optimization.level.none" id="gnu.c.compiler.exe.debug.option.optimization.level.1840610682" name="Optimization Level" superClass="gnu.c.compiler.exe.debug.option.optimization.level" valueType="enumerated"/>
+ <option id="gnu.c.compiler.exe.debug.option.debugging.level.1437095112" name="Debug Level" superClass="gnu.c.compiler.exe.debug.option.debugging.level" value="gnu.c.debugging.level.max" valueType="enumerated"/>
+ <inputType id="cdt.managedbuild.tool.gnu.c.compiler.input.128236233" superClass="cdt.managedbuild.tool.gnu.c.compiler.input"/>
+ </tool>
+ <tool id="cdt.managedbuild.tool.gnu.c.linker.exe.debug.755343734" name="GCC C Linker" superClass="cdt.managedbuild.tool.gnu.c.linker.exe.debug"/>
+ <tool id="cdt.managedbuild.tool.gnu.cpp.linker.exe.debug.816413868" name="GCC C++ Linker" superClass="cdt.managedbuild.tool.gnu.cpp.linker.exe.debug">
+ <option id="gnu.cpp.link.option.paths.330225535" name="Library search path (-L)" superClass="gnu.cpp.link.option.paths" valueType="libPaths">
+ <listOptionValue builtIn="false" value="&quot;${workspace_loc:}/../../irstlm/lib&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${workspace_loc:/moses}/Debug&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${workspace_loc:/lm}/Debug&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${workspace_loc:/OnDiskPt}/Debug&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${workspace_loc:/util}/Debug&quot;"/>
+ </option>
+ <option id="gnu.cpp.link.option.libs.1177721357" name="Libraries (-l)" superClass="gnu.cpp.link.option.libs" valueType="libs">
+ <listOptionValue builtIn="false" value="moses"/>
+ <listOptionValue builtIn="false" value="irstlm"/>
+ <listOptionValue builtIn="false" value="OnDiskPt"/>
+ <listOptionValue builtIn="false" value="z"/>
+ <listOptionValue builtIn="false" value="rt"/>
+ <listOptionValue builtIn="false" value="boost_system"/>
+ <listOptionValue builtIn="false" value="boost_filesystem"/>
+ <listOptionValue builtIn="false" value="lm"/>
+ <listOptionValue builtIn="false" value="util"/>
+ </option>
+ <inputType id="cdt.managedbuild.tool.gnu.cpp.linker.input.128214028" superClass="cdt.managedbuild.tool.gnu.cpp.linker.input">
+ <additionalInput kind="additionalinputdependency" paths="$(USER_OBJS)"/>
+ <additionalInput kind="additionalinput" paths="$(LIBS)"/>
+ </inputType>
+ </tool>
+ <tool id="cdt.managedbuild.tool.gnu.assembler.exe.debug.1267270542" name="GCC Assembler" superClass="cdt.managedbuild.tool.gnu.assembler.exe.debug">
+ <inputType id="cdt.managedbuild.tool.gnu.assembler.input.612723114" superClass="cdt.managedbuild.tool.gnu.assembler.input"/>
+ </tool>
+ </toolChain>
+ </folderInfo>
+ </configuration>
+ </storageModule>
+ <storageModule moduleId="org.eclipse.cdt.core.externalSettings"/>
+ </cconfiguration>
+ <cconfiguration id="cdt.managedbuild.config.gnu.exe.release.516628324">
+ <storageModule buildSystemId="org.eclipse.cdt.managedbuilder.core.configurationDataProvider" id="cdt.managedbuild.config.gnu.exe.release.516628324" moduleId="org.eclipse.cdt.core.settings" name="Release">
+ <externalSettings/>
+ <extensions>
+ <extension id="org.eclipse.cdt.core.ELF" point="org.eclipse.cdt.core.BinaryParser"/>
+ <extension id="org.eclipse.cdt.core.GmakeErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
+ <extension id="org.eclipse.cdt.core.CWDLocator" point="org.eclipse.cdt.core.ErrorParser"/>
+ <extension id="org.eclipse.cdt.core.GCCErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
+ <extension id="org.eclipse.cdt.core.GASErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
+ <extension id="org.eclipse.cdt.core.GLDErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
+ </extensions>
+ </storageModule>
+ <storageModule moduleId="cdtBuildSystem" version="4.0.0">
+ <configuration artifactName="${ProjName}" buildArtefactType="org.eclipse.cdt.build.core.buildArtefactType.exe" buildProperties="org.eclipse.cdt.build.core.buildType=org.eclipse.cdt.build.core.buildType.release,org.eclipse.cdt.build.core.buildArtefactType=org.eclipse.cdt.build.core.buildArtefactType.exe" cleanCommand="rm -rf" description="" id="cdt.managedbuild.config.gnu.exe.release.516628324" name="Release" parent="cdt.managedbuild.config.gnu.exe.release">
+ <folderInfo id="cdt.managedbuild.config.gnu.exe.release.516628324." name="/" resourcePath="">
+ <toolChain id="cdt.managedbuild.toolchain.gnu.exe.release.1782680519" name="Linux GCC" superClass="cdt.managedbuild.toolchain.gnu.exe.release">
+ <targetPlatform id="cdt.managedbuild.target.gnu.platform.exe.release.587667692" name="Debug Platform" superClass="cdt.managedbuild.target.gnu.platform.exe.release"/>
+ <builder buildPath="${workspace_loc:/moses-chart-cmd/Release}" id="cdt.managedbuild.target.gnu.builder.exe.release.330540300" keepEnvironmentInBuildfile="false" managedBuildOn="true" name="Gnu Make Builder" superClass="cdt.managedbuild.target.gnu.builder.exe.release"/>
+ <tool id="cdt.managedbuild.tool.gnu.archiver.base.1062976385" name="GCC Archiver" superClass="cdt.managedbuild.tool.gnu.archiver.base"/>
+ <tool id="cdt.managedbuild.tool.gnu.cpp.compiler.exe.release.1344864210" name="GCC C++ Compiler" superClass="cdt.managedbuild.tool.gnu.cpp.compiler.exe.release">
+ <option id="gnu.cpp.compiler.exe.release.option.optimization.level.1422341509" name="Optimization Level" superClass="gnu.cpp.compiler.exe.release.option.optimization.level" value="gnu.cpp.compiler.optimization.level.most" valueType="enumerated"/>
+ <option id="gnu.cpp.compiler.exe.release.option.debugging.level.1573362644" name="Debug Level" superClass="gnu.cpp.compiler.exe.release.option.debugging.level" value="gnu.cpp.compiler.debugging.level.none" valueType="enumerated"/>
+ <inputType id="cdt.managedbuild.tool.gnu.cpp.compiler.input.1937178483" superClass="cdt.managedbuild.tool.gnu.cpp.compiler.input"/>
+ </tool>
+ <tool id="cdt.managedbuild.tool.gnu.c.compiler.exe.release.1116405938" name="GCC C Compiler" superClass="cdt.managedbuild.tool.gnu.c.compiler.exe.release">
+ <option defaultValue="gnu.c.optimization.level.most" id="gnu.c.compiler.exe.release.option.optimization.level.32856289" name="Optimization Level" superClass="gnu.c.compiler.exe.release.option.optimization.level" valueType="enumerated"/>
+ <option id="gnu.c.compiler.exe.release.option.debugging.level.1235489953" name="Debug Level" superClass="gnu.c.compiler.exe.release.option.debugging.level" value="gnu.c.debugging.level.none" valueType="enumerated"/>
+ <inputType id="cdt.managedbuild.tool.gnu.c.compiler.input.1583852187" superClass="cdt.managedbuild.tool.gnu.c.compiler.input"/>
+ </tool>
+ <tool id="cdt.managedbuild.tool.gnu.c.linker.exe.release.1007421110" name="GCC C Linker" superClass="cdt.managedbuild.tool.gnu.c.linker.exe.release"/>
+ <tool id="cdt.managedbuild.tool.gnu.cpp.linker.exe.release.195880914" name="GCC C++ Linker" superClass="cdt.managedbuild.tool.gnu.cpp.linker.exe.release">
+ <inputType id="cdt.managedbuild.tool.gnu.cpp.linker.input.518921609" superClass="cdt.managedbuild.tool.gnu.cpp.linker.input">
+ <additionalInput kind="additionalinputdependency" paths="$(USER_OBJS)"/>
+ <additionalInput kind="additionalinput" paths="$(LIBS)"/>
+ </inputType>
+ </tool>
+ <tool id="cdt.managedbuild.tool.gnu.assembler.exe.release.330494310" name="GCC Assembler" superClass="cdt.managedbuild.tool.gnu.assembler.exe.release">
+ <inputType id="cdt.managedbuild.tool.gnu.assembler.input.1407747418" superClass="cdt.managedbuild.tool.gnu.assembler.input"/>
+ </tool>
+ </toolChain>
+ </folderInfo>
+ </configuration>
+ </storageModule>
+ <storageModule moduleId="org.eclipse.cdt.core.externalSettings"/>
+ </cconfiguration>
+ </storageModule>
+ <storageModule moduleId="cdtBuildSystem" version="4.0.0">
+ <project id="moses-chart-cmd.cdt.managedbuild.target.gnu.exe.532411209" name="Executable" projectType="cdt.managedbuild.target.gnu.exe"/>
+ </storageModule>
+ <storageModule moduleId="scannerConfiguration">
+ <autodiscovery enabled="true" problemReportingEnabled="true" selectedProfileId=""/>
+ <scannerConfigBuildInfo instanceId="cdt.managedbuild.config.gnu.exe.release.516628324;cdt.managedbuild.config.gnu.exe.release.516628324.;cdt.managedbuild.tool.gnu.c.compiler.exe.release.1116405938;cdt.managedbuild.tool.gnu.c.compiler.input.1583852187">
+ <autodiscovery enabled="true" problemReportingEnabled="true" selectedProfileId="org.eclipse.cdt.managedbuilder.core.GCCManagedMakePerProjectProfileC"/>
+ </scannerConfigBuildInfo>
+ <scannerConfigBuildInfo instanceId="cdt.managedbuild.config.gnu.exe.debug.162355801;cdt.managedbuild.config.gnu.exe.debug.162355801.;cdt.managedbuild.tool.gnu.c.compiler.exe.debug.827478809;cdt.managedbuild.tool.gnu.c.compiler.input.128236233">
+ <autodiscovery enabled="true" problemReportingEnabled="true" selectedProfileId="org.eclipse.cdt.managedbuilder.core.GCCManagedMakePerProjectProfileC"/>
+ </scannerConfigBuildInfo>
+ <scannerConfigBuildInfo instanceId="cdt.managedbuild.config.gnu.exe.debug.162355801;cdt.managedbuild.config.gnu.exe.debug.162355801.;cdt.managedbuild.tool.gnu.cpp.compiler.exe.debug.1087697480;cdt.managedbuild.tool.gnu.cpp.compiler.input.1402496521">
+ <autodiscovery enabled="true" problemReportingEnabled="true" selectedProfileId="org.eclipse.cdt.managedbuilder.core.GCCManagedMakePerProjectProfileCPP"/>
+ </scannerConfigBuildInfo>
+ <scannerConfigBuildInfo instanceId="cdt.managedbuild.config.gnu.exe.release.516628324;cdt.managedbuild.config.gnu.exe.release.516628324.;cdt.managedbuild.tool.gnu.cpp.compiler.exe.release.1344864210;cdt.managedbuild.tool.gnu.cpp.compiler.input.1937178483">
+ <autodiscovery enabled="true" problemReportingEnabled="true" selectedProfileId="org.eclipse.cdt.managedbuilder.core.GCCManagedMakePerProjectProfileCPP"/>
+ </scannerConfigBuildInfo>
+ </storageModule>
+ <storageModule moduleId="refreshScope" versionNumber="1">
+ <resource resourceType="PROJECT" workspacePath="/moses-chart-cmd"/>
+ </storageModule>
+</cproject>
diff --git a/contrib/other-builds/moses-chart-cmd/.project b/contrib/other-builds/moses-chart-cmd/.project
new file mode 100644
index 000000000..094b33db1
--- /dev/null
+++ b/contrib/other-builds/moses-chart-cmd/.project
@@ -0,0 +1,199 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<projectDescription>
+ <name>moses-chart-cmd</name>
+ <comment></comment>
+ <projects>
+ <project>lm</project>
+ <project>moses</project>
+ <project>OnDiskPt</project>
+ <project>util</project>
+ </projects>
+ <buildSpec>
+ <buildCommand>
+ <name>org.eclipse.cdt.managedbuilder.core.genmakebuilder</name>
+ <triggers>clean,full,incremental,</triggers>
+ <arguments>
+ <dictionary>
+ <key>?name?</key>
+ <value></value>
+ </dictionary>
+ <dictionary>
+ <key>org.eclipse.cdt.make.core.append_environment</key>
+ <value>true</value>
+ </dictionary>
+ <dictionary>
+ <key>org.eclipse.cdt.make.core.autoBuildTarget</key>
+ <value>all</value>
+ </dictionary>
+ <dictionary>
+ <key>org.eclipse.cdt.make.core.buildArguments</key>
+ <value></value>
+ </dictionary>
+ <dictionary>
+ <key>org.eclipse.cdt.make.core.buildCommand</key>
+ <value>make</value>
+ </dictionary>
+ <dictionary>
+ <key>org.eclipse.cdt.make.core.buildLocation</key>
+ <value>${workspace_loc:/moses-chart-cmd/Debug}</value>
+ </dictionary>
+ <dictionary>
+ <key>org.eclipse.cdt.make.core.cleanBuildTarget</key>
+ <value>clean</value>
+ </dictionary>
+ <dictionary>
+ <key>org.eclipse.cdt.make.core.contents</key>
+ <value>org.eclipse.cdt.make.core.activeConfigSettings</value>
+ </dictionary>
+ <dictionary>
+ <key>org.eclipse.cdt.make.core.enableAutoBuild</key>
+ <value>false</value>
+ </dictionary>
+ <dictionary>
+ <key>org.eclipse.cdt.make.core.enableCleanBuild</key>
+ <value>true</value>
+ </dictionary>
+ <dictionary>
+ <key>org.eclipse.cdt.make.core.enableFullBuild</key>
+ <value>true</value>
+ </dictionary>
+ <dictionary>
+ <key>org.eclipse.cdt.make.core.fullBuildTarget</key>
+ <value>all</value>
+ </dictionary>
+ <dictionary>
+ <key>org.eclipse.cdt.make.core.stopOnError</key>
+ <value>true</value>
+ </dictionary>
+ <dictionary>
+ <key>org.eclipse.cdt.make.core.useDefaultBuildCmd</key>
+ <value>true</value>
+ </dictionary>
+ </arguments>
+ </buildCommand>
+ <buildCommand>
+ <name>org.eclipse.cdt.managedbuilder.core.ScannerConfigBuilder</name>
+ <triggers>full,incremental,</triggers>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ </buildSpec>
+ <natures>
+ <nature>org.eclipse.cdt.core.cnature</nature>
+ <nature>org.eclipse.cdt.core.ccnature</nature>
+ <nature>org.eclipse.cdt.managedbuilder.core.managedBuildNature</nature>
+ <nature>org.eclipse.cdt.managedbuilder.core.ScannerConfigNature</nature>
+ </natures>
+ <linkedResources>
+ <link>
+ <name>IOWrapper.cpp</name>
+ <type>1</type>
+ <locationURI>PARENT-3-PROJECT_LOC/moses-chart-cmd/src/IOWrapper.cpp</locationURI>
+ </link>
+ <link>
+ <name>IOWrapper.h</name>
+ <type>1</type>
+ <locationURI>PARENT-3-PROJECT_LOC/moses-chart-cmd/src/IOWrapper.h</locationURI>
+ </link>
+ <link>
+ <name>Jamfile</name>
+ <type>1</type>
+ <locationURI>PARENT-3-PROJECT_LOC/moses-chart-cmd/src/Jamfile</locationURI>
+ </link>
+ <link>
+ <name>Main.cpp</name>
+ <type>1</type>
+ <locationURI>PARENT-3-PROJECT_LOC/moses-chart-cmd/src/Main.cpp</locationURI>
+ </link>
+ <link>
+ <name>Main.h</name>
+ <type>1</type>
+ <locationURI>PARENT-3-PROJECT_LOC/moses-chart-cmd/src/Main.h</locationURI>
+ </link>
+ <link>
+ <name>TranslationAnalysis.cpp</name>
+ <type>1</type>
+ <locationURI>PARENT-3-PROJECT_LOC/moses-chart-cmd/src/TranslationAnalysis.cpp</locationURI>
+ </link>
+ <link>
+ <name>TranslationAnalysis.h</name>
+ <type>1</type>
+ <locationURI>PARENT-3-PROJECT_LOC/moses-chart-cmd/src/TranslationAnalysis.h</locationURI>
+ </link>
+ <link>
+ <name>bin</name>
+ <type>2</type>
+ <locationURI>virtual:/virtual</locationURI>
+ </link>
+ <link>
+ <name>mbr.cpp</name>
+ <type>1</type>
+ <locationURI>PARENT-3-PROJECT_LOC/moses-chart-cmd/src/mbr.cpp</locationURI>
+ </link>
+ <link>
+ <name>mbr.h</name>
+ <type>1</type>
+ <locationURI>PARENT-3-PROJECT_LOC/moses-chart-cmd/src/mbr.h</locationURI>
+ </link>
+ <link>
+ <name>moses_chart</name>
+ <type>1</type>
+ <locationURI>PARENT-3-PROJECT_LOC/moses-chart-cmd/src/moses_chart</locationURI>
+ </link>
+ <link>
+ <name>bin/gcc-4.6</name>
+ <type>2</type>
+ <locationURI>virtual:/virtual</locationURI>
+ </link>
+ <link>
+ <name>bin/gcc-4.6/release</name>
+ <type>2</type>
+ <locationURI>virtual:/virtual</locationURI>
+ </link>
+ <link>
+ <name>bin/gcc-4.6/release/debug-symbols-on</name>
+ <type>2</type>
+ <locationURI>virtual:/virtual</locationURI>
+ </link>
+ <link>
+ <name>bin/gcc-4.6/release/debug-symbols-on/link-static</name>
+ <type>2</type>
+ <locationURI>virtual:/virtual</locationURI>
+ </link>
+ <link>
+ <name>bin/gcc-4.6/release/debug-symbols-on/link-static/threading-multi</name>
+ <type>2</type>
+ <locationURI>virtual:/virtual</locationURI>
+ </link>
+ <link>
+ <name>bin/gcc-4.6/release/debug-symbols-on/link-static/threading-multi/IOWrapper.o</name>
+ <type>1</type>
+ <locationURI>PARENT-3-PROJECT_LOC/moses-chart-cmd/src/bin/gcc-4.6/release/debug-symbols-on/link-static/threading-multi/IOWrapper.o</locationURI>
+ </link>
+ <link>
+ <name>bin/gcc-4.6/release/debug-symbols-on/link-static/threading-multi/Main.o</name>
+ <type>1</type>
+ <locationURI>PARENT-3-PROJECT_LOC/moses-chart-cmd/src/bin/gcc-4.6/release/debug-symbols-on/link-static/threading-multi/Main.o</locationURI>
+ </link>
+ <link>
+ <name>bin/gcc-4.6/release/debug-symbols-on/link-static/threading-multi/PhraseDictionary.o</name>
+ <type>1</type>
+ <locationURI>PARENT-3-PROJECT_LOC/moses-chart-cmd/src/bin/gcc-4.6/release/debug-symbols-on/link-static/threading-multi/PhraseDictionary.o</locationURI>
+ </link>
+ <link>
+ <name>bin/gcc-4.6/release/debug-symbols-on/link-static/threading-multi/TranslationAnalysis.o</name>
+ <type>1</type>
+ <locationURI>PARENT-3-PROJECT_LOC/moses-chart-cmd/src/bin/gcc-4.6/release/debug-symbols-on/link-static/threading-multi/TranslationAnalysis.o</locationURI>
+ </link>
+ <link>
+ <name>bin/gcc-4.6/release/debug-symbols-on/link-static/threading-multi/mbr.o</name>
+ <type>1</type>
+ <locationURI>PARENT-3-PROJECT_LOC/moses-chart-cmd/src/bin/gcc-4.6/release/debug-symbols-on/link-static/threading-multi/mbr.o</locationURI>
+ </link>
+ <link>
+ <name>bin/gcc-4.6/release/debug-symbols-on/link-static/threading-multi/moses_chart</name>
+ <type>1</type>
+ <locationURI>PARENT-3-PROJECT_LOC/moses-chart-cmd/src/bin/gcc-4.6/release/debug-symbols-on/link-static/threading-multi/moses_chart</locationURI>
+ </link>
+ </linkedResources>
+</projectDescription>
diff --git a/contrib/other-builds/moses-cmd.xcodeproj/project.pbxproj b/contrib/other-builds/moses-cmd.xcodeproj/project.pbxproj
index aac225ced..5bf91e2b8 100644
--- a/contrib/other-builds/moses-cmd.xcodeproj/project.pbxproj
+++ b/contrib/other-builds/moses-cmd.xcodeproj/project.pbxproj
@@ -337,7 +337,6 @@
"-lflm",
"-llattice",
"-lboost_thread-mt",
- "-lboost_filesystem-mt",
"-lboost_system-mt",
"-lcmph",
);
@@ -385,7 +384,6 @@
"-lflm",
"-llattice",
"-lboost_thread-mt",
- "-lboost_filesystem-mt",
"-lboost_system-mt",
"-lcmph",
);
@@ -430,7 +428,6 @@
"-lflm",
"-llattice",
"-lboost_thread-mt",
- "-lboost_filesystem-mt",
"-lboost_system-mt",
"-lcmph",
);
diff --git a/contrib/other-builds/moses-cmd/.cproject b/contrib/other-builds/moses-cmd/.cproject
index cdad4ad64..1428de199 100644
--- a/contrib/other-builds/moses-cmd/.cproject
+++ b/contrib/other-builds/moses-cmd/.cproject
@@ -3,11 +3,11 @@
<cproject storage_type_id="org.eclipse.cdt.core.XmlProjectDescriptionStorage">
<storageModule moduleId="org.eclipse.cdt.core.settings">
- <cconfiguration id="cdt.managedbuild.config.gnu.macosx.exe.debug.341255150">
- <storageModule buildSystemId="org.eclipse.cdt.managedbuilder.core.configurationDataProvider" id="cdt.managedbuild.config.gnu.macosx.exe.debug.341255150" moduleId="org.eclipse.cdt.core.settings" name="Debug">
+ <cconfiguration id="cdt.managedbuild.config.gnu.exe.debug.461114338">
+ <storageModule buildSystemId="org.eclipse.cdt.managedbuilder.core.configurationDataProvider" id="cdt.managedbuild.config.gnu.exe.debug.461114338" moduleId="org.eclipse.cdt.core.settings" name="Debug">
<externalSettings/>
<extensions>
- <extension id="org.eclipse.cdt.core.MachO64" point="org.eclipse.cdt.core.BinaryParser"/>
+ <extension id="org.eclipse.cdt.core.ELF" point="org.eclipse.cdt.core.BinaryParser"/>
<extension id="org.eclipse.cdt.core.GmakeErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
<extension id="org.eclipse.cdt.core.CWDLocator" point="org.eclipse.cdt.core.ErrorParser"/>
<extension id="org.eclipse.cdt.core.GCCErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
@@ -16,78 +16,64 @@
</extensions>
</storageModule>
<storageModule moduleId="cdtBuildSystem" version="4.0.0">
- <configuration artifactName="${ProjName}" buildArtefactType="org.eclipse.cdt.build.core.buildArtefactType.exe" buildProperties="org.eclipse.cdt.build.core.buildType=org.eclipse.cdt.build.core.buildType.debug,org.eclipse.cdt.build.core.buildArtefactType=org.eclipse.cdt.build.core.buildArtefactType.exe" cleanCommand="rm -rf" description="" id="cdt.managedbuild.config.gnu.macosx.exe.debug.341255150" name="Debug" parent="cdt.managedbuild.config.gnu.macosx.exe.debug">
- <folderInfo id="cdt.managedbuild.config.gnu.macosx.exe.debug.341255150." name="/" resourcePath="">
- <toolChain id="cdt.managedbuild.toolchain.gnu.macosx.exe.debug.1679946908" name="MacOSX GCC" superClass="cdt.managedbuild.toolchain.gnu.macosx.exe.debug">
- <targetPlatform id="cdt.managedbuild.target.gnu.platform.macosx.exe.debug.451172468" name="Debug Platform" superClass="cdt.managedbuild.target.gnu.platform.macosx.exe.debug"/>
- <builder buildPath="${workspace_loc:/moses-cmd/Debug}" id="cdt.managedbuild.target.gnu.builder.macosx.exe.debug.1382407954" keepEnvironmentInBuildfile="false" managedBuildOn="true" name="Gnu Make Builder" superClass="cdt.managedbuild.target.gnu.builder.macosx.exe.debug"/>
- <tool id="cdt.managedbuild.tool.macosx.c.linker.macosx.exe.debug.2118670613" name="MacOS X C Linker" superClass="cdt.managedbuild.tool.macosx.c.linker.macosx.exe.debug"/>
- <tool id="cdt.managedbuild.tool.macosx.cpp.linker.macosx.exe.debug.84059290" name="MacOS X C++ Linker" superClass="cdt.managedbuild.tool.macosx.cpp.linker.macosx.exe.debug">
- <option id="macosx.cpp.link.option.libs.1641794848" name="Libraries (-l)" superClass="macosx.cpp.link.option.libs" valueType="libs">
+ <configuration artifactName="${ProjName}" buildArtefactType="org.eclipse.cdt.build.core.buildArtefactType.exe" buildProperties="org.eclipse.cdt.build.core.buildType=org.eclipse.cdt.build.core.buildType.debug,org.eclipse.cdt.build.core.buildArtefactType=org.eclipse.cdt.build.core.buildArtefactType.exe" cleanCommand="rm -rf" description="" id="cdt.managedbuild.config.gnu.exe.debug.461114338" name="Debug" parent="cdt.managedbuild.config.gnu.exe.debug">
+ <folderInfo id="cdt.managedbuild.config.gnu.exe.debug.461114338." name="/" resourcePath="">
+ <toolChain id="cdt.managedbuild.toolchain.gnu.exe.debug.1896491482" name="Linux GCC" superClass="cdt.managedbuild.toolchain.gnu.exe.debug">
+ <targetPlatform id="cdt.managedbuild.target.gnu.platform.exe.debug.2144309834" name="Debug Platform" superClass="cdt.managedbuild.target.gnu.platform.exe.debug"/>
+ <builder buildPath="${workspace_loc:/moses-cmd/Debug}" id="cdt.managedbuild.target.gnu.builder.exe.debug.56664170" keepEnvironmentInBuildfile="false" managedBuildOn="true" name="Gnu Make Builder" superClass="cdt.managedbuild.target.gnu.builder.exe.debug"/>
+ <tool id="cdt.managedbuild.tool.gnu.archiver.base.1278274354" name="GCC Archiver" superClass="cdt.managedbuild.tool.gnu.archiver.base"/>
+ <tool id="cdt.managedbuild.tool.gnu.cpp.compiler.exe.debug.626095182" name="GCC C++ Compiler" superClass="cdt.managedbuild.tool.gnu.cpp.compiler.exe.debug">
+ <option id="gnu.cpp.compiler.exe.debug.option.optimization.level.2084031389" name="Optimization Level" superClass="gnu.cpp.compiler.exe.debug.option.optimization.level" value="gnu.cpp.compiler.optimization.level.none" valueType="enumerated"/>
+ <option id="gnu.cpp.compiler.exe.debug.option.debugging.level.811344734" name="Debug Level" superClass="gnu.cpp.compiler.exe.debug.option.debugging.level" value="gnu.cpp.compiler.debugging.level.max" valueType="enumerated"/>
+ <option id="gnu.cpp.compiler.option.include.paths.2118465683" name="Include paths (-I)" superClass="gnu.cpp.compiler.option.include.paths" valueType="includePath">
+ <listOptionValue builtIn="false" value="&quot;${workspace_loc}/../../moses/src&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${workspace_loc}/../..&quot;"/>
+ </option>
+ <inputType id="cdt.managedbuild.tool.gnu.cpp.compiler.input.363379373" superClass="cdt.managedbuild.tool.gnu.cpp.compiler.input"/>
+ </tool>
+ <tool id="cdt.managedbuild.tool.gnu.c.compiler.exe.debug.504208780" name="GCC C Compiler" superClass="cdt.managedbuild.tool.gnu.c.compiler.exe.debug">
+ <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" valueType="enumerated"/>
+ <option id="gnu.c.compiler.exe.debug.option.debugging.level.1722468661" name="Debug Level" superClass="gnu.c.compiler.exe.debug.option.debugging.level" value="gnu.c.debugging.level.max" valueType="enumerated"/>
+ <inputType id="cdt.managedbuild.tool.gnu.c.compiler.input.860636318" superClass="cdt.managedbuild.tool.gnu.c.compiler.input"/>
+ </tool>
+ <tool id="cdt.managedbuild.tool.gnu.c.linker.exe.debug.2096997198" name="GCC C Linker" superClass="cdt.managedbuild.tool.gnu.c.linker.exe.debug"/>
+ <tool id="cdt.managedbuild.tool.gnu.cpp.linker.exe.debug.1546774818" name="GCC C++ Linker" superClass="cdt.managedbuild.tool.gnu.cpp.linker.exe.debug">
+ <option id="gnu.cpp.link.option.paths.523170942" name="Library search path (-L)" superClass="gnu.cpp.link.option.paths" valueType="libPaths">
+ <listOptionValue builtIn="false" value="&quot;${workspace_loc:}/../../irstlm/lib&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${workspace_loc:/moses}/Debug&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${workspace_loc:/lm}/Debug&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${workspace_loc:/OnDiskPt}/Debug&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${workspace_loc:/util}/Debug&quot;"/>
+ </option>
+ <option id="gnu.cpp.link.option.libs.998577284" name="Libraries (-l)" superClass="gnu.cpp.link.option.libs" valueType="libs">
<listOptionValue builtIn="false" value="moses"/>
- <listOptionValue builtIn="false" value="rt"/>
- <listOptionValue builtIn="false" value="misc"/>
- <listOptionValue builtIn="false" value="dstruct"/>
- <listOptionValue builtIn="false" value="oolm"/>
- <listOptionValue builtIn="false" value="flm"/>
- <listOptionValue builtIn="false" value="lattice"/>
- <listOptionValue builtIn="false" value="OnDiskPt"/>
- <listOptionValue builtIn="false" value="lm"/>
- <listOptionValue builtIn="false" value="util"/>
<listOptionValue builtIn="false" value="irstlm"/>
+ <listOptionValue builtIn="false" value="OnDiskPt"/>
<listOptionValue builtIn="false" value="z"/>
+ <listOptionValue builtIn="false" value="rt"/>
<listOptionValue builtIn="false" value="boost_system"/>
- <listOptionValue builtIn="false" value="boost_filesystem"/>
- </option>
- <option id="macosx.cpp.link.option.paths.1615268628" name="Library search path (-L)" superClass="macosx.cpp.link.option.paths" valueType="libPaths">
- <listOptionValue builtIn="false" value="${workspace_loc:/moses}/Debug"/>
- <listOptionValue builtIn="false" value="${workspace_loc:}/../../srilm/lib/i686-m64"/>
- <listOptionValue builtIn="false" value="${workspace_loc:/OnDiskPt}/Debug"/>
- <listOptionValue builtIn="false" value="${workspace_loc:/lm}/Debug"/>
- <listOptionValue builtIn="false" value="${workspace_loc:/util}/Debug"/>
- <listOptionValue builtIn="false" value="${workspace_loc:}/../../irstlm/lib"/>
+ <listOptionValue builtIn="false" value="lm"/>
+ <listOptionValue builtIn="false" value="util"/>
</option>
- <inputType id="cdt.managedbuild.tool.macosx.cpp.linker.input.412058804" superClass="cdt.managedbuild.tool.macosx.cpp.linker.input">
+ <inputType id="cdt.managedbuild.tool.gnu.cpp.linker.input.983725033" superClass="cdt.managedbuild.tool.gnu.cpp.linker.input">
<additionalInput kind="additionalinputdependency" paths="$(USER_OBJS)"/>
<additionalInput kind="additionalinput" paths="$(LIBS)"/>
</inputType>
</tool>
- <tool id="cdt.managedbuild.tool.gnu.assembler.macosx.exe.debug.896987906" name="GCC Assembler" superClass="cdt.managedbuild.tool.gnu.assembler.macosx.exe.debug">
- <inputType id="cdt.managedbuild.tool.gnu.assembler.input.187427846" superClass="cdt.managedbuild.tool.gnu.assembler.input"/>
- </tool>
- <tool id="cdt.managedbuild.tool.gnu.archiver.macosx.base.2033983602" name="GCC Archiver" superClass="cdt.managedbuild.tool.gnu.archiver.macosx.base"/>
- <tool id="cdt.managedbuild.tool.gnu.cpp.compiler.macosx.exe.debug.1808603697" name="GCC C++ Compiler" superClass="cdt.managedbuild.tool.gnu.cpp.compiler.macosx.exe.debug">
- <option id="gnu.cpp.compilermacosx.exe.debug.option.optimization.level.2018824611" name="Optimization Level" superClass="gnu.cpp.compilermacosx.exe.debug.option.optimization.level" value="gnu.cpp.compiler.optimization.level.none" valueType="enumerated"/>
- <option id="gnu.cpp.compiler.macosx.exe.debug.option.debugging.level.1176009559" name="Debug Level" superClass="gnu.cpp.compiler.macosx.exe.debug.option.debugging.level" value="gnu.cpp.compiler.debugging.level.max" valueType="enumerated"/>
- <option id="gnu.cpp.compiler.option.include.paths.1024398579" name="Include paths (-I)" superClass="gnu.cpp.compiler.option.include.paths" valueType="includePath">
- <listOptionValue builtIn="false" value="/opt/local/include"/>
- <listOptionValue builtIn="false" value="${workspace_loc}/../../moses/src"/>
- <listOptionValue builtIn="false" value="${workspace_loc}/../../"/>
- </option>
- <option id="gnu.cpp.compiler.option.preprocessor.def.491464216" name="Defined symbols (-D)" superClass="gnu.cpp.compiler.option.preprocessor.def" valueType="definedSymbols">
- <listOptionValue builtIn="false" value="TRACE_ENABLE"/>
- </option>
- <inputType id="cdt.managedbuild.tool.gnu.cpp.compiler.input.240921565" superClass="cdt.managedbuild.tool.gnu.cpp.compiler.input"/>
- </tool>
- <tool id="cdt.managedbuild.tool.gnu.c.compiler.macosx.exe.debug.1201400609" name="GCC C Compiler" superClass="cdt.managedbuild.tool.gnu.c.compiler.macosx.exe.debug">
- <option defaultValue="gnu.c.optimization.level.none" id="gnu.c.compiler.macosx.exe.debug.option.optimization.level.748558048" name="Optimization Level" superClass="gnu.c.compiler.macosx.exe.debug.option.optimization.level" valueType="enumerated"/>
- <option id="gnu.c.compiler.macosx.exe.debug.option.debugging.level.1014626120" name="Debug Level" superClass="gnu.c.compiler.macosx.exe.debug.option.debugging.level" value="gnu.c.debugging.level.max" valueType="enumerated"/>
- <inputType id="cdt.managedbuild.tool.gnu.c.compiler.input.2031799877" superClass="cdt.managedbuild.tool.gnu.c.compiler.input"/>
+ <tool id="cdt.managedbuild.tool.gnu.assembler.exe.debug.1646579979" name="GCC Assembler" superClass="cdt.managedbuild.tool.gnu.assembler.exe.debug">
+ <inputType id="cdt.managedbuild.tool.gnu.assembler.input.1206872262" superClass="cdt.managedbuild.tool.gnu.assembler.input"/>
</tool>
</toolChain>
</folderInfo>
- <sourceEntries>
- <entry excluding="LatticeMBRGrid.cpp" flags="VALUE_WORKSPACE_PATH|RESOLVED" kind="sourcePath" name=""/>
- </sourceEntries>
</configuration>
</storageModule>
<storageModule moduleId="org.eclipse.cdt.core.externalSettings"/>
</cconfiguration>
- <cconfiguration id="cdt.managedbuild.config.macosx.exe.release.1916112479">
- <storageModule buildSystemId="org.eclipse.cdt.managedbuilder.core.configurationDataProvider" id="cdt.managedbuild.config.macosx.exe.release.1916112479" moduleId="org.eclipse.cdt.core.settings" name="Release">
+ <cconfiguration id="cdt.managedbuild.config.gnu.exe.release.2121690436">
+ <storageModule buildSystemId="org.eclipse.cdt.managedbuilder.core.configurationDataProvider" id="cdt.managedbuild.config.gnu.exe.release.2121690436" moduleId="org.eclipse.cdt.core.settings" name="Release">
<externalSettings/>
<extensions>
- <extension id="org.eclipse.cdt.core.MachO64" point="org.eclipse.cdt.core.BinaryParser"/>
+ <extension id="org.eclipse.cdt.core.ELF" point="org.eclipse.cdt.core.BinaryParser"/>
<extension id="org.eclipse.cdt.core.GmakeErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
<extension id="org.eclipse.cdt.core.CWDLocator" point="org.eclipse.cdt.core.ErrorParser"/>
<extension id="org.eclipse.cdt.core.GCCErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
@@ -96,31 +82,31 @@
</extensions>
</storageModule>
<storageModule moduleId="cdtBuildSystem" version="4.0.0">
- <configuration artifactName="${ProjName}" buildArtefactType="org.eclipse.cdt.build.core.buildArtefactType.exe" buildProperties="org.eclipse.cdt.build.core.buildType=org.eclipse.cdt.build.core.buildType.release,org.eclipse.cdt.build.core.buildArtefactType=org.eclipse.cdt.build.core.buildArtefactType.exe" cleanCommand="rm -rf" description="" id="cdt.managedbuild.config.macosx.exe.release.1916112479" name="Release" parent="cdt.managedbuild.config.macosx.exe.release">
- <folderInfo id="cdt.managedbuild.config.macosx.exe.release.1916112479." name="/" resourcePath="">
- <toolChain id="cdt.managedbuild.toolchain.gnu.macosx.exe.release.1528572752" name="MacOSX GCC" superClass="cdt.managedbuild.toolchain.gnu.macosx.exe.release">
- <targetPlatform id="cdt.managedbuild.target.gnu.platform.macosx.exe.release.1976002706" name="Debug Platform" superClass="cdt.managedbuild.target.gnu.platform.macosx.exe.release"/>
- <builder buildPath="${workspace_loc:/moses-cmd/Release}" id="cdt.managedbuild.target.gnu.builder.macosx.exe.release.1470455063" keepEnvironmentInBuildfile="false" managedBuildOn="true" name="Gnu Make Builder" superClass="cdt.managedbuild.target.gnu.builder.macosx.exe.release"/>
- <tool id="cdt.managedbuild.tool.macosx.c.linker.macosx.exe.release.335066624" name="MacOS X C Linker" superClass="cdt.managedbuild.tool.macosx.c.linker.macosx.exe.release"/>
- <tool id="cdt.managedbuild.tool.macosx.cpp.linker.macosx.exe.release.1173017253" name="MacOS X C++ Linker" superClass="cdt.managedbuild.tool.macosx.cpp.linker.macosx.exe.release">
- <inputType id="cdt.managedbuild.tool.macosx.cpp.linker.input.675070011" superClass="cdt.managedbuild.tool.macosx.cpp.linker.input">
+ <configuration artifactName="${ProjName}" buildArtefactType="org.eclipse.cdt.build.core.buildArtefactType.exe" buildProperties="org.eclipse.cdt.build.core.buildType=org.eclipse.cdt.build.core.buildType.release,org.eclipse.cdt.build.core.buildArtefactType=org.eclipse.cdt.build.core.buildArtefactType.exe" cleanCommand="rm -rf" description="" id="cdt.managedbuild.config.gnu.exe.release.2121690436" name="Release" parent="cdt.managedbuild.config.gnu.exe.release">
+ <folderInfo id="cdt.managedbuild.config.gnu.exe.release.2121690436." name="/" resourcePath="">
+ <toolChain id="cdt.managedbuild.toolchain.gnu.exe.release.1577734572" name="Linux GCC" superClass="cdt.managedbuild.toolchain.gnu.exe.release">
+ <targetPlatform id="cdt.managedbuild.target.gnu.platform.exe.release.1535487925" name="Debug Platform" superClass="cdt.managedbuild.target.gnu.platform.exe.release"/>
+ <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"/>
+ <tool id="cdt.managedbuild.tool.gnu.archiver.base.441254004" name="GCC Archiver" superClass="cdt.managedbuild.tool.gnu.archiver.base"/>
+ <tool id="cdt.managedbuild.tool.gnu.cpp.compiler.exe.release.376987001" name="GCC C++ Compiler" superClass="cdt.managedbuild.tool.gnu.cpp.compiler.exe.release">
+ <option id="gnu.cpp.compiler.exe.release.option.optimization.level.1276092407" name="Optimization Level" superClass="gnu.cpp.compiler.exe.release.option.optimization.level" value="gnu.cpp.compiler.optimization.level.most" valueType="enumerated"/>
+ <option id="gnu.cpp.compiler.exe.release.option.debugging.level.1794377625" name="Debug Level" superClass="gnu.cpp.compiler.exe.release.option.debugging.level" value="gnu.cpp.compiler.debugging.level.none" valueType="enumerated"/>
+ <inputType id="cdt.managedbuild.tool.gnu.cpp.compiler.input.93276909" superClass="cdt.managedbuild.tool.gnu.cpp.compiler.input"/>
+ </tool>
+ <tool id="cdt.managedbuild.tool.gnu.c.compiler.exe.release.1553350132" name="GCC C Compiler" superClass="cdt.managedbuild.tool.gnu.c.compiler.exe.release">
+ <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" valueType="enumerated"/>
+ <option id="gnu.c.compiler.exe.release.option.debugging.level.1860716465" name="Debug Level" superClass="gnu.c.compiler.exe.release.option.debugging.level" value="gnu.c.debugging.level.none" valueType="enumerated"/>
+ <inputType id="cdt.managedbuild.tool.gnu.c.compiler.input.1508465135" superClass="cdt.managedbuild.tool.gnu.c.compiler.input"/>
+ </tool>
+ <tool id="cdt.managedbuild.tool.gnu.c.linker.exe.release.1658143889" name="GCC C Linker" superClass="cdt.managedbuild.tool.gnu.c.linker.exe.release"/>
+ <tool id="cdt.managedbuild.tool.gnu.cpp.linker.exe.release.378727798" name="GCC C++ Linker" superClass="cdt.managedbuild.tool.gnu.cpp.linker.exe.release">
+ <inputType id="cdt.managedbuild.tool.gnu.cpp.linker.input.1701769819" superClass="cdt.managedbuild.tool.gnu.cpp.linker.input">
<additionalInput kind="additionalinputdependency" paths="$(USER_OBJS)"/>
<additionalInput kind="additionalinput" paths="$(LIBS)"/>
</inputType>
</tool>
- <tool id="cdt.managedbuild.tool.gnu.assembler.macosx.exe.release.174060449" name="GCC Assembler" superClass="cdt.managedbuild.tool.gnu.assembler.macosx.exe.release">
- <inputType id="cdt.managedbuild.tool.gnu.assembler.input.1018665338" superClass="cdt.managedbuild.tool.gnu.assembler.input"/>
- </tool>
- <tool id="cdt.managedbuild.tool.gnu.archiver.macosx.base.440711813" name="GCC Archiver" superClass="cdt.managedbuild.tool.gnu.archiver.macosx.base"/>
- <tool id="cdt.managedbuild.tool.gnu.cpp.compiler.macosx.exe.release.1219375865" name="GCC C++ Compiler" superClass="cdt.managedbuild.tool.gnu.cpp.compiler.macosx.exe.release">
- <option id="gnu.cpp.compiler.macosx.exe.release.option.optimization.level.1940339824" name="Optimization Level" superClass="gnu.cpp.compiler.macosx.exe.release.option.optimization.level" value="gnu.cpp.compiler.optimization.level.most" valueType="enumerated"/>
- <option id="gnu.cpp.compiler.macosx.exe.release.option.debugging.level.1648308879" name="Debug Level" superClass="gnu.cpp.compiler.macosx.exe.release.option.debugging.level" value="gnu.cpp.compiler.debugging.level.none" valueType="enumerated"/>
- <inputType id="cdt.managedbuild.tool.gnu.cpp.compiler.input.604224475" superClass="cdt.managedbuild.tool.gnu.cpp.compiler.input"/>
- </tool>
- <tool id="cdt.managedbuild.tool.gnu.c.compiler.macosx.exe.release.759110223" name="GCC C Compiler" superClass="cdt.managedbuild.tool.gnu.c.compiler.macosx.exe.release">
- <option defaultValue="gnu.c.optimization.level.most" id="gnu.c.compiler.macosx.exe.release.option.optimization.level.2105388501" name="Optimization Level" superClass="gnu.c.compiler.macosx.exe.release.option.optimization.level" valueType="enumerated"/>
- <option id="gnu.c.compiler.macosx.exe.release.option.debugging.level.1692046412" name="Debug Level" superClass="gnu.c.compiler.macosx.exe.release.option.debugging.level" value="gnu.c.debugging.level.none" valueType="enumerated"/>
- <inputType id="cdt.managedbuild.tool.gnu.c.compiler.input.1452105399" superClass="cdt.managedbuild.tool.gnu.c.compiler.input"/>
+ <tool id="cdt.managedbuild.tool.gnu.assembler.exe.release.1550193619" name="GCC Assembler" superClass="cdt.managedbuild.tool.gnu.assembler.exe.release">
+ <inputType id="cdt.managedbuild.tool.gnu.assembler.input.1296687303" superClass="cdt.managedbuild.tool.gnu.assembler.input"/>
</tool>
</toolChain>
</folderInfo>
@@ -130,25 +116,24 @@
</cconfiguration>
</storageModule>
<storageModule moduleId="cdtBuildSystem" version="4.0.0">
- <project id="moses-cmd.cdt.managedbuild.target.macosx.exe.1016275955" name="Executable" projectType="cdt.managedbuild.target.macosx.exe"/>
+ <project id="moses-cmd.cdt.managedbuild.target.gnu.exe.1380109162" name="Executable" projectType="cdt.managedbuild.target.gnu.exe"/>
</storageModule>
- <storageModule moduleId="refreshScope" versionNumber="1">
- <resource resourceType="PROJECT" workspacePath="/moses-cmd"/>
- </storageModule>
- <storageModule moduleId="org.eclipse.cdt.make.core.buildtargets"/>
<storageModule moduleId="scannerConfiguration">
<autodiscovery enabled="true" problemReportingEnabled="true" selectedProfileId=""/>
- <scannerConfigBuildInfo instanceId="cdt.managedbuild.config.macosx.exe.release.1916112479;cdt.managedbuild.config.macosx.exe.release.1916112479.;cdt.managedbuild.tool.gnu.c.compiler.macosx.exe.release.759110223;cdt.managedbuild.tool.gnu.c.compiler.input.1452105399">
+ <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">
<autodiscovery enabled="true" problemReportingEnabled="true" selectedProfileId="org.eclipse.cdt.managedbuilder.core.GCCManagedMakePerProjectProfileC"/>
</scannerConfigBuildInfo>
- <scannerConfigBuildInfo instanceId="cdt.managedbuild.config.gnu.macosx.exe.debug.341255150;cdt.managedbuild.config.gnu.macosx.exe.debug.341255150.;cdt.managedbuild.tool.gnu.c.compiler.macosx.exe.debug.1201400609;cdt.managedbuild.tool.gnu.c.compiler.input.2031799877">
+ <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">
<autodiscovery enabled="true" problemReportingEnabled="true" selectedProfileId="org.eclipse.cdt.managedbuilder.core.GCCManagedMakePerProjectProfileC"/>
</scannerConfigBuildInfo>
- <scannerConfigBuildInfo instanceId="cdt.managedbuild.config.macosx.exe.release.1916112479;cdt.managedbuild.config.macosx.exe.release.1916112479.;cdt.managedbuild.tool.gnu.cpp.compiler.macosx.exe.release.1219375865;cdt.managedbuild.tool.gnu.cpp.compiler.input.604224475">
+ <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">
<autodiscovery enabled="true" problemReportingEnabled="true" selectedProfileId="org.eclipse.cdt.managedbuilder.core.GCCManagedMakePerProjectProfileCPP"/>
</scannerConfigBuildInfo>
- <scannerConfigBuildInfo instanceId="cdt.managedbuild.config.gnu.macosx.exe.debug.341255150;cdt.managedbuild.config.gnu.macosx.exe.debug.341255150.;cdt.managedbuild.tool.gnu.cpp.compiler.macosx.exe.debug.1808603697;cdt.managedbuild.tool.gnu.cpp.compiler.input.240921565">
+ <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">
<autodiscovery enabled="true" problemReportingEnabled="true" selectedProfileId="org.eclipse.cdt.managedbuilder.core.GCCManagedMakePerProjectProfileCPP"/>
</scannerConfigBuildInfo>
</storageModule>
+ <storageModule moduleId="refreshScope" versionNumber="1">
+ <resource resourceType="PROJECT" workspacePath="/moses-cmd"/>
+ </storageModule>
</cproject>
diff --git a/contrib/other-builds/moses-cmd/.project b/contrib/other-builds/moses-cmd/.project
index c71651563..b04f36d53 100644
--- a/contrib/other-builds/moses-cmd/.project
+++ b/contrib/other-builds/moses-cmd/.project
@@ -96,11 +96,6 @@
<locationURI>PARENT-3-PROJECT_LOC/moses-cmd/src/IOWrapper.h</locationURI>
</link>
<link>
- <name>IOWrapper.o</name>
- <type>1</type>
- <locationURI>PARENT-3-PROJECT_LOC/moses-cmd/src/IOWrapper.o</locationURI>
- </link>
- <link>
<name>Jamfile</name>
<type>1</type>
<locationURI>PARENT-3-PROJECT_LOC/moses-cmd/src/Jamfile</locationURI>
@@ -116,84 +111,119 @@
<locationURI>PARENT-3-PROJECT_LOC/moses-cmd/src/LatticeMBR.h</locationURI>
</link>
<link>
- <name>LatticeMBR.o</name>
+ <name>Main.cpp</name>
<type>1</type>
- <locationURI>PARENT-3-PROJECT_LOC/moses-cmd/src/LatticeMBR.o</locationURI>
+ <locationURI>PARENT-3-PROJECT_LOC/moses-cmd/src/Main.cpp</locationURI>
</link>
<link>
- <name>LatticeMBRGrid.cpp</name>
+ <name>Main.h</name>
<type>1</type>
- <locationURI>PARENT-3-PROJECT_LOC/moses-cmd/src/LatticeMBRGrid.cpp</locationURI>
+ <locationURI>PARENT-3-PROJECT_LOC/moses-cmd/src/Main.h</locationURI>
</link>
<link>
- <name>LatticeMBRGrid.o</name>
+ <name>TranslationAnalysis.cpp</name>
<type>1</type>
- <locationURI>PARENT-3-PROJECT_LOC/moses-cmd/src/LatticeMBRGrid.o</locationURI>
+ <locationURI>PARENT-3-PROJECT_LOC/moses-cmd/src/TranslationAnalysis.cpp</locationURI>
</link>
<link>
- <name>Main.cpp</name>
+ <name>TranslationAnalysis.h</name>
<type>1</type>
- <locationURI>PARENT-3-PROJECT_LOC/moses-cmd/src/Main.cpp</locationURI>
+ <locationURI>PARENT-3-PROJECT_LOC/moses-cmd/src/TranslationAnalysis.h</locationURI>
</link>
<link>
- <name>Main.h</name>
+ <name>bin</name>
+ <type>2</type>
+ <locationURI>virtual:/virtual</locationURI>
+ </link>
+ <link>
+ <name>lmbrgrid</name>
<type>1</type>
- <locationURI>PARENT-3-PROJECT_LOC/moses-cmd/src/Main.h</locationURI>
+ <locationURI>PARENT-3-PROJECT_LOC/moses-cmd/src/lmbrgrid</locationURI>
</link>
<link>
- <name>Main.o</name>
+ <name>mbr.cpp</name>
<type>1</type>
- <locationURI>PARENT-3-PROJECT_LOC/moses-cmd/src/Main.o</locationURI>
+ <locationURI>PARENT-3-PROJECT_LOC/moses-cmd/src/mbr.cpp</locationURI>
</link>
<link>
- <name>TranslationAnalysis.cpp</name>
+ <name>mbr.h</name>
<type>1</type>
- <locationURI>PARENT-3-PROJECT_LOC/moses-cmd/src/TranslationAnalysis.cpp</locationURI>
+ <locationURI>PARENT-3-PROJECT_LOC/moses-cmd/src/mbr.h</locationURI>
</link>
<link>
- <name>TranslationAnalysis.h</name>
+ <name>moses</name>
<type>1</type>
- <locationURI>PARENT-3-PROJECT_LOC/moses-cmd/src/TranslationAnalysis.h</locationURI>
+ <locationURI>PARENT-3-PROJECT_LOC/moses-cmd/src/moses</locationURI>
</link>
<link>
- <name>TranslationAnalysis.o</name>
+ <name>bin/gcc-4.6</name>
+ <type>2</type>
+ <locationURI>virtual:/virtual</locationURI>
+ </link>
+ <link>
+ <name>bin/gcc-4.6/release</name>
+ <type>2</type>
+ <locationURI>virtual:/virtual</locationURI>
+ </link>
+ <link>
+ <name>bin/gcc-4.6/release/debug-symbols-on</name>
+ <type>2</type>
+ <locationURI>virtual:/virtual</locationURI>
+ </link>
+ <link>
+ <name>bin/gcc-4.6/release/debug-symbols-on/link-static</name>
+ <type>2</type>
+ <locationURI>virtual:/virtual</locationURI>
+ </link>
+ <link>
+ <name>bin/gcc-4.6/release/debug-symbols-on/link-static/threading-multi</name>
+ <type>2</type>
+ <locationURI>virtual:/virtual</locationURI>
+ </link>
+ <link>
+ <name>bin/gcc-4.6/release/debug-symbols-on/link-static/threading-multi/IOWrapper.o</name>
<type>1</type>
- <locationURI>PARENT-3-PROJECT_LOC/moses-cmd/src/TranslationAnalysis.o</locationURI>
+ <locationURI>PARENT-3-PROJECT_LOC/moses-cmd/src/bin/gcc-4.6/release/debug-symbols-on/link-static/threading-multi/IOWrapper.o</locationURI>
</link>
<link>
- <name>libkenlm.dylib</name>
+ <name>bin/gcc-4.6/release/debug-symbols-on/link-static/threading-multi/LatticeMBR.o</name>
<type>1</type>
- <locationURI>PARENT-3-PROJECT_LOC/moses-cmd/src/libkenlm.dylib</locationURI>
+ <locationURI>PARENT-3-PROJECT_LOC/moses-cmd/src/bin/gcc-4.6/release/debug-symbols-on/link-static/threading-multi/LatticeMBR.o</locationURI>
</link>
<link>
- <name>libkenutil.dylib</name>
+ <name>bin/gcc-4.6/release/debug-symbols-on/link-static/threading-multi/LatticeMBRGrid.o</name>
<type>1</type>
- <locationURI>PARENT-3-PROJECT_LOC/moses-cmd/src/libkenutil.dylib</locationURI>
+ <locationURI>PARENT-3-PROJECT_LOC/moses-cmd/src/bin/gcc-4.6/release/debug-symbols-on/link-static/threading-multi/LatticeMBRGrid.o</locationURI>
</link>
<link>
- <name>lmbrgrid</name>
+ <name>bin/gcc-4.6/release/debug-symbols-on/link-static/threading-multi/Main.o</name>
<type>1</type>
- <locationURI>PARENT-3-PROJECT_LOC/moses-cmd/src/lmbrgrid</locationURI>
+ <locationURI>PARENT-3-PROJECT_LOC/moses-cmd/src/bin/gcc-4.6/release/debug-symbols-on/link-static/threading-multi/Main.o</locationURI>
</link>
<link>
- <name>mbr.cpp</name>
+ <name>bin/gcc-4.6/release/debug-symbols-on/link-static/threading-multi/PhraseDictionary.o</name>
<type>1</type>
- <locationURI>PARENT-3-PROJECT_LOC/moses-cmd/src/mbr.cpp</locationURI>
+ <locationURI>PARENT-3-PROJECT_LOC/moses-cmd/src/bin/gcc-4.6/release/debug-symbols-on/link-static/threading-multi/PhraseDictionary.o</locationURI>
</link>
<link>
- <name>mbr.h</name>
+ <name>bin/gcc-4.6/release/debug-symbols-on/link-static/threading-multi/TranslationAnalysis.o</name>
<type>1</type>
- <locationURI>PARENT-3-PROJECT_LOC/moses-cmd/src/mbr.h</locationURI>
+ <locationURI>PARENT-3-PROJECT_LOC/moses-cmd/src/bin/gcc-4.6/release/debug-symbols-on/link-static/threading-multi/TranslationAnalysis.o</locationURI>
</link>
<link>
- <name>mbr.o</name>
+ <name>bin/gcc-4.6/release/debug-symbols-on/link-static/threading-multi/lmbrgrid</name>
<type>1</type>
- <locationURI>PARENT-3-PROJECT_LOC/moses-cmd/src/mbr.o</locationURI>
+ <locationURI>PARENT-3-PROJECT_LOC/moses-cmd/src/bin/gcc-4.6/release/debug-symbols-on/link-static/threading-multi/lmbrgrid</locationURI>
</link>
<link>
- <name>moses</name>
+ <name>bin/gcc-4.6/release/debug-symbols-on/link-static/threading-multi/mbr.o</name>
<type>1</type>
- <locationURI>PARENT-3-PROJECT_LOC/moses-cmd/src/moses</locationURI>
+ <locationURI>PARENT-3-PROJECT_LOC/moses-cmd/src/bin/gcc-4.6/release/debug-symbols-on/link-static/threading-multi/mbr.o</locationURI>
+ </link>
+ <link>
+ <name>bin/gcc-4.6/release/debug-symbols-on/link-static/threading-multi/moses</name>
+ <type>1</type>
+ <locationURI>PARENT-3-PROJECT_LOC/moses-cmd/src/bin/gcc-4.6/release/debug-symbols-on/link-static/threading-multi/moses</locationURI>
</link>
</linkedResources>
</projectDescription>
diff --git a/contrib/other-builds/moses.xcodeproj/project.pbxproj b/contrib/other-builds/moses.xcodeproj/project.pbxproj
index 2864615c6..91d3ee250 100644
--- a/contrib/other-builds/moses.xcodeproj/project.pbxproj
+++ b/contrib/other-builds/moses.xcodeproj/project.pbxproj
@@ -135,8 +135,6 @@
1EC737A814B977AB00238410 /* GlobalLexicalModel.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 1EC7363F14B977AA00238410 /* GlobalLexicalModel.cpp */; };
1EC737A914B977AB00238410 /* GlobalLexicalModel.h in Headers */ = {isa = PBXBuildFile; fileRef = 1EC7364014B977AA00238410 /* GlobalLexicalModel.h */; };
1EC737AA14B977AB00238410 /* gzfilebuf.h in Headers */ = {isa = PBXBuildFile; fileRef = 1EC7364114B977AA00238410 /* gzfilebuf.h */; };
- 1EC737AB14B977AB00238410 /* hash.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 1EC7364214B977AA00238410 /* hash.cpp */; };
- 1EC737AC14B977AB00238410 /* hash.h in Headers */ = {isa = PBXBuildFile; fileRef = 1EC7364314B977AA00238410 /* hash.h */; };
1EC737AD14B977AB00238410 /* Hypothesis.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 1EC7364514B977AA00238410 /* Hypothesis.cpp */; };
1EC737AE14B977AB00238410 /* Hypothesis.h in Headers */ = {isa = PBXBuildFile; fileRef = 1EC7364614B977AA00238410 /* Hypothesis.h */; };
1EC737AF14B977AB00238410 /* HypothesisStack.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 1EC7364714B977AA00238410 /* HypothesisStack.cpp */; };
@@ -465,8 +463,6 @@
1EC7363F14B977AA00238410 /* GlobalLexicalModel.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = GlobalLexicalModel.cpp; path = ../../moses/src/GlobalLexicalModel.cpp; sourceTree = "<group>"; };
1EC7364014B977AA00238410 /* GlobalLexicalModel.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = GlobalLexicalModel.h; path = ../../moses/src/GlobalLexicalModel.h; sourceTree = "<group>"; };
1EC7364114B977AA00238410 /* gzfilebuf.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = gzfilebuf.h; path = ../../moses/src/gzfilebuf.h; sourceTree = "<group>"; };
- 1EC7364214B977AA00238410 /* hash.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = hash.cpp; path = ../../moses/src/hash.cpp; sourceTree = "<group>"; };
- 1EC7364314B977AA00238410 /* hash.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = hash.h; path = ../../moses/src/hash.h; sourceTree = "<group>"; };
1EC7364414B977AA00238410 /* hypergraph.proto */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; name = hypergraph.proto; path = ../../moses/src/hypergraph.proto; sourceTree = "<group>"; };
1EC7364514B977AA00238410 /* Hypothesis.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = Hypothesis.cpp; path = ../../moses/src/Hypothesis.cpp; sourceTree = "<group>"; };
1EC7364614B977AA00238410 /* Hypothesis.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = Hypothesis.h; path = ../../moses/src/Hypothesis.h; sourceTree = "<group>"; };
@@ -772,8 +768,6 @@
1EC7363F14B977AA00238410 /* GlobalLexicalModel.cpp */,
1EC7364014B977AA00238410 /* GlobalLexicalModel.h */,
1EC7364114B977AA00238410 /* gzfilebuf.h */,
- 1EC7364214B977AA00238410 /* hash.cpp */,
- 1EC7364314B977AA00238410 /* hash.h */,
1EC7364414B977AA00238410 /* hypergraph.proto */,
1EF8F2C3159A61970047B613 /* HypoList.h */,
1EC7364514B977AA00238410 /* Hypothesis.cpp */,
@@ -1155,7 +1149,6 @@
1EC737A714B977AB00238410 /* GenerationDictionary.h in Headers */,
1EC737A914B977AB00238410 /* GlobalLexicalModel.h in Headers */,
1EC737AA14B977AB00238410 /* gzfilebuf.h in Headers */,
- 1EC737AC14B977AB00238410 /* hash.h in Headers */,
1EC737AE14B977AB00238410 /* Hypothesis.h in Headers */,
1EC737B014B977AB00238410 /* HypothesisStack.h in Headers */,
1EC737B214B977AB00238410 /* HypothesisStackCubePruning.h in Headers */,
@@ -1378,7 +1371,6 @@
1EC737A414B977AB00238410 /* FloydWarshall.cpp in Sources */,
1EC737A614B977AB00238410 /* GenerationDictionary.cpp in Sources */,
1EC737A814B977AB00238410 /* GlobalLexicalModel.cpp in Sources */,
- 1EC737AB14B977AB00238410 /* hash.cpp in Sources */,
1EC737AD14B977AB00238410 /* Hypothesis.cpp in Sources */,
1EC737AF14B977AB00238410 /* HypothesisStack.cpp in Sources */,
1EC737B114B977AB00238410 /* HypothesisStackCubePruning.cpp in Sources */,
diff --git a/contrib/other-builds/moses/.cproject b/contrib/other-builds/moses/.cproject
index 0148cc6f2..05eb2df40 100644
--- a/contrib/other-builds/moses/.cproject
+++ b/contrib/other-builds/moses/.cproject
@@ -31,7 +31,6 @@
<option id="gnu.cpp.compiler.exe.debug.option.optimization.level.1759650532" name="Optimization Level" superClass="gnu.cpp.compiler.exe.debug.option.optimization.level" value="gnu.cpp.compiler.optimization.level.none" valueType="enumerated"/>
<option id="gnu.cpp.compiler.exe.debug.option.debugging.level.2123672332" name="Debug Level" superClass="gnu.cpp.compiler.exe.debug.option.debugging.level" value="gnu.cpp.compiler.debugging.level.max" valueType="enumerated"/>
<option id="gnu.cpp.compiler.option.include.paths.57896781" name="Include paths (-I)" superClass="gnu.cpp.compiler.option.include.paths" valueType="includePath">
- <listOptionValue builtIn="false" value="/opt/local/include/"/>
<listOptionValue builtIn="false" value="${workspace_loc}/../../irstlm/include"/>
<listOptionValue builtIn="false" value="${workspace_loc}/../../srilm/include"/>
<listOptionValue builtIn="false" value="${workspace_loc}/../../moses/src"/>
@@ -63,18 +62,8 @@
</tool>
</toolChain>
</folderInfo>
- <fileInfo id="cdt.managedbuild.config.gnu.exe.debug.656913512.558758254" name="SyntacticLanguageModelState.h" rcbsApplicability="disable" resourcePath="SyntacticLanguageModelState.h" toolsToInvoke=""/>
- <fileInfo id="cdt.managedbuild.config.gnu.exe.debug.656913512.1930327037" name="SyntacticLanguageModelFiles.h" rcbsApplicability="disable" resourcePath="SyntacticLanguageModelFiles.h" toolsToInvoke=""/>
- <fileInfo id="cdt.managedbuild.config.gnu.exe.debug.656913512.1751563578" name="PhraseTableCreator.cpp" rcbsApplicability="disable" resourcePath="CompactPT/PhraseTableCreator.cpp" toolsToInvoke="cdt.managedbuild.tool.gnu.cpp.compiler.exe.debug.1774992327.1652631861">
- <tool id="cdt.managedbuild.tool.gnu.cpp.compiler.exe.debug.1774992327.1652631861" name="GCC C++ Compiler" superClass="cdt.managedbuild.tool.gnu.cpp.compiler.exe.debug.1774992327"/>
- </fileInfo>
- <fileInfo id="cdt.managedbuild.config.gnu.exe.debug.656913512.1174630266" name="Rand.h" rcbsApplicability="disable" resourcePath="LM/Rand.h" toolsToInvoke=""/>
- <fileInfo id="cdt.managedbuild.config.gnu.exe.debug.656913512.707830535" name="SRI.h" rcbsApplicability="disable" resourcePath="LM/SRI.h" toolsToInvoke=""/>
- <fileInfo id="cdt.managedbuild.config.gnu.exe.debug.656913512.160366559" name="LDHT.h" rcbsApplicability="disable" resourcePath="LM/LDHT.h" toolsToInvoke=""/>
- <fileInfo id="cdt.managedbuild.config.gnu.exe.debug.656913512.622077510" name="ParallelBackoff.h" rcbsApplicability="disable" resourcePath="LM/ParallelBackoff.h" toolsToInvoke=""/>
- <fileInfo id="cdt.managedbuild.config.gnu.exe.debug.656913512.1084194539" name="SyntacticLanguageModel.h" rcbsApplicability="disable" resourcePath="SyntacticLanguageModel.h" toolsToInvoke=""/>
<sourceEntries>
- <entry excluding="CompactPT/PhraseTableCreator.cpp|CompactPT/LexicalReorderingTableCreator.cpp|LM/SRI.h|LM/SRI.cpp|SyntacticLanguageModelState.h|SyntacticLanguageModelFiles.h|SyntacticLanguageModel.h|SyntacticLanguageModel.cpp|LM/ParallelBackoff.h|LM/ParallelBackoff.cpp|LM/Rand.h|LM/Rand.cpp|LM/LDHT.h|LM/LDHT.cpp" flags="VALUE_WORKSPACE_PATH|RESOLVED" kind="sourcePath" name=""/>
+ <entry excluding="src/SyntacticLanguageModelState.h|src/SyntacticLanguageModelFiles.h|src/SyntacticLanguageModel.h|src/SyntacticLanguageModel.cpp|src/LM/SRI.h|src/LM/SRI.cpp|src/LM/Rand.h|src/LM/Rand.cpp|src/LM/LDHT.h|src/LM/LDHT.cpp|LM/SRI.h|LM/SRI.cpp|SyntacticLanguageModelState.h|SyntacticLanguageModelFiles.h|SyntacticLanguageModel.h|SyntacticLanguageModel.cpp|LM/ParallelBackoff.h|LM/ParallelBackoff.cpp|LM/Rand.h|LM/Rand.cpp|LM/LDHT.h|LM/LDHT.cpp" flags="VALUE_WORKSPACE_PATH|RESOLVED" kind="sourcePath" name=""/>
</sourceEntries>
</configuration>
</storageModule>
diff --git a/contrib/other-builds/moses/.project b/contrib/other-builds/moses/.project
index 31c11819a..163d42197 100644
--- a/contrib/other-builds/moses/.project
+++ b/contrib/other-builds/moses/.project
@@ -84,52 +84,42 @@
<link>
<name>AlignmentInfo.cpp</name>
<type>1</type>
- <locationURI>PARENT-3-PROJECT_LOC/moses/src/AlignmentInfo.cpp</locationURI>
+ <locationURI>PARENT-1-ECLIPSE_HOME/workspace/github/moses-smt/moses/src/AlignmentInfo.cpp</locationURI>
</link>
<link>
<name>AlignmentInfo.h</name>
<type>1</type>
- <locationURI>PARENT-3-PROJECT_LOC/moses/src/AlignmentInfo.h</locationURI>
+ <locationURI>PARENT-1-ECLIPSE_HOME/workspace/github/moses-smt/moses/src/AlignmentInfo.h</locationURI>
</link>
<link>
<name>AlignmentInfoCollection.cpp</name>
<type>1</type>
- <locationURI>PARENT-3-PROJECT_LOC/moses/src/AlignmentInfoCollection.cpp</locationURI>
+ <locationURI>PARENT-1-ECLIPSE_HOME/workspace/github/moses-smt/moses/src/AlignmentInfoCollection.cpp</locationURI>
</link>
<link>
<name>AlignmentInfoCollection.h</name>
<type>1</type>
- <locationURI>PARENT-3-PROJECT_LOC/moses/src/AlignmentInfoCollection.h</locationURI>
- </link>
- <link>
- <name>ApplicableRuleTrie.cpp</name>
- <type>1</type>
- <locationURI>PARENT-3-PROJECT_LOC/moses/src/Scope3Parser/ApplicableRuleTrie.cpp</locationURI>
- </link>
- <link>
- <name>ApplicableRuleTrie.h</name>
- <type>1</type>
- <locationURI>PARENT-3-PROJECT_LOC/moses/src/Scope3Parser/ApplicableRuleTrie.h</locationURI>
+ <locationURI>PARENT-1-ECLIPSE_HOME/workspace/github/moses-smt/moses/src/AlignmentInfoCollection.h</locationURI>
</link>
<link>
<name>BilingualDynSuffixArray.cpp</name>
<type>1</type>
- <locationURI>PARENT-3-PROJECT_LOC/moses/src/BilingualDynSuffixArray.cpp</locationURI>
+ <locationURI>PARENT-1-ECLIPSE_HOME/workspace/github/moses-smt/moses/src/BilingualDynSuffixArray.cpp</locationURI>
</link>
<link>
<name>BilingualDynSuffixArray.h</name>
<type>1</type>
- <locationURI>PARENT-3-PROJECT_LOC/moses/src/BilingualDynSuffixArray.h</locationURI>
+ <locationURI>PARENT-1-ECLIPSE_HOME/workspace/github/moses-smt/moses/src/BilingualDynSuffixArray.h</locationURI>
</link>
<link>
<name>BitmapContainer.cpp</name>
<type>1</type>
- <locationURI>PARENT-3-PROJECT_LOC/moses/src/BitmapContainer.cpp</locationURI>
+ <locationURI>PARENT-1-ECLIPSE_HOME/workspace/github/moses-smt/moses/src/BitmapContainer.cpp</locationURI>
</link>
<link>
<name>BitmapContainer.h</name>
<type>1</type>
- <locationURI>PARENT-3-PROJECT_LOC/moses/src/BitmapContainer.h</locationURI>
+ <locationURI>PARENT-1-ECLIPSE_HOME/workspace/github/moses-smt/moses/src/BitmapContainer.h</locationURI>
</link>
<link>
<name>CYKPlusParser</name>
@@ -137,234 +127,219 @@
<locationURI>virtual:/virtual</locationURI>
</link>
<link>
- <name>CellCollection.h</name>
- <type>1</type>
- <locationURI>PARENT-3-PROJECT_LOC/moses/src/CellCollection.h</locationURI>
- </link>
- <link>
<name>ChartCell.cpp</name>
<type>1</type>
- <locationURI>PARENT-3-PROJECT_LOC/moses/src/ChartCell.cpp</locationURI>
+ <locationURI>PARENT-1-ECLIPSE_HOME/workspace/github/moses-smt/moses/src/ChartCell.cpp</locationURI>
</link>
<link>
<name>ChartCell.h</name>
<type>1</type>
- <locationURI>PARENT-3-PROJECT_LOC/moses/src/ChartCell.h</locationURI>
+ <locationURI>PARENT-1-ECLIPSE_HOME/workspace/github/moses-smt/moses/src/ChartCell.h</locationURI>
</link>
<link>
<name>ChartCellCollection.cpp</name>
<type>1</type>
- <locationURI>PARENT-3-PROJECT_LOC/moses/src/ChartCellCollection.cpp</locationURI>
+ <locationURI>PARENT-1-ECLIPSE_HOME/workspace/github/moses-smt/moses/src/ChartCellCollection.cpp</locationURI>
</link>
<link>
<name>ChartCellCollection.h</name>
<type>1</type>
- <locationURI>PARENT-3-PROJECT_LOC/moses/src/ChartCellCollection.h</locationURI>
+ <locationURI>PARENT-1-ECLIPSE_HOME/workspace/github/moses-smt/moses/src/ChartCellCollection.h</locationURI>
</link>
<link>
<name>ChartCellLabel.h</name>
<type>1</type>
- <locationURI>PARENT-3-PROJECT_LOC/moses/src/ChartCellLabel.h</locationURI>
+ <locationURI>PARENT-1-ECLIPSE_HOME/workspace/github/moses-smt/moses/src/ChartCellLabel.h</locationURI>
</link>
<link>
<name>ChartCellLabelSet.h</name>
<type>1</type>
- <locationURI>PARENT-3-PROJECT_LOC/moses/src/ChartCellLabelSet.h</locationURI>
+ <locationURI>PARENT-1-ECLIPSE_HOME/workspace/github/moses-smt/moses/src/ChartCellLabelSet.h</locationURI>
</link>
<link>
<name>ChartHypothesis.cpp</name>
<type>1</type>
- <locationURI>PARENT-3-PROJECT_LOC/moses/src/ChartHypothesis.cpp</locationURI>
+ <locationURI>PARENT-1-ECLIPSE_HOME/workspace/github/moses-smt/moses/src/ChartHypothesis.cpp</locationURI>
</link>
<link>
<name>ChartHypothesis.h</name>
<type>1</type>
- <locationURI>PARENT-3-PROJECT_LOC/moses/src/ChartHypothesis.h</locationURI>
+ <locationURI>PARENT-1-ECLIPSE_HOME/workspace/github/moses-smt/moses/src/ChartHypothesis.h</locationURI>
</link>
<link>
<name>ChartHypothesisCollection.cpp</name>
<type>1</type>
- <locationURI>PARENT-3-PROJECT_LOC/moses/src/ChartHypothesisCollection.cpp</locationURI>
+ <locationURI>PARENT-1-ECLIPSE_HOME/workspace/github/moses-smt/moses/src/ChartHypothesisCollection.cpp</locationURI>
</link>
<link>
<name>ChartHypothesisCollection.h</name>
<type>1</type>
- <locationURI>PARENT-3-PROJECT_LOC/moses/src/ChartHypothesisCollection.h</locationURI>
+ <locationURI>PARENT-1-ECLIPSE_HOME/workspace/github/moses-smt/moses/src/ChartHypothesisCollection.h</locationURI>
</link>
<link>
<name>ChartManager.cpp</name>
<type>1</type>
- <locationURI>PARENT-3-PROJECT_LOC/moses/src/ChartManager.cpp</locationURI>
+ <locationURI>PARENT-1-ECLIPSE_HOME/workspace/github/moses-smt/moses/src/ChartManager.cpp</locationURI>
</link>
<link>
<name>ChartManager.h</name>
<type>1</type>
- <locationURI>PARENT-3-PROJECT_LOC/moses/src/ChartManager.h</locationURI>
+ <locationURI>PARENT-1-ECLIPSE_HOME/workspace/github/moses-smt/moses/src/ChartManager.h</locationURI>
</link>
<link>
<name>ChartRuleLookupManager.h</name>
<type>1</type>
- <locationURI>PARENT-3-PROJECT_LOC/moses/src/ChartRuleLookupManager.h</locationURI>
+ <locationURI>PARENT-1-ECLIPSE_HOME/workspace/github/moses-smt/moses/src/ChartRuleLookupManager.h</locationURI>
</link>
<link>
- <name>ChartTranslationOption.cpp</name>
- <type>1</type>
- <locationURI>PARENT-3-PROJECT_LOC/moses/src/ChartTranslationOption.cpp</locationURI>
- </link>
- <link>
- <name>ChartTranslationOption.h</name>
- <type>1</type>
- <locationURI>PARENT-3-PROJECT_LOC/moses/src/ChartTranslationOption.h</locationURI>
- </link>
- <link>
- <name>ChartTranslationOptionCollection.cpp</name>
+ <name>ChartTranslationOptionList.cpp</name>
<type>1</type>
- <locationURI>PARENT-3-PROJECT_LOC/moses/src/ChartTranslationOptionCollection.cpp</locationURI>
+ <locationURI>PARENT-1-ECLIPSE_HOME/workspace/github/moses-smt/moses/src/ChartTranslationOptionList.cpp</locationURI>
</link>
<link>
- <name>ChartTranslationOptionCollection.h</name>
+ <name>ChartTranslationOptionList.h</name>
<type>1</type>
- <locationURI>PARENT-3-PROJECT_LOC/moses/src/ChartTranslationOptionCollection.h</locationURI>
+ <locationURI>PARENT-1-ECLIPSE_HOME/workspace/github/moses-smt/moses/src/ChartTranslationOptionList.h</locationURI>
</link>
<link>
- <name>ChartTranslationOptionList.cpp</name>
+ <name>ChartTranslationOptions.cpp</name>
<type>1</type>
- <locationURI>PARENT-3-PROJECT_LOC/moses/src/ChartTranslationOptionList.cpp</locationURI>
+ <locationURI>PARENT-1-ECLIPSE_HOME/workspace/github/moses-smt/moses/src/ChartTranslationOptions.cpp</locationURI>
</link>
<link>
- <name>ChartTranslationOptionList.h</name>
+ <name>ChartTranslationOptions.h</name>
<type>1</type>
- <locationURI>PARENT-3-PROJECT_LOC/moses/src/ChartTranslationOptionList.h</locationURI>
+ <locationURI>PARENT-1-ECLIPSE_HOME/workspace/github/moses-smt/moses/src/ChartTranslationOptions.h</locationURI>
</link>
<link>
<name>ChartTrellisDetour.cpp</name>
<type>1</type>
- <locationURI>PARENT-3-PROJECT_LOC/moses/src/ChartTrellisDetour.cpp</locationURI>
+ <locationURI>PARENT-1-ECLIPSE_HOME/workspace/github/moses-smt/moses/src/ChartTrellisDetour.cpp</locationURI>
</link>
<link>
<name>ChartTrellisDetour.h</name>
<type>1</type>
- <locationURI>PARENT-3-PROJECT_LOC/moses/src/ChartTrellisDetour.h</locationURI>
+ <locationURI>PARENT-1-ECLIPSE_HOME/workspace/github/moses-smt/moses/src/ChartTrellisDetour.h</locationURI>
</link>
<link>
<name>ChartTrellisDetourQueue.cpp</name>
<type>1</type>
- <locationURI>PARENT-3-PROJECT_LOC/moses/src/ChartTrellisDetourQueue.cpp</locationURI>
+ <locationURI>PARENT-1-ECLIPSE_HOME/workspace/github/moses-smt/moses/src/ChartTrellisDetourQueue.cpp</locationURI>
</link>
<link>
<name>ChartTrellisDetourQueue.h</name>
<type>1</type>
- <locationURI>PARENT-3-PROJECT_LOC/moses/src/ChartTrellisDetourQueue.h</locationURI>
+ <locationURI>PARENT-1-ECLIPSE_HOME/workspace/github/moses-smt/moses/src/ChartTrellisDetourQueue.h</locationURI>
</link>
<link>
<name>ChartTrellisNode.cpp</name>
<type>1</type>
- <locationURI>PARENT-3-PROJECT_LOC/moses/src/ChartTrellisNode.cpp</locationURI>
+ <locationURI>PARENT-1-ECLIPSE_HOME/workspace/github/moses-smt/moses/src/ChartTrellisNode.cpp</locationURI>
</link>
<link>
<name>ChartTrellisNode.h</name>
<type>1</type>
- <locationURI>PARENT-3-PROJECT_LOC/moses/src/ChartTrellisNode.h</locationURI>
+ <locationURI>PARENT-1-ECLIPSE_HOME/workspace/github/moses-smt/moses/src/ChartTrellisNode.h</locationURI>
</link>
<link>
<name>ChartTrellisPath.cpp</name>
<type>1</type>
- <locationURI>PARENT-3-PROJECT_LOC/moses/src/ChartTrellisPath.cpp</locationURI>
+ <locationURI>PARENT-1-ECLIPSE_HOME/workspace/github/moses-smt/moses/src/ChartTrellisPath.cpp</locationURI>
</link>
<link>
<name>ChartTrellisPath.h</name>
<type>1</type>
- <locationURI>PARENT-3-PROJECT_LOC/moses/src/ChartTrellisPath.h</locationURI>
+ <locationURI>PARENT-1-ECLIPSE_HOME/workspace/github/moses-smt/moses/src/ChartTrellisPath.h</locationURI>
</link>
<link>
<name>ChartTrellisPathList.h</name>
<type>1</type>
- <locationURI>PARENT-3-PROJECT_LOC/moses/src/ChartTrellisPathList.h</locationURI>
+ <locationURI>PARENT-1-ECLIPSE_HOME/workspace/github/moses-smt/moses/src/ChartTrellisPathList.h</locationURI>
</link>
<link>
<name>CompactPT</name>
<type>2</type>
- <locationURI>PARENT-3-PROJECT_LOC/moses/src/CompactPT</locationURI>
+ <locationURI>virtual:/virtual</locationURI>
</link>
<link>
<name>ConfusionNet.cpp</name>
<type>1</type>
- <locationURI>PARENT-3-PROJECT_LOC/moses/src/ConfusionNet.cpp</locationURI>
+ <locationURI>PARENT-1-ECLIPSE_HOME/workspace/github/moses-smt/moses/src/ConfusionNet.cpp</locationURI>
</link>
<link>
<name>ConfusionNet.h</name>
<type>1</type>
- <locationURI>PARENT-3-PROJECT_LOC/moses/src/ConfusionNet.h</locationURI>
+ <locationURI>PARENT-1-ECLIPSE_HOME/workspace/github/moses-smt/moses/src/ConfusionNet.h</locationURI>
</link>
<link>
<name>DecodeFeature.cpp</name>
<type>1</type>
- <locationURI>PARENT-3-PROJECT_LOC/moses/src/DecodeFeature.cpp</locationURI>
+ <locationURI>PARENT-1-ECLIPSE_HOME/workspace/github/moses-smt/moses/src/DecodeFeature.cpp</locationURI>
</link>
<link>
<name>DecodeFeature.h</name>
<type>1</type>
- <locationURI>PARENT-3-PROJECT_LOC/moses/src/DecodeFeature.h</locationURI>
+ <locationURI>PARENT-1-ECLIPSE_HOME/workspace/github/moses-smt/moses/src/DecodeFeature.h</locationURI>
</link>
<link>
<name>DecodeGraph.cpp</name>
<type>1</type>
- <locationURI>PARENT-3-PROJECT_LOC/moses/src/DecodeGraph.cpp</locationURI>
+ <locationURI>PARENT-1-ECLIPSE_HOME/workspace/github/moses-smt/moses/src/DecodeGraph.cpp</locationURI>
</link>
<link>
<name>DecodeGraph.h</name>
<type>1</type>
- <locationURI>PARENT-3-PROJECT_LOC/moses/src/DecodeGraph.h</locationURI>
+ <locationURI>PARENT-1-ECLIPSE_HOME/workspace/github/moses-smt/moses/src/DecodeGraph.h</locationURI>
</link>
<link>
<name>DecodeStep.cpp</name>
<type>1</type>
- <locationURI>PARENT-3-PROJECT_LOC/moses/src/DecodeStep.cpp</locationURI>
+ <locationURI>PARENT-1-ECLIPSE_HOME/workspace/github/moses-smt/moses/src/DecodeStep.cpp</locationURI>
</link>
<link>
<name>DecodeStep.h</name>
<type>1</type>
- <locationURI>PARENT-3-PROJECT_LOC/moses/src/DecodeStep.h</locationURI>
+ <locationURI>PARENT-1-ECLIPSE_HOME/workspace/github/moses-smt/moses/src/DecodeStep.h</locationURI>
</link>
<link>
<name>DecodeStepGeneration.cpp</name>
<type>1</type>
- <locationURI>PARENT-3-PROJECT_LOC/moses/src/DecodeStepGeneration.cpp</locationURI>
+ <locationURI>PARENT-1-ECLIPSE_HOME/workspace/github/moses-smt/moses/src/DecodeStepGeneration.cpp</locationURI>
</link>
<link>
<name>DecodeStepGeneration.h</name>
<type>1</type>
- <locationURI>PARENT-3-PROJECT_LOC/moses/src/DecodeStepGeneration.h</locationURI>
+ <locationURI>PARENT-1-ECLIPSE_HOME/workspace/github/moses-smt/moses/src/DecodeStepGeneration.h</locationURI>
</link>
<link>
<name>DecodeStepTranslation.cpp</name>
<type>1</type>
- <locationURI>PARENT-3-PROJECT_LOC/moses/src/DecodeStepTranslation.cpp</locationURI>
+ <locationURI>PARENT-1-ECLIPSE_HOME/workspace/github/moses-smt/moses/src/DecodeStepTranslation.cpp</locationURI>
</link>
<link>
<name>DecodeStepTranslation.h</name>
<type>1</type>
- <locationURI>PARENT-3-PROJECT_LOC/moses/src/DecodeStepTranslation.h</locationURI>
+ <locationURI>PARENT-1-ECLIPSE_HOME/workspace/github/moses-smt/moses/src/DecodeStepTranslation.h</locationURI>
</link>
<link>
<name>Dictionary.cpp</name>
<type>1</type>
- <locationURI>PARENT-3-PROJECT_LOC/moses/src/Dictionary.cpp</locationURI>
+ <locationURI>PARENT-1-ECLIPSE_HOME/workspace/github/moses-smt/moses/src/Dictionary.cpp</locationURI>
</link>
<link>
<name>Dictionary.h</name>
<type>1</type>
- <locationURI>PARENT-3-PROJECT_LOC/moses/src/Dictionary.h</locationURI>
+ <locationURI>PARENT-1-ECLIPSE_HOME/workspace/github/moses-smt/moses/src/Dictionary.h</locationURI>
</link>
<link>
<name>DummyScoreProducers.cpp</name>
<type>1</type>
- <locationURI>PARENT-3-PROJECT_LOC/moses/src/DummyScoreProducers.cpp</locationURI>
+ <locationURI>PARENT-1-ECLIPSE_HOME/workspace/github/moses-smt/moses/src/DummyScoreProducers.cpp</locationURI>
</link>
<link>
<name>DummyScoreProducers.h</name>
<type>1</type>
- <locationURI>PARENT-3-PROJECT_LOC/moses/src/DummyScoreProducers.h</locationURI>
+ <locationURI>PARENT-1-ECLIPSE_HOME/workspace/github/moses-smt/moses/src/DummyScoreProducers.h</locationURI>
</link>
<link>
<name>DynSAInclude</name>
@@ -374,202 +349,177 @@
<link>
<name>DynSuffixArray.cpp</name>
<type>1</type>
- <locationURI>PARENT-3-PROJECT_LOC/moses/src/DynSuffixArray.cpp</locationURI>
+ <locationURI>PARENT-1-ECLIPSE_HOME/workspace/github/moses-smt/moses/src/DynSuffixArray.cpp</locationURI>
</link>
<link>
<name>DynSuffixArray.h</name>
<type>1</type>
- <locationURI>PARENT-3-PROJECT_LOC/moses/src/DynSuffixArray.h</locationURI>
+ <locationURI>PARENT-1-ECLIPSE_HOME/workspace/github/moses-smt/moses/src/DynSuffixArray.h</locationURI>
</link>
<link>
<name>FFState.cpp</name>
<type>1</type>
- <locationURI>PARENT-3-PROJECT_LOC/moses/src/FFState.cpp</locationURI>
+ <locationURI>PARENT-1-ECLIPSE_HOME/workspace/github/moses-smt/moses/src/FFState.cpp</locationURI>
</link>
<link>
<name>FFState.h</name>
<type>1</type>
- <locationURI>PARENT-3-PROJECT_LOC/moses/src/FFState.h</locationURI>
+ <locationURI>PARENT-1-ECLIPSE_HOME/workspace/github/moses-smt/moses/src/FFState.h</locationURI>
</link>
<link>
<name>Factor.cpp</name>
<type>1</type>
- <locationURI>PARENT-3-PROJECT_LOC/moses/src/Factor.cpp</locationURI>
+ <locationURI>PARENT-1-ECLIPSE_HOME/workspace/github/moses-smt/moses/src/Factor.cpp</locationURI>
</link>
<link>
<name>Factor.h</name>
<type>1</type>
- <locationURI>PARENT-3-PROJECT_LOC/moses/src/Factor.h</locationURI>
+ <locationURI>PARENT-1-ECLIPSE_HOME/workspace/github/moses-smt/moses/src/Factor.h</locationURI>
</link>
<link>
<name>FactorCollection.cpp</name>
<type>1</type>
- <locationURI>PARENT-3-PROJECT_LOC/moses/src/FactorCollection.cpp</locationURI>
+ <locationURI>PARENT-1-ECLIPSE_HOME/workspace/github/moses-smt/moses/src/FactorCollection.cpp</locationURI>
</link>
<link>
<name>FactorCollection.h</name>
<type>1</type>
- <locationURI>PARENT-3-PROJECT_LOC/moses/src/FactorCollection.h</locationURI>
+ <locationURI>PARENT-1-ECLIPSE_HOME/workspace/github/moses-smt/moses/src/FactorCollection.h</locationURI>
</link>
<link>
<name>FactorTypeSet.cpp</name>
<type>1</type>
- <locationURI>PARENT-3-PROJECT_LOC/moses/src/FactorTypeSet.cpp</locationURI>
+ <locationURI>PARENT-1-ECLIPSE_HOME/workspace/github/moses-smt/moses/src/FactorTypeSet.cpp</locationURI>
</link>
<link>
<name>FactorTypeSet.h</name>
<type>1</type>
- <locationURI>PARENT-3-PROJECT_LOC/moses/src/FactorTypeSet.h</locationURI>
+ <locationURI>PARENT-1-ECLIPSE_HOME/workspace/github/moses-smt/moses/src/FactorTypeSet.h</locationURI>
</link>
<link>
<name>FeatureFunction.cpp</name>
<type>1</type>
- <locationURI>PARENT-3-PROJECT_LOC/moses/src/FeatureFunction.cpp</locationURI>
+ <locationURI>PARENT-1-ECLIPSE_HOME/workspace/github/moses-smt/moses/src/FeatureFunction.cpp</locationURI>
</link>
<link>
<name>FeatureFunction.h</name>
<type>1</type>
- <locationURI>PARENT-3-PROJECT_LOC/moses/src/FeatureFunction.h</locationURI>
+ <locationURI>PARENT-1-ECLIPSE_HOME/workspace/github/moses-smt/moses/src/FeatureFunction.h</locationURI>
</link>
<link>
<name>File.cpp</name>
<type>1</type>
- <locationURI>PARENT-3-PROJECT_LOC/moses/src/File.cpp</locationURI>
+ <locationURI>PARENT-1-ECLIPSE_HOME/workspace/github/moses-smt/moses/src/File.cpp</locationURI>
</link>
<link>
<name>File.h</name>
<type>1</type>
- <locationURI>PARENT-3-PROJECT_LOC/moses/src/File.h</locationURI>
+ <locationURI>PARENT-1-ECLIPSE_HOME/workspace/github/moses-smt/moses/src/File.h</locationURI>
</link>
<link>
<name>FilePtr.h</name>
<type>1</type>
- <locationURI>PARENT-3-PROJECT_LOC/moses/src/FilePtr.h</locationURI>
+ <locationURI>PARENT-1-ECLIPSE_HOME/workspace/github/moses-smt/moses/src/FilePtr.h</locationURI>
</link>
<link>
<name>FloydWarshall.cpp</name>
<type>1</type>
- <locationURI>PARENT-3-PROJECT_LOC/moses/src/FloydWarshall.cpp</locationURI>
+ <locationURI>PARENT-1-ECLIPSE_HOME/workspace/github/moses-smt/moses/src/FloydWarshall.cpp</locationURI>
</link>
<link>
<name>FloydWarshall.h</name>
<type>1</type>
- <locationURI>PARENT-3-PROJECT_LOC/moses/src/FloydWarshall.h</locationURI>
- </link>
- <link>
- <name>FuzzyMatchWrapper.cpp</name>
- <type>1</type>
- <locationURI>PARENT-3-PROJECT_LOC/moses/src/fuzzy-match/FuzzyMatchWrapper.cpp</locationURI>
- </link>
- <link>
- <name>FuzzyMatchWrapper.h</name>
- <type>1</type>
- <locationURI>PARENT-3-PROJECT_LOC/moses/src/fuzzy-match/FuzzyMatchWrapper.h</locationURI>
+ <locationURI>PARENT-1-ECLIPSE_HOME/workspace/github/moses-smt/moses/src/FloydWarshall.h</locationURI>
</link>
<link>
<name>GenerationDictionary.cpp</name>
<type>1</type>
- <locationURI>PARENT-3-PROJECT_LOC/moses/src/GenerationDictionary.cpp</locationURI>
+ <locationURI>PARENT-1-ECLIPSE_HOME/workspace/github/moses-smt/moses/src/GenerationDictionary.cpp</locationURI>
</link>
<link>
<name>GenerationDictionary.h</name>
<type>1</type>
- <locationURI>PARENT-3-PROJECT_LOC/moses/src/GenerationDictionary.h</locationURI>
+ <locationURI>PARENT-1-ECLIPSE_HOME/workspace/github/moses-smt/moses/src/GenerationDictionary.h</locationURI>
</link>
<link>
<name>GlobalLexicalModel.cpp</name>
<type>1</type>
- <locationURI>PARENT-3-PROJECT_LOC/moses/src/GlobalLexicalModel.cpp</locationURI>
+ <locationURI>PARENT-1-ECLIPSE_HOME/workspace/github/moses-smt/moses/src/GlobalLexicalModel.cpp</locationURI>
</link>
<link>
<name>GlobalLexicalModel.h</name>
<type>1</type>
- <locationURI>PARENT-3-PROJECT_LOC/moses/src/GlobalLexicalModel.h</locationURI>
+ <locationURI>PARENT-1-ECLIPSE_HOME/workspace/github/moses-smt/moses/src/GlobalLexicalModel.h</locationURI>
</link>
<link>
<name>HypoList.h</name>
<type>1</type>
- <locationURI>PARENT-3-PROJECT_LOC/moses/src/HypoList.h</locationURI>
+ <locationURI>PARENT-1-ECLIPSE_HOME/workspace/github/moses-smt/moses/src/HypoList.h</locationURI>
</link>
<link>
<name>Hypothesis.cpp</name>
<type>1</type>
- <locationURI>PARENT-3-PROJECT_LOC/moses/src/Hypothesis.cpp</locationURI>
+ <locationURI>PARENT-1-ECLIPSE_HOME/workspace/github/moses-smt/moses/src/Hypothesis.cpp</locationURI>
</link>
<link>
<name>Hypothesis.h</name>
<type>1</type>
- <locationURI>PARENT-3-PROJECT_LOC/moses/src/Hypothesis.h</locationURI>
+ <locationURI>PARENT-1-ECLIPSE_HOME/workspace/github/moses-smt/moses/src/Hypothesis.h</locationURI>
</link>
<link>
<name>HypothesisStack.cpp</name>
<type>1</type>
- <locationURI>PARENT-3-PROJECT_LOC/moses/src/HypothesisStack.cpp</locationURI>
+ <locationURI>PARENT-1-ECLIPSE_HOME/workspace/github/moses-smt/moses/src/HypothesisStack.cpp</locationURI>
</link>
<link>
<name>HypothesisStack.h</name>
<type>1</type>
- <locationURI>PARENT-3-PROJECT_LOC/moses/src/HypothesisStack.h</locationURI>
+ <locationURI>PARENT-1-ECLIPSE_HOME/workspace/github/moses-smt/moses/src/HypothesisStack.h</locationURI>
</link>
<link>
<name>HypothesisStackCubePruning.cpp</name>
<type>1</type>
- <locationURI>PARENT-3-PROJECT_LOC/moses/src/HypothesisStackCubePruning.cpp</locationURI>
+ <locationURI>PARENT-1-ECLIPSE_HOME/workspace/github/moses-smt/moses/src/HypothesisStackCubePruning.cpp</locationURI>
</link>
<link>
<name>HypothesisStackCubePruning.h</name>
<type>1</type>
- <locationURI>PARENT-3-PROJECT_LOC/moses/src/HypothesisStackCubePruning.h</locationURI>
+ <locationURI>PARENT-1-ECLIPSE_HOME/workspace/github/moses-smt/moses/src/HypothesisStackCubePruning.h</locationURI>
</link>
<link>
<name>HypothesisStackNormal.cpp</name>
<type>1</type>
- <locationURI>PARENT-3-PROJECT_LOC/moses/src/HypothesisStackNormal.cpp</locationURI>
+ <locationURI>PARENT-1-ECLIPSE_HOME/workspace/github/moses-smt/moses/src/HypothesisStackNormal.cpp</locationURI>
</link>
<link>
<name>HypothesisStackNormal.h</name>
<type>1</type>
- <locationURI>PARENT-3-PROJECT_LOC/moses/src/HypothesisStackNormal.h</locationURI>
- </link>
- <link>
- <name>IRST.lo</name>
- <type>1</type>
- <locationURI>PARENT-3-PROJECT_LOC/moses/src/IRST.lo</locationURI>
- </link>
- <link>
- <name>IRST.o</name>
- <type>1</type>
- <locationURI>PARENT-3-PROJECT_LOC/moses/src/IRST.o</locationURI>
+ <locationURI>PARENT-1-ECLIPSE_HOME/workspace/github/moses-smt/moses/src/HypothesisStackNormal.h</locationURI>
</link>
<link>
<name>InputFileStream.cpp</name>
<type>1</type>
- <locationURI>PARENT-3-PROJECT_LOC/moses/src/InputFileStream.cpp</locationURI>
+ <locationURI>PARENT-1-ECLIPSE_HOME/workspace/github/moses-smt/moses/src/InputFileStream.cpp</locationURI>
</link>
<link>
<name>InputFileStream.h</name>
<type>1</type>
- <locationURI>PARENT-3-PROJECT_LOC/moses/src/InputFileStream.h</locationURI>
+ <locationURI>PARENT-1-ECLIPSE_HOME/workspace/github/moses-smt/moses/src/InputFileStream.h</locationURI>
</link>
<link>
<name>InputType.cpp</name>
<type>1</type>
- <locationURI>PARENT-3-PROJECT_LOC/moses/src/InputType.cpp</locationURI>
+ <locationURI>PARENT-1-ECLIPSE_HOME/workspace/github/moses-smt/moses/src/InputType.cpp</locationURI>
</link>
<link>
<name>InputType.h</name>
<type>1</type>
- <locationURI>PARENT-3-PROJECT_LOC/moses/src/InputType.h</locationURI>
- </link>
- <link>
- <name>IntermediateVarSpanNode.h</name>
- <type>1</type>
- <locationURI>PARENT-3-PROJECT_LOC/moses/src/Scope3Parser/IntermediateVarSpanNode.h</locationURI>
+ <locationURI>PARENT-1-ECLIPSE_HOME/workspace/github/moses-smt/moses/src/InputType.h</locationURI>
</link>
<link>
<name>Jamfile</name>
<type>1</type>
- <locationURI>PARENT-3-PROJECT_LOC/moses/src/Jamfile</locationURI>
+ <locationURI>PARENT-1-ECLIPSE_HOME/workspace/github/moses-smt/moses/src/Jamfile</locationURI>
</link>
<link>
<name>LM</name>
@@ -579,1162 +529,1087 @@
<link>
<name>LMList.cpp</name>
<type>1</type>
- <locationURI>PARENT-3-PROJECT_LOC/moses/src/LMList.cpp</locationURI>
+ <locationURI>PARENT-1-ECLIPSE_HOME/workspace/github/moses-smt/moses/src/LMList.cpp</locationURI>
</link>
<link>
<name>LMList.h</name>
<type>1</type>
- <locationURI>PARENT-3-PROJECT_LOC/moses/src/LMList.h</locationURI>
+ <locationURI>PARENT-1-ECLIPSE_HOME/workspace/github/moses-smt/moses/src/LMList.h</locationURI>
</link>
<link>
<name>LVoc.cpp</name>
<type>1</type>
- <locationURI>PARENT-3-PROJECT_LOC/moses/src/LVoc.cpp</locationURI>
+ <locationURI>PARENT-1-ECLIPSE_HOME/workspace/github/moses-smt/moses/src/LVoc.cpp</locationURI>
</link>
<link>
<name>LVoc.h</name>
<type>1</type>
- <locationURI>PARENT-3-PROJECT_LOC/moses/src/LVoc.h</locationURI>
+ <locationURI>PARENT-1-ECLIPSE_HOME/workspace/github/moses-smt/moses/src/LVoc.h</locationURI>
</link>
<link>
<name>LexicalReordering.cpp</name>
<type>1</type>
- <locationURI>PARENT-3-PROJECT_LOC/moses/src/LexicalReordering.cpp</locationURI>
+ <locationURI>PARENT-1-ECLIPSE_HOME/workspace/github/moses-smt/moses/src/LexicalReordering.cpp</locationURI>
</link>
<link>
<name>LexicalReordering.h</name>
<type>1</type>
- <locationURI>PARENT-3-PROJECT_LOC/moses/src/LexicalReordering.h</locationURI>
+ <locationURI>PARENT-1-ECLIPSE_HOME/workspace/github/moses-smt/moses/src/LexicalReordering.h</locationURI>
</link>
<link>
<name>LexicalReorderingState.cpp</name>
<type>1</type>
- <locationURI>PARENT-3-PROJECT_LOC/moses/src/LexicalReorderingState.cpp</locationURI>
+ <locationURI>PARENT-1-ECLIPSE_HOME/workspace/github/moses-smt/moses/src/LexicalReorderingState.cpp</locationURI>
</link>
<link>
<name>LexicalReorderingState.h</name>
<type>1</type>
- <locationURI>PARENT-3-PROJECT_LOC/moses/src/LexicalReorderingState.h</locationURI>
+ <locationURI>PARENT-1-ECLIPSE_HOME/workspace/github/moses-smt/moses/src/LexicalReorderingState.h</locationURI>
</link>
<link>
<name>LexicalReorderingTable.cpp</name>
<type>1</type>
- <locationURI>PARENT-3-PROJECT_LOC/moses/src/LexicalReorderingTable.cpp</locationURI>
+ <locationURI>PARENT-1-ECLIPSE_HOME/workspace/github/moses-smt/moses/src/LexicalReorderingTable.cpp</locationURI>
</link>
<link>
<name>LexicalReorderingTable.h</name>
<type>1</type>
- <locationURI>PARENT-3-PROJECT_LOC/moses/src/LexicalReorderingTable.h</locationURI>
+ <locationURI>PARENT-1-ECLIPSE_HOME/workspace/github/moses-smt/moses/src/LexicalReorderingTable.h</locationURI>
</link>
<link>
<name>Manager.cpp</name>
<type>1</type>
- <locationURI>PARENT-3-PROJECT_LOC/moses/src/Manager.cpp</locationURI>
+ <locationURI>PARENT-1-ECLIPSE_HOME/workspace/github/moses-smt/moses/src/Manager.cpp</locationURI>
</link>
<link>
<name>Manager.h</name>
<type>1</type>
- <locationURI>PARENT-3-PROJECT_LOC/moses/src/Manager.h</locationURI>
- </link>
- <link>
- <name>Match.h</name>
- <type>1</type>
- <locationURI>PARENT-3-PROJECT_LOC/moses/src/fuzzy-match/Match.h</locationURI>
+ <locationURI>PARENT-1-ECLIPSE_HOME/workspace/github/moses-smt/moses/src/Manager.h</locationURI>
</link>
<link>
<name>NonTerminal.cpp</name>
<type>1</type>
- <locationURI>PARENT-3-PROJECT_LOC/moses/src/NonTerminal.cpp</locationURI>
+ <locationURI>PARENT-1-ECLIPSE_HOME/workspace/github/moses-smt/moses/src/NonTerminal.cpp</locationURI>
</link>
<link>
<name>NonTerminal.h</name>
<type>1</type>
- <locationURI>PARENT-3-PROJECT_LOC/moses/src/NonTerminal.h</locationURI>
+ <locationURI>PARENT-1-ECLIPSE_HOME/workspace/github/moses-smt/moses/src/NonTerminal.h</locationURI>
</link>
<link>
<name>ObjectPool.h</name>
<type>1</type>
- <locationURI>PARENT-3-PROJECT_LOC/moses/src/ObjectPool.h</locationURI>
+ <locationURI>PARENT-1-ECLIPSE_HOME/workspace/github/moses-smt/moses/src/ObjectPool.h</locationURI>
</link>
<link>
<name>OutputCollector.h</name>
<type>1</type>
- <locationURI>PARENT-3-PROJECT_LOC/moses/src/OutputCollector.h</locationURI>
+ <locationURI>PARENT-1-ECLIPSE_HOME/workspace/github/moses-smt/moses/src/OutputCollector.h</locationURI>
</link>
<link>
<name>PCNTools.cpp</name>
<type>1</type>
- <locationURI>PARENT-3-PROJECT_LOC/moses/src/PCNTools.cpp</locationURI>
+ <locationURI>PARENT-1-ECLIPSE_HOME/workspace/github/moses-smt/moses/src/PCNTools.cpp</locationURI>
</link>
<link>
<name>PCNTools.h</name>
<type>1</type>
- <locationURI>PARENT-3-PROJECT_LOC/moses/src/PCNTools.h</locationURI>
+ <locationURI>PARENT-1-ECLIPSE_HOME/workspace/github/moses-smt/moses/src/PCNTools.h</locationURI>
</link>
<link>
<name>PDTAimp.h</name>
<type>1</type>
- <locationURI>PARENT-3-PROJECT_LOC/moses/src/PDTAimp.h</locationURI>
- </link>
- <link>
- <name>ParallelBackoff.lo</name>
- <type>1</type>
- <locationURI>PARENT-3-PROJECT_LOC/moses/src/ParallelBackoff.lo</locationURI>
- </link>
- <link>
- <name>ParallelBackoff.o</name>
- <type>1</type>
- <locationURI>PARENT-3-PROJECT_LOC/moses/src/ParallelBackoff.o</locationURI>
+ <locationURI>PARENT-1-ECLIPSE_HOME/workspace/github/moses-smt/moses/src/PDTAimp.h</locationURI>
</link>
<link>
<name>Parameter.cpp</name>
<type>1</type>
- <locationURI>PARENT-3-PROJECT_LOC/moses/src/Parameter.cpp</locationURI>
+ <locationURI>PARENT-1-ECLIPSE_HOME/workspace/github/moses-smt/moses/src/Parameter.cpp</locationURI>
</link>
<link>
<name>Parameter.h</name>
<type>1</type>
- <locationURI>PARENT-3-PROJECT_LOC/moses/src/Parameter.h</locationURI>
- </link>
- <link>
- <name>Parser.cpp</name>
- <type>1</type>
- <locationURI>PARENT-3-PROJECT_LOC/moses/src/Scope3Parser/Parser.cpp</locationURI>
- </link>
- <link>
- <name>Parser.h</name>
- <type>1</type>
- <locationURI>PARENT-3-PROJECT_LOC/moses/src/Scope3Parser/Parser.h</locationURI>
+ <locationURI>PARENT-1-ECLIPSE_HOME/workspace/github/moses-smt/moses/src/Parameter.h</locationURI>
</link>
<link>
<name>PartialTranslOptColl.cpp</name>
<type>1</type>
- <locationURI>PARENT-3-PROJECT_LOC/moses/src/PartialTranslOptColl.cpp</locationURI>
+ <locationURI>PARENT-1-ECLIPSE_HOME/workspace/github/moses-smt/moses/src/PartialTranslOptColl.cpp</locationURI>
</link>
<link>
<name>PartialTranslOptColl.h</name>
<type>1</type>
- <locationURI>PARENT-3-PROJECT_LOC/moses/src/PartialTranslOptColl.h</locationURI>
+ <locationURI>PARENT-1-ECLIPSE_HOME/workspace/github/moses-smt/moses/src/PartialTranslOptColl.h</locationURI>
</link>
<link>
<name>Phrase.cpp</name>
<type>1</type>
- <locationURI>PARENT-3-PROJECT_LOC/moses/src/Phrase.cpp</locationURI>
+ <locationURI>PARENT-1-ECLIPSE_HOME/workspace/github/moses-smt/moses/src/Phrase.cpp</locationURI>
</link>
<link>
<name>Phrase.h</name>
<type>1</type>
- <locationURI>PARENT-3-PROJECT_LOC/moses/src/Phrase.h</locationURI>
+ <locationURI>PARENT-1-ECLIPSE_HOME/workspace/github/moses-smt/moses/src/Phrase.h</locationURI>
</link>
<link>
<name>PhraseDictionary.cpp</name>
<type>1</type>
- <locationURI>PARENT-3-PROJECT_LOC/moses/src/PhraseDictionary.cpp</locationURI>
+ <locationURI>PARENT-1-ECLIPSE_HOME/workspace/github/moses-smt/moses/src/PhraseDictionary.cpp</locationURI>
</link>
<link>
<name>PhraseDictionary.h</name>
<type>1</type>
- <locationURI>PARENT-3-PROJECT_LOC/moses/src/PhraseDictionary.h</locationURI>
+ <locationURI>PARENT-1-ECLIPSE_HOME/workspace/github/moses-smt/moses/src/PhraseDictionary.h</locationURI>
</link>
<link>
<name>PhraseDictionaryDynSuffixArray.cpp</name>
<type>1</type>
- <locationURI>PARENT-3-PROJECT_LOC/moses/src/PhraseDictionaryDynSuffixArray.cpp</locationURI>
+ <locationURI>PARENT-1-ECLIPSE_HOME/workspace/github/moses-smt/moses/src/PhraseDictionaryDynSuffixArray.cpp</locationURI>
</link>
<link>
<name>PhraseDictionaryDynSuffixArray.h</name>
<type>1</type>
- <locationURI>PARENT-3-PROJECT_LOC/moses/src/PhraseDictionaryDynSuffixArray.h</locationURI>
+ <locationURI>PARENT-1-ECLIPSE_HOME/workspace/github/moses-smt/moses/src/PhraseDictionaryDynSuffixArray.h</locationURI>
</link>
<link>
<name>PhraseDictionaryMemory.cpp</name>
<type>1</type>
- <locationURI>PARENT-3-PROJECT_LOC/moses/src/PhraseDictionaryMemory.cpp</locationURI>
+ <locationURI>PARENT-1-ECLIPSE_HOME/workspace/github/moses-smt/moses/src/PhraseDictionaryMemory.cpp</locationURI>
</link>
<link>
<name>PhraseDictionaryMemory.h</name>
<type>1</type>
- <locationURI>PARENT-3-PROJECT_LOC/moses/src/PhraseDictionaryMemory.h</locationURI>
+ <locationURI>PARENT-1-ECLIPSE_HOME/workspace/github/moses-smt/moses/src/PhraseDictionaryMemory.h</locationURI>
</link>
<link>
<name>PhraseDictionaryNode.cpp</name>
<type>1</type>
- <locationURI>PARENT-3-PROJECT_LOC/moses/src/PhraseDictionaryNode.cpp</locationURI>
+ <locationURI>PARENT-1-ECLIPSE_HOME/workspace/github/moses-smt/moses/src/PhraseDictionaryNode.cpp</locationURI>
</link>
<link>
<name>PhraseDictionaryNode.h</name>
<type>1</type>
- <locationURI>PARENT-3-PROJECT_LOC/moses/src/PhraseDictionaryNode.h</locationURI>
+ <locationURI>PARENT-1-ECLIPSE_HOME/workspace/github/moses-smt/moses/src/PhraseDictionaryNode.h</locationURI>
</link>
<link>
<name>PhraseDictionaryTree.cpp</name>
<type>1</type>
- <locationURI>PARENT-3-PROJECT_LOC/moses/src/PhraseDictionaryTree.cpp</locationURI>
+ <locationURI>PARENT-1-ECLIPSE_HOME/workspace/github/moses-smt/moses/src/PhraseDictionaryTree.cpp</locationURI>
</link>
<link>
<name>PhraseDictionaryTree.h</name>
<type>1</type>
- <locationURI>PARENT-3-PROJECT_LOC/moses/src/PhraseDictionaryTree.h</locationURI>
+ <locationURI>PARENT-1-ECLIPSE_HOME/workspace/github/moses-smt/moses/src/PhraseDictionaryTree.h</locationURI>
</link>
<link>
<name>PhraseDictionaryTreeAdaptor.cpp</name>
<type>1</type>
- <locationURI>PARENT-3-PROJECT_LOC/moses/src/PhraseDictionaryTreeAdaptor.cpp</locationURI>
+ <locationURI>PARENT-1-ECLIPSE_HOME/workspace/github/moses-smt/moses/src/PhraseDictionaryTreeAdaptor.cpp</locationURI>
</link>
<link>
<name>PhraseDictionaryTreeAdaptor.h</name>
<type>1</type>
- <locationURI>PARENT-3-PROJECT_LOC/moses/src/PhraseDictionaryTreeAdaptor.h</locationURI>
+ <locationURI>PARENT-1-ECLIPSE_HOME/workspace/github/moses-smt/moses/src/PhraseDictionaryTreeAdaptor.h</locationURI>
</link>
<link>
<name>PrefixTree.h</name>
<type>1</type>
- <locationURI>PARENT-3-PROJECT_LOC/moses/src/PrefixTree.h</locationURI>
+ <locationURI>PARENT-1-ECLIPSE_HOME/workspace/github/moses-smt/moses/src/PrefixTree.h</locationURI>
</link>
<link>
<name>PrefixTreeMap.cpp</name>
<type>1</type>
- <locationURI>PARENT-3-PROJECT_LOC/moses/src/PrefixTreeMap.cpp</locationURI>
+ <locationURI>PARENT-1-ECLIPSE_HOME/workspace/github/moses-smt/moses/src/PrefixTreeMap.cpp</locationURI>
</link>
<link>
<name>PrefixTreeMap.h</name>
<type>1</type>
- <locationURI>PARENT-3-PROJECT_LOC/moses/src/PrefixTreeMap.h</locationURI>
+ <locationURI>PARENT-1-ECLIPSE_HOME/workspace/github/moses-smt/moses/src/PrefixTreeMap.h</locationURI>
</link>
<link>
<name>ReorderingConstraint.cpp</name>
<type>1</type>
- <locationURI>PARENT-3-PROJECT_LOC/moses/src/ReorderingConstraint.cpp</locationURI>
+ <locationURI>PARENT-1-ECLIPSE_HOME/workspace/github/moses-smt/moses/src/ReorderingConstraint.cpp</locationURI>
</link>
<link>
<name>ReorderingConstraint.h</name>
<type>1</type>
- <locationURI>PARENT-3-PROJECT_LOC/moses/src/ReorderingConstraint.h</locationURI>
+ <locationURI>PARENT-1-ECLIPSE_HOME/workspace/github/moses-smt/moses/src/ReorderingConstraint.h</locationURI>
</link>
<link>
<name>ReorderingStack.cpp</name>
<type>1</type>
- <locationURI>PARENT-3-PROJECT_LOC/moses/src/ReorderingStack.cpp</locationURI>
+ <locationURI>PARENT-1-ECLIPSE_HOME/workspace/github/moses-smt/moses/src/ReorderingStack.cpp</locationURI>
</link>
<link>
<name>ReorderingStack.h</name>
<type>1</type>
- <locationURI>PARENT-3-PROJECT_LOC/moses/src/ReorderingStack.h</locationURI>
+ <locationURI>PARENT-1-ECLIPSE_HOME/workspace/github/moses-smt/moses/src/ReorderingStack.h</locationURI>
</link>
<link>
<name>RuleCube.cpp</name>
<type>1</type>
- <locationURI>PARENT-3-PROJECT_LOC/moses/src/RuleCube.cpp</locationURI>
+ <locationURI>PARENT-1-ECLIPSE_HOME/workspace/github/moses-smt/moses/src/RuleCube.cpp</locationURI>
</link>
<link>
<name>RuleCube.h</name>
<type>1</type>
- <locationURI>PARENT-3-PROJECT_LOC/moses/src/RuleCube.h</locationURI>
+ <locationURI>PARENT-1-ECLIPSE_HOME/workspace/github/moses-smt/moses/src/RuleCube.h</locationURI>
</link>
<link>
<name>RuleCubeItem.cpp</name>
<type>1</type>
- <locationURI>PARENT-3-PROJECT_LOC/moses/src/RuleCubeItem.cpp</locationURI>
+ <locationURI>PARENT-1-ECLIPSE_HOME/workspace/github/moses-smt/moses/src/RuleCubeItem.cpp</locationURI>
</link>
<link>
<name>RuleCubeItem.h</name>
<type>1</type>
- <locationURI>PARENT-3-PROJECT_LOC/moses/src/RuleCubeItem.h</locationURI>
+ <locationURI>PARENT-1-ECLIPSE_HOME/workspace/github/moses-smt/moses/src/RuleCubeItem.h</locationURI>
</link>
<link>
<name>RuleCubeQueue.cpp</name>
<type>1</type>
- <locationURI>PARENT-3-PROJECT_LOC/moses/src/RuleCubeQueue.cpp</locationURI>
+ <locationURI>PARENT-1-ECLIPSE_HOME/workspace/github/moses-smt/moses/src/RuleCubeQueue.cpp</locationURI>
</link>
<link>
<name>RuleCubeQueue.h</name>
<type>1</type>
- <locationURI>PARENT-3-PROJECT_LOC/moses/src/RuleCubeQueue.h</locationURI>
+ <locationURI>PARENT-1-ECLIPSE_HOME/workspace/github/moses-smt/moses/src/RuleCubeQueue.h</locationURI>
</link>
<link>
<name>RuleTable</name>
<type>2</type>
- <locationURI>PARENT-3-PROJECT_LOC/moses/src/RuleTable</locationURI>
- </link>
- <link>
- <name>SRI.lo</name>
- <type>1</type>
- <locationURI>PARENT-3-PROJECT_LOC/moses/src/SRI.lo</locationURI>
+ <locationURI>virtual:/virtual</locationURI>
</link>
<link>
- <name>SRI.o</name>
- <type>1</type>
- <locationURI>PARENT-3-PROJECT_LOC/moses/src/SRI.o</locationURI>
+ <name>Scope3Parser</name>
+ <type>2</type>
+ <locationURI>virtual:/virtual</locationURI>
</link>
<link>
<name>ScoreComponentCollection.cpp</name>
<type>1</type>
- <locationURI>PARENT-3-PROJECT_LOC/moses/src/ScoreComponentCollection.cpp</locationURI>
+ <locationURI>PARENT-1-ECLIPSE_HOME/workspace/github/moses-smt/moses/src/ScoreComponentCollection.cpp</locationURI>
</link>
<link>
<name>ScoreComponentCollection.h</name>
<type>1</type>
- <locationURI>PARENT-3-PROJECT_LOC/moses/src/ScoreComponentCollection.h</locationURI>
+ <locationURI>PARENT-1-ECLIPSE_HOME/workspace/github/moses-smt/moses/src/ScoreComponentCollection.h</locationURI>
</link>
<link>
<name>ScoreIndexManager.cpp</name>
<type>1</type>
- <locationURI>PARENT-3-PROJECT_LOC/moses/src/ScoreIndexManager.cpp</locationURI>
+ <locationURI>PARENT-1-ECLIPSE_HOME/workspace/github/moses-smt/moses/src/ScoreIndexManager.cpp</locationURI>
</link>
<link>
<name>ScoreIndexManager.h</name>
<type>1</type>
- <locationURI>PARENT-3-PROJECT_LOC/moses/src/ScoreIndexManager.h</locationURI>
+ <locationURI>PARENT-1-ECLIPSE_HOME/workspace/github/moses-smt/moses/src/ScoreIndexManager.h</locationURI>
</link>
<link>
<name>ScoreProducer.cpp</name>
<type>1</type>
- <locationURI>PARENT-3-PROJECT_LOC/moses/src/ScoreProducer.cpp</locationURI>
+ <locationURI>PARENT-1-ECLIPSE_HOME/workspace/github/moses-smt/moses/src/ScoreProducer.cpp</locationURI>
</link>
<link>
<name>ScoreProducer.h</name>
<type>1</type>
- <locationURI>PARENT-3-PROJECT_LOC/moses/src/ScoreProducer.h</locationURI>
+ <locationURI>PARENT-1-ECLIPSE_HOME/workspace/github/moses-smt/moses/src/ScoreProducer.h</locationURI>
</link>
<link>
<name>Search.cpp</name>
<type>1</type>
- <locationURI>PARENT-3-PROJECT_LOC/moses/src/Search.cpp</locationURI>
+ <locationURI>PARENT-1-ECLIPSE_HOME/workspace/github/moses-smt/moses/src/Search.cpp</locationURI>
</link>
<link>
<name>Search.h</name>
<type>1</type>
- <locationURI>PARENT-3-PROJECT_LOC/moses/src/Search.h</locationURI>
+ <locationURI>PARENT-1-ECLIPSE_HOME/workspace/github/moses-smt/moses/src/Search.h</locationURI>
</link>
<link>
<name>SearchCubePruning.cpp</name>
<type>1</type>
- <locationURI>PARENT-3-PROJECT_LOC/moses/src/SearchCubePruning.cpp</locationURI>
+ <locationURI>PARENT-1-ECLIPSE_HOME/workspace/github/moses-smt/moses/src/SearchCubePruning.cpp</locationURI>
</link>
<link>
<name>SearchCubePruning.h</name>
<type>1</type>
- <locationURI>PARENT-3-PROJECT_LOC/moses/src/SearchCubePruning.h</locationURI>
+ <locationURI>PARENT-1-ECLIPSE_HOME/workspace/github/moses-smt/moses/src/SearchCubePruning.h</locationURI>
</link>
<link>
<name>SearchNormal.cpp</name>
<type>1</type>
- <locationURI>PARENT-3-PROJECT_LOC/moses/src/SearchNormal.cpp</locationURI>
+ <locationURI>PARENT-1-ECLIPSE_HOME/workspace/github/moses-smt/moses/src/SearchNormal.cpp</locationURI>
</link>
<link>
<name>SearchNormal.h</name>
<type>1</type>
- <locationURI>PARENT-3-PROJECT_LOC/moses/src/SearchNormal.h</locationURI>
+ <locationURI>PARENT-1-ECLIPSE_HOME/workspace/github/moses-smt/moses/src/SearchNormal.h</locationURI>
</link>
<link>
<name>SearchNormalBatch.cpp</name>
<type>1</type>
- <locationURI>PARENT-1-ECLIPSE_HOME/workspace/github/hieuhoang/moses/src/SearchNormalBatch.cpp</locationURI>
+ <locationURI>PARENT-1-ECLIPSE_HOME/workspace/github/moses-smt/moses/src/SearchNormalBatch.cpp</locationURI>
</link>
<link>
<name>SearchNormalBatch.h</name>
<type>1</type>
- <locationURI>PARENT-1-ECLIPSE_HOME/workspace/github/hieuhoang/moses/src/SearchNormalBatch.h</locationURI>
+ <locationURI>PARENT-1-ECLIPSE_HOME/workspace/github/moses-smt/moses/src/SearchNormalBatch.h</locationURI>
</link>
<link>
<name>Sentence.cpp</name>
<type>1</type>
- <locationURI>PARENT-3-PROJECT_LOC/moses/src/Sentence.cpp</locationURI>
+ <locationURI>PARENT-1-ECLIPSE_HOME/workspace/github/moses-smt/moses/src/Sentence.cpp</locationURI>
</link>
<link>
<name>Sentence.h</name>
<type>1</type>
- <locationURI>PARENT-3-PROJECT_LOC/moses/src/Sentence.h</locationURI>
- </link>
- <link>
- <name>SentenceAlignment.cpp</name>
- <type>1</type>
- <locationURI>PARENT-3-PROJECT_LOC/moses/src/fuzzy-match/SentenceAlignment.cpp</locationURI>
- </link>
- <link>
- <name>SentenceAlignment.h</name>
- <type>1</type>
- <locationURI>PARENT-3-PROJECT_LOC/moses/src/fuzzy-match/SentenceAlignment.h</locationURI>
- </link>
- <link>
- <name>SentenceMap.h</name>
- <type>1</type>
- <locationURI>PARENT-3-PROJECT_LOC/moses/src/Scope3Parser/SentenceMap.h</locationURI>
+ <locationURI>PARENT-1-ECLIPSE_HOME/workspace/github/moses-smt/moses/src/Sentence.h</locationURI>
</link>
<link>
<name>SentenceStats.cpp</name>
<type>1</type>
- <locationURI>PARENT-3-PROJECT_LOC/moses/src/SentenceStats.cpp</locationURI>
+ <locationURI>PARENT-1-ECLIPSE_HOME/workspace/github/moses-smt/moses/src/SentenceStats.cpp</locationURI>
</link>
<link>
<name>SentenceStats.h</name>
<type>1</type>
- <locationURI>PARENT-3-PROJECT_LOC/moses/src/SentenceStats.h</locationURI>
+ <locationURI>PARENT-1-ECLIPSE_HOME/workspace/github/moses-smt/moses/src/SentenceStats.h</locationURI>
</link>
<link>
<name>SquareMatrix.cpp</name>
<type>1</type>
- <locationURI>PARENT-3-PROJECT_LOC/moses/src/SquareMatrix.cpp</locationURI>
+ <locationURI>PARENT-1-ECLIPSE_HOME/workspace/github/moses-smt/moses/src/SquareMatrix.cpp</locationURI>
</link>
<link>
<name>SquareMatrix.h</name>
<type>1</type>
- <locationURI>PARENT-3-PROJECT_LOC/moses/src/SquareMatrix.h</locationURI>
- </link>
- <link>
- <name>StackLattice.h</name>
- <type>1</type>
- <locationURI>PARENT-3-PROJECT_LOC/moses/src/Scope3Parser/StackLattice.h</locationURI>
- </link>
- <link>
- <name>StackLatticeBuilder.cpp</name>
- <type>1</type>
- <locationURI>PARENT-3-PROJECT_LOC/moses/src/Scope3Parser/StackLatticeBuilder.cpp</locationURI>
- </link>
- <link>
- <name>StackLatticeBuilder.h</name>
- <type>1</type>
- <locationURI>PARENT-3-PROJECT_LOC/moses/src/Scope3Parser/StackLatticeBuilder.h</locationURI>
- </link>
- <link>
- <name>StackLatticeSearcher.h</name>
- <type>1</type>
- <locationURI>PARENT-3-PROJECT_LOC/moses/src/Scope3Parser/StackLatticeSearcher.h</locationURI>
+ <locationURI>PARENT-1-ECLIPSE_HOME/workspace/github/moses-smt/moses/src/SquareMatrix.h</locationURI>
</link>
<link>
<name>StackVec.h</name>
<type>1</type>
- <locationURI>PARENT-3-PROJECT_LOC/moses/src/StackVec.h</locationURI>
+ <locationURI>PARENT-1-ECLIPSE_HOME/workspace/github/moses-smt/moses/src/StackVec.h</locationURI>
</link>
<link>
<name>StaticData.cpp</name>
<type>1</type>
- <locationURI>PARENT-3-PROJECT_LOC/moses/src/StaticData.cpp</locationURI>
+ <locationURI>PARENT-1-ECLIPSE_HOME/workspace/github/moses-smt/moses/src/StaticData.cpp</locationURI>
</link>
<link>
<name>StaticData.h</name>
<type>1</type>
- <locationURI>PARENT-3-PROJECT_LOC/moses/src/StaticData.h</locationURI>
- </link>
- <link>
- <name>StaticData.lo</name>
- <type>1</type>
- <locationURI>PARENT-3-PROJECT_LOC/moses/src/StaticData.lo</locationURI>
- </link>
- <link>
- <name>StaticData.o</name>
- <type>1</type>
- <locationURI>PARENT-3-PROJECT_LOC/moses/src/StaticData.o</locationURI>
- </link>
- <link>
- <name>SuffixArray.cpp</name>
- <type>1</type>
- <locationURI>PARENT-3-PROJECT_LOC/moses/src/fuzzy-match/SuffixArray.cpp</locationURI>
- </link>
- <link>
- <name>SuffixArray.h</name>
- <type>1</type>
- <locationURI>PARENT-3-PROJECT_LOC/moses/src/fuzzy-match/SuffixArray.h</locationURI>
+ <locationURI>PARENT-1-ECLIPSE_HOME/workspace/github/moses-smt/moses/src/StaticData.h</locationURI>
</link>
<link>
<name>SyntacticLanguageModel.cpp</name>
<type>1</type>
- <locationURI>PARENT-3-PROJECT_LOC/moses/src/SyntacticLanguageModel.cpp</locationURI>
+ <locationURI>PARENT-1-ECLIPSE_HOME/workspace/github/moses-smt/moses/src/SyntacticLanguageModel.cpp</locationURI>
</link>
<link>
<name>SyntacticLanguageModel.h</name>
<type>1</type>
- <locationURI>PARENT-3-PROJECT_LOC/moses/src/SyntacticLanguageModel.h</locationURI>
+ <locationURI>PARENT-1-ECLIPSE_HOME/workspace/github/moses-smt/moses/src/SyntacticLanguageModel.h</locationURI>
</link>
<link>
<name>SyntacticLanguageModelFiles.h</name>
<type>1</type>
- <locationURI>PARENT-3-PROJECT_LOC/moses/src/SyntacticLanguageModelFiles.h</locationURI>
+ <locationURI>PARENT-1-ECLIPSE_HOME/workspace/github/moses-smt/moses/src/SyntacticLanguageModelFiles.h</locationURI>
</link>
<link>
<name>SyntacticLanguageModelState.h</name>
<type>1</type>
- <locationURI>PARENT-3-PROJECT_LOC/moses/src/SyntacticLanguageModelState.h</locationURI>
+ <locationURI>PARENT-1-ECLIPSE_HOME/workspace/github/moses-smt/moses/src/SyntacticLanguageModelState.h</locationURI>
</link>
<link>
<name>TargetPhrase.cpp</name>
<type>1</type>
- <locationURI>PARENT-3-PROJECT_LOC/moses/src/TargetPhrase.cpp</locationURI>
+ <locationURI>PARENT-1-ECLIPSE_HOME/workspace/github/moses-smt/moses/src/TargetPhrase.cpp</locationURI>
</link>
<link>
<name>TargetPhrase.h</name>
<type>1</type>
- <locationURI>PARENT-3-PROJECT_LOC/moses/src/TargetPhrase.h</locationURI>
+ <locationURI>PARENT-1-ECLIPSE_HOME/workspace/github/moses-smt/moses/src/TargetPhrase.h</locationURI>
</link>
<link>
<name>TargetPhraseCollection.cpp</name>
<type>1</type>
- <locationURI>PARENT-3-PROJECT_LOC/moses/src/TargetPhraseCollection.cpp</locationURI>
+ <locationURI>PARENT-1-ECLIPSE_HOME/workspace/github/moses-smt/moses/src/TargetPhraseCollection.cpp</locationURI>
</link>
<link>
<name>TargetPhraseCollection.h</name>
<type>1</type>
- <locationURI>PARENT-3-PROJECT_LOC/moses/src/TargetPhraseCollection.h</locationURI>
+ <locationURI>PARENT-1-ECLIPSE_HOME/workspace/github/moses-smt/moses/src/TargetPhraseCollection.h</locationURI>
</link>
<link>
<name>Terminal.h</name>
<type>1</type>
- <locationURI>PARENT-3-PROJECT_LOC/moses/src/Terminal.h</locationURI>
+ <locationURI>PARENT-1-ECLIPSE_HOME/workspace/github/moses-smt/moses/src/Terminal.h</locationURI>
</link>
<link>
<name>ThreadPool.cpp</name>
<type>1</type>
- <locationURI>PARENT-3-PROJECT_LOC/moses/src/ThreadPool.cpp</locationURI>
+ <locationURI>PARENT-1-ECLIPSE_HOME/workspace/github/moses-smt/moses/src/ThreadPool.cpp</locationURI>
</link>
<link>
<name>ThreadPool.h</name>
<type>1</type>
- <locationURI>PARENT-3-PROJECT_LOC/moses/src/ThreadPool.h</locationURI>
+ <locationURI>PARENT-1-ECLIPSE_HOME/workspace/github/moses-smt/moses/src/ThreadPool.h</locationURI>
</link>
<link>
<name>Timer.cpp</name>
<type>1</type>
- <locationURI>PARENT-3-PROJECT_LOC/moses/src/Timer.cpp</locationURI>
+ <locationURI>PARENT-1-ECLIPSE_HOME/workspace/github/moses-smt/moses/src/Timer.cpp</locationURI>
</link>
<link>
<name>Timer.h</name>
<type>1</type>
- <locationURI>PARENT-3-PROJECT_LOC/moses/src/Timer.h</locationURI>
+ <locationURI>PARENT-1-ECLIPSE_HOME/workspace/github/moses-smt/moses/src/Timer.h</locationURI>
</link>
<link>
<name>TranslationOption.cpp</name>
<type>1</type>
- <locationURI>PARENT-3-PROJECT_LOC/moses/src/TranslationOption.cpp</locationURI>
+ <locationURI>PARENT-1-ECLIPSE_HOME/workspace/github/moses-smt/moses/src/TranslationOption.cpp</locationURI>
</link>
<link>
<name>TranslationOption.h</name>
<type>1</type>
- <locationURI>PARENT-3-PROJECT_LOC/moses/src/TranslationOption.h</locationURI>
+ <locationURI>PARENT-1-ECLIPSE_HOME/workspace/github/moses-smt/moses/src/TranslationOption.h</locationURI>
</link>
<link>
<name>TranslationOptionCollection.cpp</name>
<type>1</type>
- <locationURI>PARENT-3-PROJECT_LOC/moses/src/TranslationOptionCollection.cpp</locationURI>
+ <locationURI>PARENT-1-ECLIPSE_HOME/workspace/github/moses-smt/moses/src/TranslationOptionCollection.cpp</locationURI>
</link>
<link>
<name>TranslationOptionCollection.h</name>
<type>1</type>
- <locationURI>PARENT-3-PROJECT_LOC/moses/src/TranslationOptionCollection.h</locationURI>
+ <locationURI>PARENT-1-ECLIPSE_HOME/workspace/github/moses-smt/moses/src/TranslationOptionCollection.h</locationURI>
</link>
<link>
<name>TranslationOptionCollectionConfusionNet.cpp</name>
<type>1</type>
- <locationURI>PARENT-3-PROJECT_LOC/moses/src/TranslationOptionCollectionConfusionNet.cpp</locationURI>
+ <locationURI>PARENT-1-ECLIPSE_HOME/workspace/github/moses-smt/moses/src/TranslationOptionCollectionConfusionNet.cpp</locationURI>
</link>
<link>
<name>TranslationOptionCollectionConfusionNet.h</name>
<type>1</type>
- <locationURI>PARENT-3-PROJECT_LOC/moses/src/TranslationOptionCollectionConfusionNet.h</locationURI>
+ <locationURI>PARENT-1-ECLIPSE_HOME/workspace/github/moses-smt/moses/src/TranslationOptionCollectionConfusionNet.h</locationURI>
</link>
<link>
<name>TranslationOptionCollectionText.cpp</name>
<type>1</type>
- <locationURI>PARENT-3-PROJECT_LOC/moses/src/TranslationOptionCollectionText.cpp</locationURI>
+ <locationURI>PARENT-1-ECLIPSE_HOME/workspace/github/moses-smt/moses/src/TranslationOptionCollectionText.cpp</locationURI>
</link>
<link>
<name>TranslationOptionCollectionText.h</name>
<type>1</type>
- <locationURI>PARENT-3-PROJECT_LOC/moses/src/TranslationOptionCollectionText.h</locationURI>
+ <locationURI>PARENT-1-ECLIPSE_HOME/workspace/github/moses-smt/moses/src/TranslationOptionCollectionText.h</locationURI>
</link>
<link>
<name>TranslationOptionList.cpp</name>
<type>1</type>
- <locationURI>PARENT-3-PROJECT_LOC/moses/src/TranslationOptionList.cpp</locationURI>
+ <locationURI>PARENT-1-ECLIPSE_HOME/workspace/github/moses-smt/moses/src/TranslationOptionList.cpp</locationURI>
</link>
<link>
<name>TranslationOptionList.h</name>
<type>1</type>
- <locationURI>PARENT-3-PROJECT_LOC/moses/src/TranslationOptionList.h</locationURI>
+ <locationURI>PARENT-1-ECLIPSE_HOME/workspace/github/moses-smt/moses/src/TranslationOptionList.h</locationURI>
</link>
<link>
<name>TranslationSystem.cpp</name>
<type>1</type>
- <locationURI>PARENT-3-PROJECT_LOC/moses/src/TranslationSystem.cpp</locationURI>
+ <locationURI>PARENT-1-ECLIPSE_HOME/workspace/github/moses-smt/moses/src/TranslationSystem.cpp</locationURI>
</link>
<link>
<name>TranslationSystem.h</name>
<type>1</type>
- <locationURI>PARENT-3-PROJECT_LOC/moses/src/TranslationSystem.h</locationURI>
+ <locationURI>PARENT-1-ECLIPSE_HOME/workspace/github/moses-smt/moses/src/TranslationSystem.h</locationURI>
</link>
<link>
<name>TreeInput.cpp</name>
<type>1</type>
- <locationURI>PARENT-3-PROJECT_LOC/moses/src/TreeInput.cpp</locationURI>
+ <locationURI>PARENT-1-ECLIPSE_HOME/workspace/github/moses-smt/moses/src/TreeInput.cpp</locationURI>
</link>
<link>
<name>TreeInput.h</name>
<type>1</type>
- <locationURI>PARENT-3-PROJECT_LOC/moses/src/TreeInput.h</locationURI>
+ <locationURI>PARENT-1-ECLIPSE_HOME/workspace/github/moses-smt/moses/src/TreeInput.h</locationURI>
</link>
<link>
- <name>TreeInput.lo</name>
+ <name>TrellisPath.cpp</name>
<type>1</type>
- <locationURI>PARENT-3-PROJECT_LOC/moses/src/TreeInput.lo</locationURI>
+ <locationURI>PARENT-1-ECLIPSE_HOME/workspace/github/moses-smt/moses/src/TrellisPath.cpp</locationURI>
</link>
<link>
- <name>TreeInput.o</name>
+ <name>TrellisPath.h</name>
<type>1</type>
- <locationURI>PARENT-3-PROJECT_LOC/moses/src/TreeInput.o</locationURI>
+ <locationURI>PARENT-1-ECLIPSE_HOME/workspace/github/moses-smt/moses/src/TrellisPath.h</locationURI>
</link>
<link>
- <name>TrellisPath.cpp</name>
+ <name>TrellisPathCollection.cpp</name>
<type>1</type>
- <locationURI>PARENT-3-PROJECT_LOC/moses/src/TrellisPath.cpp</locationURI>
+ <locationURI>PARENT-1-ECLIPSE_HOME/workspace/github/moses-smt/moses/src/TrellisPathCollection.cpp</locationURI>
</link>
<link>
- <name>TrellisPath.h</name>
+ <name>TrellisPathCollection.h</name>
<type>1</type>
- <locationURI>PARENT-3-PROJECT_LOC/moses/src/TrellisPath.h</locationURI>
+ <locationURI>PARENT-1-ECLIPSE_HOME/workspace/github/moses-smt/moses/src/TrellisPathCollection.h</locationURI>
</link>
<link>
- <name>TrellisPath.lo</name>
+ <name>TrellisPathList.h</name>
<type>1</type>
- <locationURI>PARENT-3-PROJECT_LOC/moses/src/TrellisPath.lo</locationURI>
+ <locationURI>PARENT-1-ECLIPSE_HOME/workspace/github/moses-smt/moses/src/TrellisPathList.h</locationURI>
</link>
<link>
- <name>TrellisPath.o</name>
+ <name>TypeDef.h</name>
<type>1</type>
- <locationURI>PARENT-3-PROJECT_LOC/moses/src/TrellisPath.o</locationURI>
+ <locationURI>PARENT-1-ECLIPSE_HOME/workspace/github/moses-smt/moses/src/TypeDef.h</locationURI>
</link>
<link>
- <name>TrellisPathCollection.cpp</name>
+ <name>UniqueObject.h</name>
<type>1</type>
- <locationURI>PARENT-3-PROJECT_LOC/moses/src/TrellisPathCollection.cpp</locationURI>
+ <locationURI>PARENT-1-ECLIPSE_HOME/workspace/github/moses-smt/moses/src/UniqueObject.h</locationURI>
</link>
<link>
- <name>TrellisPathCollection.h</name>
+ <name>UserMessage.cpp</name>
<type>1</type>
- <locationURI>PARENT-3-PROJECT_LOC/moses/src/TrellisPathCollection.h</locationURI>
+ <locationURI>PARENT-1-ECLIPSE_HOME/workspace/github/moses-smt/moses/src/UserMessage.cpp</locationURI>
</link>
<link>
- <name>TrellisPathCollection.lo</name>
+ <name>UserMessage.h</name>
<type>1</type>
- <locationURI>PARENT-3-PROJECT_LOC/moses/src/TrellisPathCollection.lo</locationURI>
+ <locationURI>PARENT-1-ECLIPSE_HOME/workspace/github/moses-smt/moses/src/UserMessage.h</locationURI>
</link>
<link>
- <name>TrellisPathCollection.o</name>
+ <name>Util.cpp</name>
<type>1</type>
- <locationURI>PARENT-3-PROJECT_LOC/moses/src/TrellisPathCollection.o</locationURI>
+ <locationURI>PARENT-1-ECLIPSE_HOME/workspace/github/moses-smt/moses/src/Util.cpp</locationURI>
</link>
<link>
- <name>TrellisPathList.h</name>
+ <name>Util.h</name>
<type>1</type>
- <locationURI>PARENT-3-PROJECT_LOC/moses/src/TrellisPathList.h</locationURI>
+ <locationURI>PARENT-1-ECLIPSE_HOME/workspace/github/moses-smt/moses/src/Util.h</locationURI>
</link>
<link>
- <name>TypeDef.h</name>
+ <name>Word.cpp</name>
<type>1</type>
- <locationURI>PARENT-3-PROJECT_LOC/moses/src/TypeDef.h</locationURI>
+ <locationURI>PARENT-1-ECLIPSE_HOME/workspace/github/moses-smt/moses/src/Word.cpp</locationURI>
</link>
<link>
- <name>UniqueObject.h</name>
+ <name>Word.h</name>
<type>1</type>
- <locationURI>PARENT-3-PROJECT_LOC/moses/src/UniqueObject.h</locationURI>
+ <locationURI>PARENT-1-ECLIPSE_HOME/workspace/github/moses-smt/moses/src/Word.h</locationURI>
</link>
<link>
- <name>UserMessage.cpp</name>
+ <name>WordLattice.cpp</name>
<type>1</type>
- <locationURI>PARENT-3-PROJECT_LOC/moses/src/UserMessage.cpp</locationURI>
+ <locationURI>PARENT-1-ECLIPSE_HOME/workspace/github/moses-smt/moses/src/WordLattice.cpp</locationURI>
</link>
<link>
- <name>UserMessage.h</name>
+ <name>WordLattice.h</name>
<type>1</type>
- <locationURI>PARENT-3-PROJECT_LOC/moses/src/UserMessage.h</locationURI>
+ <locationURI>PARENT-1-ECLIPSE_HOME/workspace/github/moses-smt/moses/src/WordLattice.h</locationURI>
</link>
<link>
- <name>UserMessage.lo</name>
+ <name>WordsBitmap.cpp</name>
<type>1</type>
- <locationURI>PARENT-3-PROJECT_LOC/moses/src/UserMessage.lo</locationURI>
+ <locationURI>PARENT-1-ECLIPSE_HOME/workspace/github/moses-smt/moses/src/WordsBitmap.cpp</locationURI>
</link>
<link>
- <name>UserMessage.o</name>
+ <name>WordsBitmap.h</name>
<type>1</type>
- <locationURI>PARENT-3-PROJECT_LOC/moses/src/UserMessage.o</locationURI>
+ <locationURI>PARENT-1-ECLIPSE_HOME/workspace/github/moses-smt/moses/src/WordsBitmap.h</locationURI>
</link>
<link>
- <name>Util.cpp</name>
+ <name>WordsRange.cpp</name>
<type>1</type>
- <locationURI>PARENT-3-PROJECT_LOC/moses/src/Util.cpp</locationURI>
+ <locationURI>PARENT-1-ECLIPSE_HOME/workspace/github/moses-smt/moses/src/WordsRange.cpp</locationURI>
</link>
<link>
- <name>Util.h</name>
+ <name>WordsRange.h</name>
<type>1</type>
- <locationURI>PARENT-3-PROJECT_LOC/moses/src/Util.h</locationURI>
+ <locationURI>PARENT-1-ECLIPSE_HOME/workspace/github/moses-smt/moses/src/WordsRange.h</locationURI>
</link>
<link>
- <name>Util.lo</name>
+ <name>XmlOption.cpp</name>
<type>1</type>
- <locationURI>PARENT-3-PROJECT_LOC/moses/src/Util.lo</locationURI>
+ <locationURI>PARENT-1-ECLIPSE_HOME/workspace/github/moses-smt/moses/src/XmlOption.cpp</locationURI>
</link>
<link>
- <name>Util.o</name>
+ <name>XmlOption.h</name>
<type>1</type>
- <locationURI>PARENT-3-PROJECT_LOC/moses/src/Util.o</locationURI>
+ <locationURI>PARENT-1-ECLIPSE_HOME/workspace/github/moses-smt/moses/src/XmlOption.h</locationURI>
</link>
<link>
- <name>VarSpanNode.h</name>
- <type>1</type>
- <locationURI>PARENT-3-PROJECT_LOC/moses/src/Scope3Parser/VarSpanNode.h</locationURI>
+ <name>bin</name>
+ <type>2</type>
+ <locationURI>virtual:/virtual</locationURI>
</link>
<link>
- <name>VarSpanTrieBuilder.cpp</name>
- <type>1</type>
- <locationURI>PARENT-3-PROJECT_LOC/moses/src/Scope3Parser/VarSpanTrieBuilder.cpp</locationURI>
+ <name>fuzzy-match</name>
+ <type>2</type>
+ <locationURI>virtual:/virtual</locationURI>
</link>
<link>
- <name>VarSpanTrieBuilder.h</name>
+ <name>gzfilebuf.h</name>
<type>1</type>
- <locationURI>PARENT-3-PROJECT_LOC/moses/src/Scope3Parser/VarSpanTrieBuilder.h</locationURI>
+ <locationURI>PARENT-1-ECLIPSE_HOME/workspace/github/moses-smt/moses/src/gzfilebuf.h</locationURI>
</link>
<link>
- <name>Vocabulary.cpp</name>
+ <name>hypergraph.proto</name>
<type>1</type>
- <locationURI>PARENT-3-PROJECT_LOC/moses/src/fuzzy-match/Vocabulary.cpp</locationURI>
+ <locationURI>PARENT-1-ECLIPSE_HOME/workspace/github/moses-smt/moses/src/hypergraph.proto</locationURI>
</link>
<link>
- <name>Vocabulary.h</name>
+ <name>rule.proto</name>
<type>1</type>
- <locationURI>PARENT-3-PROJECT_LOC/moses/src/fuzzy-match/Vocabulary.h</locationURI>
+ <locationURI>PARENT-1-ECLIPSE_HOME/workspace/github/moses-smt/moses/src/rule.proto</locationURI>
</link>
<link>
- <name>Word.cpp</name>
+ <name>CYKPlusParser/ChartRuleLookupManagerCYKPlus.cpp</name>
<type>1</type>
- <locationURI>PARENT-3-PROJECT_LOC/moses/src/Word.cpp</locationURI>
+ <locationURI>PARENT-1-ECLIPSE_HOME/workspace/github/moses-smt/moses/src/CYKPlusParser/ChartRuleLookupManagerCYKPlus.cpp</locationURI>
</link>
<link>
- <name>Word.h</name>
+ <name>CYKPlusParser/ChartRuleLookupManagerCYKPlus.h</name>
<type>1</type>
- <locationURI>PARENT-3-PROJECT_LOC/moses/src/Word.h</locationURI>
+ <locationURI>PARENT-1-ECLIPSE_HOME/workspace/github/moses-smt/moses/src/CYKPlusParser/ChartRuleLookupManagerCYKPlus.h</locationURI>
</link>
<link>
- <name>Word.lo</name>
+ <name>CYKPlusParser/ChartRuleLookupManagerMemory.cpp</name>
<type>1</type>
- <locationURI>PARENT-3-PROJECT_LOC/moses/src/Word.lo</locationURI>
+ <locationURI>PARENT-1-ECLIPSE_HOME/workspace/github/moses-smt/moses/src/CYKPlusParser/ChartRuleLookupManagerMemory.cpp</locationURI>
</link>
<link>
- <name>Word.o</name>
+ <name>CYKPlusParser/ChartRuleLookupManagerMemory.h</name>
<type>1</type>
- <locationURI>PARENT-3-PROJECT_LOC/moses/src/Word.o</locationURI>
+ <locationURI>PARENT-1-ECLIPSE_HOME/workspace/github/moses-smt/moses/src/CYKPlusParser/ChartRuleLookupManagerMemory.h</locationURI>
</link>
<link>
- <name>WordLattice.cpp</name>
+ <name>CYKPlusParser/ChartRuleLookupManagerMemoryPerSentence.cpp</name>
<type>1</type>
- <locationURI>PARENT-3-PROJECT_LOC/moses/src/WordLattice.cpp</locationURI>
+ <locationURI>PARENT-1-ECLIPSE_HOME/workspace/github/moses-smt/moses/src/CYKPlusParser/ChartRuleLookupManagerMemoryPerSentence.cpp</locationURI>
</link>
<link>
- <name>WordLattice.h</name>
+ <name>CYKPlusParser/ChartRuleLookupManagerMemoryPerSentence.h</name>
<type>1</type>
- <locationURI>PARENT-3-PROJECT_LOC/moses/src/WordLattice.h</locationURI>
+ <locationURI>PARENT-1-ECLIPSE_HOME/workspace/github/moses-smt/moses/src/CYKPlusParser/ChartRuleLookupManagerMemoryPerSentence.h</locationURI>
</link>
<link>
- <name>WordLattice.lo</name>
+ <name>CYKPlusParser/ChartRuleLookupManagerOnDisk.cpp</name>
<type>1</type>
- <locationURI>PARENT-3-PROJECT_LOC/moses/src/WordLattice.lo</locationURI>
+ <locationURI>PARENT-1-ECLIPSE_HOME/workspace/github/moses-smt/moses/src/CYKPlusParser/ChartRuleLookupManagerOnDisk.cpp</locationURI>
</link>
<link>
- <name>WordLattice.o</name>
+ <name>CYKPlusParser/ChartRuleLookupManagerOnDisk.h</name>
<type>1</type>
- <locationURI>PARENT-3-PROJECT_LOC/moses/src/WordLattice.o</locationURI>
+ <locationURI>PARENT-1-ECLIPSE_HOME/workspace/github/moses-smt/moses/src/CYKPlusParser/ChartRuleLookupManagerOnDisk.h</locationURI>
</link>
<link>
- <name>WordsBitmap.cpp</name>
+ <name>CYKPlusParser/DotChart.h</name>
<type>1</type>
- <locationURI>PARENT-3-PROJECT_LOC/moses/src/WordsBitmap.cpp</locationURI>
+ <locationURI>PARENT-1-ECLIPSE_HOME/workspace/github/moses-smt/moses/src/CYKPlusParser/DotChart.h</locationURI>
</link>
<link>
- <name>WordsBitmap.h</name>
+ <name>CYKPlusParser/DotChartInMemory.cpp</name>
<type>1</type>
- <locationURI>PARENT-3-PROJECT_LOC/moses/src/WordsBitmap.h</locationURI>
+ <locationURI>PARENT-1-ECLIPSE_HOME/workspace/github/moses-smt/moses/src/CYKPlusParser/DotChartInMemory.cpp</locationURI>
</link>
<link>
- <name>WordsBitmap.lo</name>
+ <name>CYKPlusParser/DotChartInMemory.h</name>
<type>1</type>
- <locationURI>PARENT-3-PROJECT_LOC/moses/src/WordsBitmap.lo</locationURI>
+ <locationURI>PARENT-1-ECLIPSE_HOME/workspace/github/moses-smt/moses/src/CYKPlusParser/DotChartInMemory.h</locationURI>
</link>
<link>
- <name>WordsBitmap.o</name>
+ <name>CYKPlusParser/DotChartOnDisk.cpp</name>
<type>1</type>
- <locationURI>PARENT-3-PROJECT_LOC/moses/src/WordsBitmap.o</locationURI>
+ <locationURI>PARENT-1-ECLIPSE_HOME/workspace/github/moses-smt/moses/src/CYKPlusParser/DotChartOnDisk.cpp</locationURI>
</link>
<link>
- <name>WordsRange.cpp</name>
+ <name>CYKPlusParser/DotChartOnDisk.h</name>
<type>1</type>
- <locationURI>PARENT-3-PROJECT_LOC/moses/src/WordsRange.cpp</locationURI>
+ <locationURI>PARENT-1-ECLIPSE_HOME/workspace/github/moses-smt/moses/src/CYKPlusParser/DotChartOnDisk.h</locationURI>
</link>
<link>
- <name>WordsRange.h</name>
+ <name>CYKPlusParser/Jamfile</name>
<type>1</type>
- <locationURI>PARENT-3-PROJECT_LOC/moses/src/WordsRange.h</locationURI>
+ <locationURI>PARENT-1-ECLIPSE_HOME/workspace/github/moses-smt/moses/src/CYKPlusParser/Jamfile</locationURI>
+ </link>
+ <link>
+ <name>CYKPlusParser/bin</name>
+ <type>2</type>
+ <locationURI>virtual:/virtual</locationURI>
</link>
<link>
- <name>WordsRange.lo</name>
+ <name>CompactPT/BlockHashIndex.cpp</name>
<type>1</type>
- <locationURI>PARENT-3-PROJECT_LOC/moses/src/WordsRange.lo</locationURI>
+ <locationURI>PARENT-1-ECLIPSE_HOME/workspace/github/moses-smt/moses/src/CompactPT/BlockHashIndex.cpp</locationURI>
</link>
<link>
- <name>WordsRange.o</name>
+ <name>CompactPT/BlockHashIndex.h</name>
<type>1</type>
- <locationURI>PARENT-3-PROJECT_LOC/moses/src/WordsRange.o</locationURI>
+ <locationURI>PARENT-1-ECLIPSE_HOME/workspace/github/moses-smt/moses/src/CompactPT/BlockHashIndex.h</locationURI>
</link>
<link>
- <name>XmlOption.cpp</name>
+ <name>CompactPT/CanonicalHuffman.h</name>
<type>1</type>
- <locationURI>PARENT-3-PROJECT_LOC/moses/src/XmlOption.cpp</locationURI>
+ <locationURI>PARENT-1-ECLIPSE_HOME/workspace/github/moses-smt/moses/src/CompactPT/CanonicalHuffman.h</locationURI>
</link>
<link>
- <name>XmlOption.h</name>
+ <name>CompactPT/CmphStringVectorAdapter.cpp</name>
<type>1</type>
- <locationURI>PARENT-3-PROJECT_LOC/moses/src/XmlOption.h</locationURI>
+ <locationURI>PARENT-1-ECLIPSE_HOME/workspace/github/moses-smt/moses/src/CompactPT/CmphStringVectorAdapter.cpp</locationURI>
</link>
<link>
- <name>XmlOption.lo</name>
+ <name>CompactPT/CmphStringVectorAdapter.h</name>
<type>1</type>
- <locationURI>PARENT-3-PROJECT_LOC/moses/src/XmlOption.lo</locationURI>
+ <locationURI>PARENT-1-ECLIPSE_HOME/workspace/github/moses-smt/moses/src/CompactPT/CmphStringVectorAdapter.h</locationURI>
</link>
<link>
- <name>XmlOption.o</name>
+ <name>CompactPT/ConsistentPhrases.h</name>
<type>1</type>
- <locationURI>PARENT-3-PROJECT_LOC/moses/src/XmlOption.o</locationURI>
+ <locationURI>PARENT-1-ECLIPSE_HOME/workspace/github/moses-smt/moses/src/CompactPT/ConsistentPhrases.h</locationURI>
</link>
<link>
- <name>bin</name>
- <type>2</type>
- <locationURI>virtual:/virtual</locationURI>
+ <name>CompactPT/Jamfile</name>
+ <type>1</type>
+ <locationURI>PARENT-1-ECLIPSE_HOME/workspace/github/moses-smt/moses/src/CompactPT/Jamfile</locationURI>
</link>
<link>
- <name>gzfilebuf.h</name>
+ <name>CompactPT/LexicalReorderingTableCompact.cpp</name>
<type>1</type>
- <locationURI>PARENT-3-PROJECT_LOC/moses/src/gzfilebuf.h</locationURI>
+ <locationURI>PARENT-1-ECLIPSE_HOME/workspace/github/moses-smt/moses/src/CompactPT/LexicalReorderingTableCompact.cpp</locationURI>
</link>
<link>
- <name>hash.cpp</name>
+ <name>CompactPT/LexicalReorderingTableCompact.h</name>
<type>1</type>
- <locationURI>PARENT-3-PROJECT_LOC/moses/src/hash.cpp</locationURI>
+ <locationURI>PARENT-1-ECLIPSE_HOME/workspace/github/moses-smt/moses/src/CompactPT/LexicalReorderingTableCompact.h</locationURI>
</link>
<link>
- <name>hash.h</name>
+ <name>CompactPT/LexicalReorderingTableCreator.cpp</name>
<type>1</type>
- <locationURI>PARENT-3-PROJECT_LOC/moses/src/hash.h</locationURI>
+ <locationURI>PARENT-1-ECLIPSE_HOME/workspace/github/moses-smt/moses/src/CompactPT/LexicalReorderingTableCreator.cpp</locationURI>
</link>
<link>
- <name>hypergraph.proto</name>
+ <name>CompactPT/LexicalReorderingTableCreator.h</name>
<type>1</type>
- <locationURI>PARENT-3-PROJECT_LOC/moses/src/hypergraph.proto</locationURI>
+ <locationURI>PARENT-1-ECLIPSE_HOME/workspace/github/moses-smt/moses/src/CompactPT/LexicalReorderingTableCreator.h</locationURI>
</link>
<link>
- <name>libmoses.la</name>
+ <name>CompactPT/ListCoders.h</name>
<type>1</type>
- <locationURI>PARENT-3-PROJECT_LOC/moses/src/libmoses.la</locationURI>
+ <locationURI>PARENT-1-ECLIPSE_HOME/workspace/github/moses-smt/moses/src/CompactPT/ListCoders.h</locationURI>
</link>
<link>
- <name>rule.proto</name>
+ <name>CompactPT/MmapAllocator.h</name>
<type>1</type>
- <locationURI>PARENT-3-PROJECT_LOC/moses/src/rule.proto</locationURI>
+ <locationURI>PARENT-1-ECLIPSE_HOME/workspace/github/moses-smt/moses/src/CompactPT/MmapAllocator.h</locationURI>
</link>
<link>
- <name>CYKPlusParser/ChartRuleLookupManagerCYKPlus.cpp</name>
+ <name>CompactPT/MonotonicVector.h</name>
<type>1</type>
- <locationURI>PARENT-3-PROJECT_LOC/moses/src/CYKPlusParser/ChartRuleLookupManagerCYKPlus.cpp</locationURI>
+ <locationURI>PARENT-1-ECLIPSE_HOME/workspace/github/moses-smt/moses/src/CompactPT/MonotonicVector.h</locationURI>
</link>
<link>
- <name>CYKPlusParser/ChartRuleLookupManagerCYKPlus.h</name>
+ <name>CompactPT/MurmurHash3.cpp</name>
<type>1</type>
- <locationURI>PARENT-3-PROJECT_LOC/moses/src/CYKPlusParser/ChartRuleLookupManagerCYKPlus.h</locationURI>
+ <locationURI>PARENT-1-ECLIPSE_HOME/workspace/github/moses-smt/moses/src/CompactPT/MurmurHash3.cpp</locationURI>
</link>
<link>
- <name>CYKPlusParser/ChartRuleLookupManagerMemory.cpp</name>
+ <name>CompactPT/MurmurHash3.h</name>
<type>1</type>
- <locationURI>PARENT-3-PROJECT_LOC/moses/src/CYKPlusParser/ChartRuleLookupManagerMemory.cpp</locationURI>
+ <locationURI>PARENT-1-ECLIPSE_HOME/workspace/github/moses-smt/moses/src/CompactPT/MurmurHash3.h</locationURI>
</link>
<link>
- <name>CYKPlusParser/ChartRuleLookupManagerMemory.h</name>
+ <name>CompactPT/PackedArray.h</name>
<type>1</type>
- <locationURI>PARENT-3-PROJECT_LOC/moses/src/CYKPlusParser/ChartRuleLookupManagerMemory.h</locationURI>
+ <locationURI>PARENT-1-ECLIPSE_HOME/workspace/github/moses-smt/moses/src/CompactPT/PackedArray.h</locationURI>
</link>
<link>
- <name>CYKPlusParser/ChartRuleLookupManagerMemoryPerSentence.cpp</name>
+ <name>CompactPT/PhraseDecoder.cpp</name>
<type>1</type>
- <locationURI>PARENT-3-PROJECT_LOC/moses/src/CYKPlusParser/ChartRuleLookupManagerMemoryPerSentence.cpp</locationURI>
+ <locationURI>PARENT-1-ECLIPSE_HOME/workspace/github/moses-smt/moses/src/CompactPT/PhraseDecoder.cpp</locationURI>
</link>
<link>
- <name>CYKPlusParser/ChartRuleLookupManagerMemoryPerSentence.h</name>
+ <name>CompactPT/PhraseDecoder.h</name>
<type>1</type>
- <locationURI>PARENT-3-PROJECT_LOC/moses/src/CYKPlusParser/ChartRuleLookupManagerMemoryPerSentence.h</locationURI>
+ <locationURI>PARENT-1-ECLIPSE_HOME/workspace/github/moses-smt/moses/src/CompactPT/PhraseDecoder.h</locationURI>
</link>
<link>
- <name>CYKPlusParser/ChartRuleLookupManagerOnDisk.cpp</name>
+ <name>CompactPT/PhraseDictionaryCompact.cpp</name>
<type>1</type>
- <locationURI>PARENT-3-PROJECT_LOC/moses/src/CYKPlusParser/ChartRuleLookupManagerOnDisk.cpp</locationURI>
+ <locationURI>PARENT-1-ECLIPSE_HOME/workspace/github/moses-smt/moses/src/CompactPT/PhraseDictionaryCompact.cpp</locationURI>
</link>
<link>
- <name>CYKPlusParser/ChartRuleLookupManagerOnDisk.h</name>
+ <name>CompactPT/PhraseDictionaryCompact.h</name>
<type>1</type>
- <locationURI>PARENT-3-PROJECT_LOC/moses/src/CYKPlusParser/ChartRuleLookupManagerOnDisk.h</locationURI>
+ <locationURI>PARENT-1-ECLIPSE_HOME/workspace/github/moses-smt/moses/src/CompactPT/PhraseDictionaryCompact.h</locationURI>
</link>
<link>
- <name>CYKPlusParser/DotChart.h</name>
+ <name>CompactPT/PhraseTableCreator.cpp</name>
<type>1</type>
- <locationURI>PARENT-3-PROJECT_LOC/moses/src/CYKPlusParser/DotChart.h</locationURI>
+ <locationURI>PARENT-1-ECLIPSE_HOME/workspace/github/moses-smt/moses/src/CompactPT/PhraseTableCreator.cpp</locationURI>
</link>
<link>
- <name>CYKPlusParser/DotChartInMemory.cpp</name>
+ <name>CompactPT/PhraseTableCreator.h</name>
<type>1</type>
- <locationURI>PARENT-3-PROJECT_LOC/moses/src/CYKPlusParser/DotChartInMemory.cpp</locationURI>
+ <locationURI>PARENT-1-ECLIPSE_HOME/workspace/github/moses-smt/moses/src/CompactPT/PhraseTableCreator.h</locationURI>
</link>
<link>
- <name>CYKPlusParser/DotChartInMemory.h</name>
+ <name>CompactPT/StringVector.h</name>
<type>1</type>
- <locationURI>PARENT-3-PROJECT_LOC/moses/src/CYKPlusParser/DotChartInMemory.h</locationURI>
+ <locationURI>PARENT-1-ECLIPSE_HOME/workspace/github/moses-smt/moses/src/CompactPT/StringVector.h</locationURI>
</link>
<link>
- <name>CYKPlusParser/DotChartOnDisk.cpp</name>
+ <name>CompactPT/TargetPhraseCollectionCache.h</name>
<type>1</type>
- <locationURI>PARENT-3-PROJECT_LOC/moses/src/CYKPlusParser/DotChartOnDisk.cpp</locationURI>
+ <locationURI>PARENT-1-ECLIPSE_HOME/workspace/github/moses-smt/moses/src/CompactPT/TargetPhraseCollectionCache.h</locationURI>
</link>
<link>
- <name>CYKPlusParser/DotChartOnDisk.h</name>
+ <name>CompactPT/ThrowingFwrite.cpp</name>
<type>1</type>
- <locationURI>PARENT-3-PROJECT_LOC/moses/src/CYKPlusParser/DotChartOnDisk.h</locationURI>
+ <locationURI>PARENT-1-ECLIPSE_HOME/workspace/github/moses-smt/moses/src/CompactPT/ThrowingFwrite.cpp</locationURI>
</link>
<link>
- <name>CYKPlusParser/Jamfile</name>
+ <name>CompactPT/ThrowingFwrite.h</name>
<type>1</type>
- <locationURI>PARENT-3-PROJECT_LOC/moses/src/CYKPlusParser/Jamfile</locationURI>
+ <locationURI>PARENT-1-ECLIPSE_HOME/workspace/github/moses-smt/moses/src/CompactPT/ThrowingFwrite.h</locationURI>
</link>
<link>
- <name>CYKPlusParser/bin</name>
+ <name>CompactPT/bin</name>
<type>2</type>
<locationURI>virtual:/virtual</locationURI>
</link>
<link>
<name>DynSAInclude/FileHandler.cpp</name>
<type>1</type>
- <locationURI>PARENT-3-PROJECT_LOC/moses/src/DynSAInclude/FileHandler.cpp</locationURI>
+ <locationURI>PARENT-1-ECLIPSE_HOME/workspace/github/moses-smt/moses/src/DynSAInclude/FileHandler.cpp</locationURI>
</link>
<link>
<name>DynSAInclude/FileHandler.h</name>
<type>1</type>
- <locationURI>PARENT-3-PROJECT_LOC/moses/src/DynSAInclude/FileHandler.h</locationURI>
+ <locationURI>PARENT-1-ECLIPSE_HOME/workspace/github/moses-smt/moses/src/DynSAInclude/FileHandler.h</locationURI>
</link>
<link>
<name>DynSAInclude/Jamfile</name>
<type>1</type>
- <locationURI>PARENT-3-PROJECT_LOC/moses/src/DynSAInclude/Jamfile</locationURI>
+ <locationURI>PARENT-1-ECLIPSE_HOME/workspace/github/moses-smt/moses/src/DynSAInclude/Jamfile</locationURI>
</link>
<link>
<name>DynSAInclude/RandLMCache.h</name>
<type>1</type>
- <locationURI>PARENT-3-PROJECT_LOC/moses/src/DynSAInclude/RandLMCache.h</locationURI>
+ <locationURI>PARENT-1-ECLIPSE_HOME/workspace/github/moses-smt/moses/src/DynSAInclude/RandLMCache.h</locationURI>
</link>
<link>
<name>DynSAInclude/RandLMFilter.h</name>
<type>1</type>
- <locationURI>PARENT-3-PROJECT_LOC/moses/src/DynSAInclude/RandLMFilter.h</locationURI>
+ <locationURI>PARENT-1-ECLIPSE_HOME/workspace/github/moses-smt/moses/src/DynSAInclude/RandLMFilter.h</locationURI>
+ </link>
+ <link>
+ <name>DynSAInclude/bin</name>
+ <type>2</type>
+ <locationURI>virtual:/virtual</locationURI>
</link>
<link>
<name>DynSAInclude/fdstream.h</name>
<type>1</type>
- <locationURI>PARENT-3-PROJECT_LOC/moses/src/DynSAInclude/fdstream.h</locationURI>
+ <locationURI>PARENT-1-ECLIPSE_HOME/workspace/github/moses-smt/moses/src/DynSAInclude/fdstream.h</locationURI>
</link>
<link>
<name>DynSAInclude/hash.h</name>
<type>1</type>
- <locationURI>PARENT-3-PROJECT_LOC/moses/src/DynSAInclude/hash.h</locationURI>
+ <locationURI>PARENT-1-ECLIPSE_HOME/workspace/github/moses-smt/moses/src/DynSAInclude/hash.h</locationURI>
</link>
<link>
<name>DynSAInclude/onlineRLM.h</name>
<type>1</type>
- <locationURI>PARENT-3-PROJECT_LOC/moses/src/DynSAInclude/onlineRLM.h</locationURI>
+ <locationURI>PARENT-1-ECLIPSE_HOME/workspace/github/moses-smt/moses/src/DynSAInclude/onlineRLM.h</locationURI>
</link>
<link>
<name>DynSAInclude/params.cpp</name>
<type>1</type>
- <locationURI>PARENT-3-PROJECT_LOC/moses/src/DynSAInclude/params.cpp</locationURI>
+ <locationURI>PARENT-1-ECLIPSE_HOME/workspace/github/moses-smt/moses/src/DynSAInclude/params.cpp</locationURI>
</link>
<link>
<name>DynSAInclude/params.h</name>
<type>1</type>
- <locationURI>PARENT-3-PROJECT_LOC/moses/src/DynSAInclude/params.h</locationURI>
+ <locationURI>PARENT-1-ECLIPSE_HOME/workspace/github/moses-smt/moses/src/DynSAInclude/params.h</locationURI>
</link>
<link>
<name>DynSAInclude/perfectHash.h</name>
<type>1</type>
- <locationURI>PARENT-3-PROJECT_LOC/moses/src/DynSAInclude/perfectHash.h</locationURI>
+ <locationURI>PARENT-1-ECLIPSE_HOME/workspace/github/moses-smt/moses/src/DynSAInclude/perfectHash.h</locationURI>
</link>
<link>
<name>DynSAInclude/quantizer.h</name>
<type>1</type>
- <locationURI>PARENT-3-PROJECT_LOC/moses/src/DynSAInclude/quantizer.h</locationURI>
+ <locationURI>PARENT-1-ECLIPSE_HOME/workspace/github/moses-smt/moses/src/DynSAInclude/quantizer.h</locationURI>
</link>
<link>
<name>DynSAInclude/types.h</name>
<type>1</type>
- <locationURI>PARENT-3-PROJECT_LOC/moses/src/DynSAInclude/types.h</locationURI>
+ <locationURI>PARENT-1-ECLIPSE_HOME/workspace/github/moses-smt/moses/src/DynSAInclude/types.h</locationURI>
</link>
<link>
<name>DynSAInclude/utils.h</name>
<type>1</type>
- <locationURI>PARENT-3-PROJECT_LOC/moses/src/DynSAInclude/utils.h</locationURI>
+ <locationURI>PARENT-1-ECLIPSE_HOME/workspace/github/moses-smt/moses/src/DynSAInclude/utils.h</locationURI>
</link>
<link>
<name>DynSAInclude/vocab.cpp</name>
<type>1</type>
- <locationURI>PARENT-3-PROJECT_LOC/moses/src/DynSAInclude/vocab.cpp</locationURI>
+ <locationURI>PARENT-1-ECLIPSE_HOME/workspace/github/moses-smt/moses/src/DynSAInclude/vocab.cpp</locationURI>
</link>
<link>
<name>DynSAInclude/vocab.h</name>
<type>1</type>
- <locationURI>PARENT-3-PROJECT_LOC/moses/src/DynSAInclude/vocab.h</locationURI>
+ <locationURI>PARENT-1-ECLIPSE_HOME/workspace/github/moses-smt/moses/src/DynSAInclude/vocab.h</locationURI>
</link>
<link>
<name>LM/Base.cpp</name>
<type>1</type>
- <locationURI>PARENT-3-PROJECT_LOC/moses/src/LM/Base.cpp</locationURI>
+ <locationURI>PARENT-1-ECLIPSE_HOME/workspace/github/moses-smt/moses/src/LM/Base.cpp</locationURI>
</link>
<link>
<name>LM/Base.h</name>
<type>1</type>
- <locationURI>PARENT-3-PROJECT_LOC/moses/src/LM/Base.h</locationURI>
+ <locationURI>PARENT-1-ECLIPSE_HOME/workspace/github/moses-smt/moses/src/LM/Base.h</locationURI>
</link>
<link>
<name>LM/Factory.cpp</name>
<type>1</type>
- <locationURI>PARENT-3-PROJECT_LOC/moses/src/LM/Factory.cpp</locationURI>
+ <locationURI>PARENT-1-ECLIPSE_HOME/workspace/github/moses-smt/moses/src/LM/Factory.cpp</locationURI>
</link>
<link>
<name>LM/Factory.h</name>
<type>1</type>
- <locationURI>PARENT-3-PROJECT_LOC/moses/src/LM/Factory.h</locationURI>
+ <locationURI>PARENT-1-ECLIPSE_HOME/workspace/github/moses-smt/moses/src/LM/Factory.h</locationURI>
</link>
<link>
<name>LM/IRST.cpp</name>
<type>1</type>
- <locationURI>PARENT-3-PROJECT_LOC/moses/src/LM/IRST.cpp</locationURI>
+ <locationURI>PARENT-1-ECLIPSE_HOME/workspace/github/moses-smt/moses/src/LM/IRST.cpp</locationURI>
</link>
<link>
<name>LM/IRST.h</name>
<type>1</type>
- <locationURI>PARENT-3-PROJECT_LOC/moses/src/LM/IRST.h</locationURI>
+ <locationURI>PARENT-1-ECLIPSE_HOME/workspace/github/moses-smt/moses/src/LM/IRST.h</locationURI>
</link>
<link>
<name>LM/Implementation.cpp</name>
<type>1</type>
- <locationURI>PARENT-3-PROJECT_LOC/moses/src/LM/Implementation.cpp</locationURI>
+ <locationURI>PARENT-1-ECLIPSE_HOME/workspace/github/moses-smt/moses/src/LM/Implementation.cpp</locationURI>
</link>
<link>
<name>LM/Implementation.h</name>
<type>1</type>
- <locationURI>PARENT-3-PROJECT_LOC/moses/src/LM/Implementation.h</locationURI>
+ <locationURI>PARENT-1-ECLIPSE_HOME/workspace/github/moses-smt/moses/src/LM/Implementation.h</locationURI>
</link>
<link>
<name>LM/Jamfile</name>
<type>1</type>
- <locationURI>PARENT-3-PROJECT_LOC/moses/src/LM/Jamfile</locationURI>
+ <locationURI>PARENT-1-ECLIPSE_HOME/workspace/github/moses-smt/moses/src/LM/Jamfile</locationURI>
</link>
<link>
<name>LM/Joint.cpp</name>
<type>1</type>
- <locationURI>PARENT-3-PROJECT_LOC/moses/src/LM/Joint.cpp</locationURI>
+ <locationURI>PARENT-1-ECLIPSE_HOME/workspace/github/moses-smt/moses/src/LM/Joint.cpp</locationURI>
</link>
<link>
<name>LM/Joint.h</name>
<type>1</type>
- <locationURI>PARENT-3-PROJECT_LOC/moses/src/LM/Joint.h</locationURI>
+ <locationURI>PARENT-1-ECLIPSE_HOME/workspace/github/moses-smt/moses/src/LM/Joint.h</locationURI>
</link>
<link>
<name>LM/Ken.cpp</name>
<type>1</type>
- <locationURI>PARENT-3-PROJECT_LOC/moses/src/LM/Ken.cpp</locationURI>
+ <locationURI>PARENT-1-ECLIPSE_HOME/workspace/github/moses-smt/moses/src/LM/Ken.cpp</locationURI>
</link>
<link>
<name>LM/Ken.h</name>
<type>1</type>
- <locationURI>PARENT-3-PROJECT_LOC/moses/src/LM/Ken.h</locationURI>
+ <locationURI>PARENT-1-ECLIPSE_HOME/workspace/github/moses-smt/moses/src/LM/Ken.h</locationURI>
</link>
<link>
<name>LM/LDHT.cpp</name>
<type>1</type>
- <locationURI>PARENT-3-PROJECT_LOC/moses/src/LM/LDHT.cpp</locationURI>
+ <locationURI>PARENT-1-ECLIPSE_HOME/workspace/github/moses-smt/moses/src/LM/LDHT.cpp</locationURI>
</link>
<link>
<name>LM/LDHT.h</name>
<type>1</type>
- <locationURI>PARENT-3-PROJECT_LOC/moses/src/LM/LDHT.h</locationURI>
+ <locationURI>PARENT-1-ECLIPSE_HOME/workspace/github/moses-smt/moses/src/LM/LDHT.h</locationURI>
</link>
<link>
<name>LM/MultiFactor.cpp</name>
<type>1</type>
- <locationURI>PARENT-3-PROJECT_LOC/moses/src/LM/MultiFactor.cpp</locationURI>
+ <locationURI>PARENT-1-ECLIPSE_HOME/workspace/github/moses-smt/moses/src/LM/MultiFactor.cpp</locationURI>
</link>
<link>
<name>LM/MultiFactor.h</name>
<type>1</type>
- <locationURI>PARENT-3-PROJECT_LOC/moses/src/LM/MultiFactor.h</locationURI>
+ <locationURI>PARENT-1-ECLIPSE_HOME/workspace/github/moses-smt/moses/src/LM/MultiFactor.h</locationURI>
</link>
<link>
<name>LM/ORLM.cpp</name>
<type>1</type>
- <locationURI>PARENT-3-PROJECT_LOC/moses/src/LM/ORLM.cpp</locationURI>
+ <locationURI>PARENT-1-ECLIPSE_HOME/workspace/github/moses-smt/moses/src/LM/ORLM.cpp</locationURI>
</link>
<link>
<name>LM/ORLM.h</name>
<type>1</type>
- <locationURI>PARENT-3-PROJECT_LOC/moses/src/LM/ORLM.h</locationURI>
+ <locationURI>PARENT-1-ECLIPSE_HOME/workspace/github/moses-smt/moses/src/LM/ORLM.h</locationURI>
</link>
<link>
<name>LM/ParallelBackoff.cpp</name>
<type>1</type>
- <locationURI>PARENT-3-PROJECT_LOC/moses/src/LM/ParallelBackoff.cpp</locationURI>
+ <locationURI>PARENT-1-ECLIPSE_HOME/workspace/github/moses-smt/moses/src/LM/ParallelBackoff.cpp</locationURI>
</link>
<link>
<name>LM/ParallelBackoff.h</name>
<type>1</type>
- <locationURI>PARENT-3-PROJECT_LOC/moses/src/LM/ParallelBackoff.h</locationURI>
+ <locationURI>PARENT-1-ECLIPSE_HOME/workspace/github/moses-smt/moses/src/LM/ParallelBackoff.h</locationURI>
</link>
<link>
<name>LM/Rand.cpp</name>
<type>1</type>
- <locationURI>PARENT-3-PROJECT_LOC/moses/src/LM/Rand.cpp</locationURI>
+ <locationURI>PARENT-1-ECLIPSE_HOME/workspace/github/moses-smt/moses/src/LM/Rand.cpp</locationURI>
</link>
<link>
<name>LM/Rand.h</name>
<type>1</type>
- <locationURI>PARENT-3-PROJECT_LOC/moses/src/LM/Rand.h</locationURI>
+ <locationURI>PARENT-1-ECLIPSE_HOME/workspace/github/moses-smt/moses/src/LM/Rand.h</locationURI>
</link>
<link>
<name>LM/Remote.cpp</name>
<type>1</type>
- <locationURI>PARENT-3-PROJECT_LOC/moses/src/LM/Remote.cpp</locationURI>
+ <locationURI>PARENT-1-ECLIPSE_HOME/workspace/github/moses-smt/moses/src/LM/Remote.cpp</locationURI>
</link>
<link>
<name>LM/Remote.h</name>
<type>1</type>
- <locationURI>PARENT-3-PROJECT_LOC/moses/src/LM/Remote.h</locationURI>
+ <locationURI>PARENT-1-ECLIPSE_HOME/workspace/github/moses-smt/moses/src/LM/Remote.h</locationURI>
</link>
<link>
<name>LM/SRI.cpp</name>
<type>1</type>
- <locationURI>PARENT-3-PROJECT_LOC/moses/src/LM/SRI.cpp</locationURI>
+ <locationURI>PARENT-1-ECLIPSE_HOME/workspace/github/moses-smt/moses/src/LM/SRI.cpp</locationURI>
</link>
<link>
<name>LM/SRI.h</name>
<type>1</type>
- <locationURI>PARENT-3-PROJECT_LOC/moses/src/LM/SRI.h</locationURI>
+ <locationURI>PARENT-1-ECLIPSE_HOME/workspace/github/moses-smt/moses/src/LM/SRI.h</locationURI>
</link>
<link>
<name>LM/SingleFactor.cpp</name>
<type>1</type>
- <locationURI>PARENT-3-PROJECT_LOC/moses/src/LM/SingleFactor.cpp</locationURI>
+ <locationURI>PARENT-1-ECLIPSE_HOME/workspace/github/moses-smt/moses/src/LM/SingleFactor.cpp</locationURI>
</link>
<link>
<name>LM/SingleFactor.h</name>
<type>1</type>
- <locationURI>PARENT-3-PROJECT_LOC/moses/src/LM/SingleFactor.h</locationURI>
+ <locationURI>PARENT-1-ECLIPSE_HOME/workspace/github/moses-smt/moses/src/LM/SingleFactor.h</locationURI>
</link>
<link>
<name>LM/bin</name>
@@ -1742,214 +1617,469 @@
<locationURI>virtual:/virtual</locationURI>
</link>
<link>
- <name>bin/darwin-4.2.1</name>
+ <name>RuleTable/Jamfile</name>
+ <type>1</type>
+ <locationURI>PARENT-1-ECLIPSE_HOME/workspace/github/moses-smt/moses/src/RuleTable/Jamfile</locationURI>
+ </link>
+ <link>
+ <name>RuleTable/Loader.h</name>
+ <type>1</type>
+ <locationURI>PARENT-1-ECLIPSE_HOME/workspace/github/moses-smt/moses/src/RuleTable/Loader.h</locationURI>
+ </link>
+ <link>
+ <name>RuleTable/LoaderCompact.cpp</name>
+ <type>1</type>
+ <locationURI>PARENT-1-ECLIPSE_HOME/workspace/github/moses-smt/moses/src/RuleTable/LoaderCompact.cpp</locationURI>
+ </link>
+ <link>
+ <name>RuleTable/LoaderCompact.h</name>
+ <type>1</type>
+ <locationURI>PARENT-1-ECLIPSE_HOME/workspace/github/moses-smt/moses/src/RuleTable/LoaderCompact.h</locationURI>
+ </link>
+ <link>
+ <name>RuleTable/LoaderFactory.cpp</name>
+ <type>1</type>
+ <locationURI>PARENT-1-ECLIPSE_HOME/workspace/github/moses-smt/moses/src/RuleTable/LoaderFactory.cpp</locationURI>
+ </link>
+ <link>
+ <name>RuleTable/LoaderFactory.h</name>
+ <type>1</type>
+ <locationURI>PARENT-1-ECLIPSE_HOME/workspace/github/moses-smt/moses/src/RuleTable/LoaderFactory.h</locationURI>
+ </link>
+ <link>
+ <name>RuleTable/LoaderHiero.cpp</name>
+ <type>1</type>
+ <locationURI>PARENT-1-ECLIPSE_HOME/workspace/github/moses-smt/moses/src/RuleTable/LoaderHiero.cpp</locationURI>
+ </link>
+ <link>
+ <name>RuleTable/LoaderHiero.h</name>
+ <type>1</type>
+ <locationURI>PARENT-1-ECLIPSE_HOME/workspace/github/moses-smt/moses/src/RuleTable/LoaderHiero.h</locationURI>
+ </link>
+ <link>
+ <name>RuleTable/LoaderStandard.cpp</name>
+ <type>1</type>
+ <locationURI>PARENT-1-ECLIPSE_HOME/workspace/github/moses-smt/moses/src/RuleTable/LoaderStandard.cpp</locationURI>
+ </link>
+ <link>
+ <name>RuleTable/LoaderStandard.h</name>
+ <type>1</type>
+ <locationURI>PARENT-1-ECLIPSE_HOME/workspace/github/moses-smt/moses/src/RuleTable/LoaderStandard.h</locationURI>
+ </link>
+ <link>
+ <name>RuleTable/PhraseDictionaryALSuffixArray.cpp</name>
+ <type>1</type>
+ <locationURI>PARENT-1-ECLIPSE_HOME/workspace/github/moses-smt/moses/src/RuleTable/PhraseDictionaryALSuffixArray.cpp</locationURI>
+ </link>
+ <link>
+ <name>RuleTable/PhraseDictionaryALSuffixArray.h</name>
+ <type>1</type>
+ <locationURI>PARENT-1-ECLIPSE_HOME/workspace/github/moses-smt/moses/src/RuleTable/PhraseDictionaryALSuffixArray.h</locationURI>
+ </link>
+ <link>
+ <name>RuleTable/PhraseDictionaryFuzzyMatch.cpp</name>
+ <type>1</type>
+ <locationURI>PARENT-1-ECLIPSE_HOME/workspace/github/moses-smt/moses/src/RuleTable/PhraseDictionaryFuzzyMatch.cpp</locationURI>
+ </link>
+ <link>
+ <name>RuleTable/PhraseDictionaryFuzzyMatch.h</name>
+ <type>1</type>
+ <locationURI>PARENT-1-ECLIPSE_HOME/workspace/github/moses-smt/moses/src/RuleTable/PhraseDictionaryFuzzyMatch.h</locationURI>
+ </link>
+ <link>
+ <name>RuleTable/PhraseDictionaryNodeSCFG.cpp</name>
+ <type>1</type>
+ <locationURI>PARENT-1-ECLIPSE_HOME/workspace/github/moses-smt/moses/src/RuleTable/PhraseDictionaryNodeSCFG.cpp</locationURI>
+ </link>
+ <link>
+ <name>RuleTable/PhraseDictionaryNodeSCFG.h</name>
+ <type>1</type>
+ <locationURI>PARENT-1-ECLIPSE_HOME/workspace/github/moses-smt/moses/src/RuleTable/PhraseDictionaryNodeSCFG.h</locationURI>
+ </link>
+ <link>
+ <name>RuleTable/PhraseDictionaryOnDisk.cpp</name>
+ <type>1</type>
+ <locationURI>PARENT-1-ECLIPSE_HOME/workspace/github/moses-smt/moses/src/RuleTable/PhraseDictionaryOnDisk.cpp</locationURI>
+ </link>
+ <link>
+ <name>RuleTable/PhraseDictionaryOnDisk.h</name>
+ <type>1</type>
+ <locationURI>PARENT-1-ECLIPSE_HOME/workspace/github/moses-smt/moses/src/RuleTable/PhraseDictionaryOnDisk.h</locationURI>
+ </link>
+ <link>
+ <name>RuleTable/PhraseDictionarySCFG.cpp</name>
+ <type>1</type>
+ <locationURI>PARENT-1-ECLIPSE_HOME/workspace/github/moses-smt/moses/src/RuleTable/PhraseDictionarySCFG.cpp</locationURI>
+ </link>
+ <link>
+ <name>RuleTable/PhraseDictionarySCFG.h</name>
+ <type>1</type>
+ <locationURI>PARENT-1-ECLIPSE_HOME/workspace/github/moses-smt/moses/src/RuleTable/PhraseDictionarySCFG.h</locationURI>
+ </link>
+ <link>
+ <name>RuleTable/Trie.cpp</name>
+ <type>1</type>
+ <locationURI>PARENT-1-ECLIPSE_HOME/workspace/github/moses-smt/moses/src/RuleTable/Trie.cpp</locationURI>
+ </link>
+ <link>
+ <name>RuleTable/Trie.h</name>
+ <type>1</type>
+ <locationURI>PARENT-1-ECLIPSE_HOME/workspace/github/moses-smt/moses/src/RuleTable/Trie.h</locationURI>
+ </link>
+ <link>
+ <name>RuleTable/UTrie.cpp</name>
+ <type>1</type>
+ <locationURI>PARENT-1-ECLIPSE_HOME/workspace/github/moses-smt/moses/src/RuleTable/UTrie.cpp</locationURI>
+ </link>
+ <link>
+ <name>RuleTable/UTrie.h</name>
+ <type>1</type>
+ <locationURI>PARENT-1-ECLIPSE_HOME/workspace/github/moses-smt/moses/src/RuleTable/UTrie.h</locationURI>
+ </link>
+ <link>
+ <name>RuleTable/UTrieNode.cpp</name>
+ <type>1</type>
+ <locationURI>PARENT-1-ECLIPSE_HOME/workspace/github/moses-smt/moses/src/RuleTable/UTrieNode.cpp</locationURI>
+ </link>
+ <link>
+ <name>RuleTable/UTrieNode.h</name>
+ <type>1</type>
+ <locationURI>PARENT-1-ECLIPSE_HOME/workspace/github/moses-smt/moses/src/RuleTable/UTrieNode.h</locationURI>
+ </link>
+ <link>
+ <name>RuleTable/bin</name>
<type>2</type>
<locationURI>virtual:/virtual</locationURI>
</link>
<link>
- <name>bin/gcc-4.6</name>
+ <name>Scope3Parser/ApplicableRuleTrie.cpp</name>
+ <type>1</type>
+ <locationURI>PARENT-1-ECLIPSE_HOME/workspace/github/moses-smt/moses/src/Scope3Parser/ApplicableRuleTrie.cpp</locationURI>
+ </link>
+ <link>
+ <name>Scope3Parser/ApplicableRuleTrie.h</name>
+ <type>1</type>
+ <locationURI>PARENT-1-ECLIPSE_HOME/workspace/github/moses-smt/moses/src/Scope3Parser/ApplicableRuleTrie.h</locationURI>
+ </link>
+ <link>
+ <name>Scope3Parser/IntermediateVarSpanNode.h</name>
+ <type>1</type>
+ <locationURI>PARENT-1-ECLIPSE_HOME/workspace/github/moses-smt/moses/src/Scope3Parser/IntermediateVarSpanNode.h</locationURI>
+ </link>
+ <link>
+ <name>Scope3Parser/Jamfile</name>
+ <type>1</type>
+ <locationURI>PARENT-1-ECLIPSE_HOME/workspace/github/moses-smt/moses/src/Scope3Parser/Jamfile</locationURI>
+ </link>
+ <link>
+ <name>Scope3Parser/Parser.cpp</name>
+ <type>1</type>
+ <locationURI>PARENT-1-ECLIPSE_HOME/workspace/github/moses-smt/moses/src/Scope3Parser/Parser.cpp</locationURI>
+ </link>
+ <link>
+ <name>Scope3Parser/Parser.h</name>
+ <type>1</type>
+ <locationURI>PARENT-1-ECLIPSE_HOME/workspace/github/moses-smt/moses/src/Scope3Parser/Parser.h</locationURI>
+ </link>
+ <link>
+ <name>Scope3Parser/SentenceMap.h</name>
+ <type>1</type>
+ <locationURI>PARENT-1-ECLIPSE_HOME/workspace/github/moses-smt/moses/src/Scope3Parser/SentenceMap.h</locationURI>
+ </link>
+ <link>
+ <name>Scope3Parser/StackLattice.h</name>
+ <type>1</type>
+ <locationURI>PARENT-1-ECLIPSE_HOME/workspace/github/moses-smt/moses/src/Scope3Parser/StackLattice.h</locationURI>
+ </link>
+ <link>
+ <name>Scope3Parser/StackLatticeBuilder.cpp</name>
+ <type>1</type>
+ <locationURI>PARENT-1-ECLIPSE_HOME/workspace/github/moses-smt/moses/src/Scope3Parser/StackLatticeBuilder.cpp</locationURI>
+ </link>
+ <link>
+ <name>Scope3Parser/StackLatticeBuilder.h</name>
+ <type>1</type>
+ <locationURI>PARENT-1-ECLIPSE_HOME/workspace/github/moses-smt/moses/src/Scope3Parser/StackLatticeBuilder.h</locationURI>
+ </link>
+ <link>
+ <name>Scope3Parser/StackLatticeSearcher.h</name>
+ <type>1</type>
+ <locationURI>PARENT-1-ECLIPSE_HOME/workspace/github/moses-smt/moses/src/Scope3Parser/StackLatticeSearcher.h</locationURI>
+ </link>
+ <link>
+ <name>Scope3Parser/VarSpanNode.h</name>
+ <type>1</type>
+ <locationURI>PARENT-1-ECLIPSE_HOME/workspace/github/moses-smt/moses/src/Scope3Parser/VarSpanNode.h</locationURI>
+ </link>
+ <link>
+ <name>Scope3Parser/VarSpanTrieBuilder.cpp</name>
+ <type>1</type>
+ <locationURI>PARENT-1-ECLIPSE_HOME/workspace/github/moses-smt/moses/src/Scope3Parser/VarSpanTrieBuilder.cpp</locationURI>
+ </link>
+ <link>
+ <name>Scope3Parser/VarSpanTrieBuilder.h</name>
+ <type>1</type>
+ <locationURI>PARENT-1-ECLIPSE_HOME/workspace/github/moses-smt/moses/src/Scope3Parser/VarSpanTrieBuilder.h</locationURI>
+ </link>
+ <link>
+ <name>Scope3Parser/bin</name>
<type>2</type>
<locationURI>virtual:/virtual</locationURI>
</link>
<link>
- <name>CYKPlusParser/bin/clang-darwin-4.2.1</name>
+ <name>bin/darwin-4.2.1</name>
<type>2</type>
<locationURI>virtual:/virtual</locationURI>
</link>
<link>
- <name>CYKPlusParser/bin/darwin-4.2.1</name>
+ <name>bin/gcc-4.6</name>
<type>2</type>
<locationURI>virtual:/virtual</locationURI>
</link>
<link>
- <name>CYKPlusParser/bin/gcc-4.6</name>
+ <name>fuzzy-match/FuzzyMatchWrapper.cpp</name>
+ <type>1</type>
+ <locationURI>PARENT-1-ECLIPSE_HOME/workspace/github/moses-smt/moses/src/fuzzy-match/FuzzyMatchWrapper.cpp</locationURI>
+ </link>
+ <link>
+ <name>fuzzy-match/FuzzyMatchWrapper.h</name>
+ <type>1</type>
+ <locationURI>PARENT-1-ECLIPSE_HOME/workspace/github/moses-smt/moses/src/fuzzy-match/FuzzyMatchWrapper.h</locationURI>
+ </link>
+ <link>
+ <name>fuzzy-match/Jamfile</name>
+ <type>1</type>
+ <locationURI>PARENT-1-ECLIPSE_HOME/workspace/github/moses-smt/moses/src/fuzzy-match/Jamfile</locationURI>
+ </link>
+ <link>
+ <name>fuzzy-match/Match.h</name>
+ <type>1</type>
+ <locationURI>PARENT-1-ECLIPSE_HOME/workspace/github/moses-smt/moses/src/fuzzy-match/Match.h</locationURI>
+ </link>
+ <link>
+ <name>fuzzy-match/SentenceAlignment.cpp</name>
+ <type>1</type>
+ <locationURI>PARENT-1-ECLIPSE_HOME/workspace/github/moses-smt/moses/src/fuzzy-match/SentenceAlignment.cpp</locationURI>
+ </link>
+ <link>
+ <name>fuzzy-match/SentenceAlignment.h</name>
+ <type>1</type>
+ <locationURI>PARENT-1-ECLIPSE_HOME/workspace/github/moses-smt/moses/src/fuzzy-match/SentenceAlignment.h</locationURI>
+ </link>
+ <link>
+ <name>fuzzy-match/SuffixArray.cpp</name>
+ <type>1</type>
+ <locationURI>PARENT-1-ECLIPSE_HOME/workspace/github/moses-smt/moses/src/fuzzy-match/SuffixArray.cpp</locationURI>
+ </link>
+ <link>
+ <name>fuzzy-match/SuffixArray.h</name>
+ <type>1</type>
+ <locationURI>PARENT-1-ECLIPSE_HOME/workspace/github/moses-smt/moses/src/fuzzy-match/SuffixArray.h</locationURI>
+ </link>
+ <link>
+ <name>fuzzy-match/Vocabulary.cpp</name>
+ <type>1</type>
+ <locationURI>PARENT-1-ECLIPSE_HOME/workspace/github/moses-smt/moses/src/fuzzy-match/Vocabulary.cpp</locationURI>
+ </link>
+ <link>
+ <name>fuzzy-match/Vocabulary.h</name>
+ <type>1</type>
+ <locationURI>PARENT-1-ECLIPSE_HOME/workspace/github/moses-smt/moses/src/fuzzy-match/Vocabulary.h</locationURI>
+ </link>
+ <link>
+ <name>fuzzy-match/bin</name>
<type>2</type>
<locationURI>virtual:/virtual</locationURI>
</link>
<link>
- <name>LM/bin/darwin-4.2.1</name>
+ <name>CYKPlusParser/bin/gcc-4.6</name>
<type>2</type>
<locationURI>virtual:/virtual</locationURI>
</link>
<link>
- <name>LM/bin/gcc-4.2.1</name>
+ <name>CompactPT/bin/gcc-4.6</name>
<type>2</type>
<locationURI>virtual:/virtual</locationURI>
</link>
<link>
- <name>LM/bin/lm.log</name>
+ <name>CompactPT/bin/pt.log</name>
<type>1</type>
- <locationURI>PARENT-3-PROJECT_LOC/moses/src/LM/bin/lm.log</locationURI>
+ <locationURI>PARENT-1-ECLIPSE_HOME/workspace/github/moses-smt/moses/src/CompactPT/bin/pt.log</locationURI>
</link>
<link>
- <name>bin/darwin-4.2.1/release</name>
+ <name>DynSAInclude/bin/gcc-4.6</name>
<type>2</type>
<locationURI>virtual:/virtual</locationURI>
</link>
<link>
- <name>bin/gcc-4.6/release</name>
+ <name>LM/bin/gcc-4.6</name>
<type>2</type>
<locationURI>virtual:/virtual</locationURI>
</link>
<link>
- <name>CYKPlusParser/bin/clang-darwin-4.2.1/release</name>
+ <name>LM/bin/lm.log</name>
+ <type>1</type>
+ <locationURI>PARENT-1-ECLIPSE_HOME/workspace/github/moses-smt/moses/src/LM/bin/lm.log</locationURI>
+ </link>
+ <link>
+ <name>RuleTable/bin/gcc-4.6</name>
<type>2</type>
<locationURI>virtual:/virtual</locationURI>
</link>
<link>
- <name>CYKPlusParser/bin/darwin-4.2.1/release</name>
+ <name>Scope3Parser/bin/gcc-4.6</name>
<type>2</type>
<locationURI>virtual:/virtual</locationURI>
</link>
<link>
- <name>CYKPlusParser/bin/gcc-4.6/release</name>
+ <name>bin/darwin-4.2.1/release</name>
<type>2</type>
<locationURI>virtual:/virtual</locationURI>
</link>
<link>
- <name>LM/bin/darwin-4.2.1/release</name>
+ <name>bin/gcc-4.6/release</name>
<type>2</type>
<locationURI>virtual:/virtual</locationURI>
</link>
<link>
- <name>LM/bin/gcc-4.2.1/release</name>
+ <name>fuzzy-match/bin/gcc-4.6</name>
<type>2</type>
<locationURI>virtual:/virtual</locationURI>
</link>
<link>
- <name>bin/darwin-4.2.1/release/debug-symbols-on</name>
+ <name>CYKPlusParser/bin/gcc-4.6/release</name>
<type>2</type>
<locationURI>virtual:/virtual</locationURI>
</link>
<link>
- <name>bin/gcc-4.6/release/debug-symbols-on</name>
+ <name>CompactPT/bin/gcc-4.6/release</name>
<type>2</type>
<locationURI>virtual:/virtual</locationURI>
</link>
<link>
- <name>CYKPlusParser/bin/clang-darwin-4.2.1/release/debug-symbols-on</name>
+ <name>DynSAInclude/bin/gcc-4.6/release</name>
<type>2</type>
<locationURI>virtual:/virtual</locationURI>
</link>
<link>
- <name>CYKPlusParser/bin/darwin-4.2.1/release/debug-symbols-on</name>
+ <name>LM/bin/gcc-4.6/release</name>
<type>2</type>
<locationURI>virtual:/virtual</locationURI>
</link>
<link>
- <name>CYKPlusParser/bin/gcc-4.6/release/debug-symbols-on</name>
+ <name>RuleTable/bin/gcc-4.6/release</name>
<type>2</type>
<locationURI>virtual:/virtual</locationURI>
</link>
<link>
- <name>LM/bin/darwin-4.2.1/release/debug-symbols-on</name>
+ <name>Scope3Parser/bin/gcc-4.6/release</name>
<type>2</type>
<locationURI>virtual:/virtual</locationURI>
</link>
<link>
- <name>LM/bin/darwin-4.2.1/release/link-static</name>
+ <name>bin/darwin-4.2.1/release/debug-symbols-on</name>
<type>2</type>
<locationURI>virtual:/virtual</locationURI>
</link>
<link>
- <name>LM/bin/gcc-4.2.1/release/debug-symbols-on</name>
+ <name>bin/gcc-4.6/release/debug-symbols-on</name>
<type>2</type>
<locationURI>virtual:/virtual</locationURI>
</link>
<link>
- <name>bin/darwin-4.2.1/release/debug-symbols-on/link-static</name>
+ <name>fuzzy-match/bin/gcc-4.6/release</name>
<type>2</type>
<locationURI>virtual:/virtual</locationURI>
</link>
<link>
- <name>bin/gcc-4.6/release/debug-symbols-on/link-static</name>
+ <name>CYKPlusParser/bin/gcc-4.6/release/debug-symbols-on</name>
<type>2</type>
<locationURI>virtual:/virtual</locationURI>
</link>
<link>
- <name>CYKPlusParser/bin/clang-darwin-4.2.1/release/debug-symbols-on/link-static</name>
+ <name>CompactPT/bin/gcc-4.6/release/debug-symbols-on</name>
<type>2</type>
<locationURI>virtual:/virtual</locationURI>
</link>
<link>
- <name>CYKPlusParser/bin/darwin-4.2.1/release/debug-symbols-on/link-static</name>
+ <name>DynSAInclude/bin/gcc-4.6/release/debug-symbols-on</name>
<type>2</type>
<locationURI>virtual:/virtual</locationURI>
</link>
<link>
- <name>CYKPlusParser/bin/darwin-4.2.1/release/debug-symbols-on/threading-multi</name>
+ <name>LM/bin/gcc-4.6/release/debug-symbols-on</name>
<type>2</type>
<locationURI>virtual:/virtual</locationURI>
</link>
<link>
- <name>CYKPlusParser/bin/gcc-4.6/release/debug-symbols-on/link-static</name>
+ <name>RuleTable/bin/gcc-4.6/release/debug-symbols-on</name>
<type>2</type>
<locationURI>virtual:/virtual</locationURI>
</link>
<link>
- <name>LM/bin/darwin-4.2.1/release/debug-symbols-on/link-static</name>
+ <name>Scope3Parser/bin/gcc-4.6/release/debug-symbols-on</name>
<type>2</type>
<locationURI>virtual:/virtual</locationURI>
</link>
<link>
- <name>LM/bin/darwin-4.2.1/release/debug-symbols-on/threading-multi</name>
+ <name>bin/darwin-4.2.1/release/debug-symbols-on/link-static</name>
<type>2</type>
<locationURI>virtual:/virtual</locationURI>
</link>
<link>
- <name>LM/bin/darwin-4.2.1/release/link-static/threading-multi</name>
+ <name>bin/gcc-4.6/release/debug-symbols-on/link-static</name>
<type>2</type>
<locationURI>virtual:/virtual</locationURI>
</link>
<link>
- <name>LM/bin/gcc-4.2.1/release/debug-symbols-on/link-static</name>
+ <name>fuzzy-match/bin/gcc-4.6/release/debug-symbols-on</name>
<type>2</type>
<locationURI>virtual:/virtual</locationURI>
</link>
<link>
- <name>bin/darwin-4.2.1/release/debug-symbols-on/link-static/threading-multi</name>
+ <name>CYKPlusParser/bin/gcc-4.6/release/debug-symbols-on/link-static</name>
<type>2</type>
<locationURI>virtual:/virtual</locationURI>
</link>
<link>
- <name>bin/gcc-4.6/release/debug-symbols-on/link-static/threading-multi</name>
+ <name>CompactPT/bin/gcc-4.6/release/debug-symbols-on/link-static</name>
<type>2</type>
<locationURI>virtual:/virtual</locationURI>
</link>
<link>
- <name>CYKPlusParser/bin/clang-darwin-4.2.1/release/debug-symbols-on/link-static/threading-multi</name>
+ <name>DynSAInclude/bin/gcc-4.6/release/debug-symbols-on/link-static</name>
<type>2</type>
<locationURI>virtual:/virtual</locationURI>
</link>
<link>
- <name>CYKPlusParser/bin/darwin-4.2.1/release/debug-symbols-on/link-static/threading-multi</name>
+ <name>LM/bin/gcc-4.6/release/debug-symbols-on/link-static</name>
<type>2</type>
<locationURI>virtual:/virtual</locationURI>
</link>
<link>
- <name>CYKPlusParser/bin/darwin-4.2.1/release/debug-symbols-on/threading-multi/ChartRuleLookupManagerCYKPlus.o</name>
- <type>1</type>
- <locationURI>PARENT-3-PROJECT_LOC/moses/src/CYKPlusParser/bin/darwin-4.2.1/release/debug-symbols-on/threading-multi/ChartRuleLookupManagerCYKPlus.o</locationURI>
+ <name>RuleTable/bin/gcc-4.6/release/debug-symbols-on/link-static</name>
+ <type>2</type>
+ <locationURI>virtual:/virtual</locationURI>
</link>
<link>
- <name>CYKPlusParser/bin/darwin-4.2.1/release/debug-symbols-on/threading-multi/ChartRuleLookupManagerMemory.o</name>
- <type>1</type>
- <locationURI>PARENT-3-PROJECT_LOC/moses/src/CYKPlusParser/bin/darwin-4.2.1/release/debug-symbols-on/threading-multi/ChartRuleLookupManagerMemory.o</locationURI>
+ <name>Scope3Parser/bin/gcc-4.6/release/debug-symbols-on/link-static</name>
+ <type>2</type>
+ <locationURI>virtual:/virtual</locationURI>
</link>
<link>
- <name>CYKPlusParser/bin/darwin-4.2.1/release/debug-symbols-on/threading-multi/ChartRuleLookupManagerOnDisk.o</name>
- <type>1</type>
- <locationURI>PARENT-3-PROJECT_LOC/moses/src/CYKPlusParser/bin/darwin-4.2.1/release/debug-symbols-on/threading-multi/ChartRuleLookupManagerOnDisk.o</locationURI>
+ <name>bin/darwin-4.2.1/release/debug-symbols-on/link-static/threading-multi</name>
+ <type>2</type>
+ <locationURI>virtual:/virtual</locationURI>
</link>
<link>
- <name>CYKPlusParser/bin/darwin-4.2.1/release/debug-symbols-on/threading-multi/DotChartInMemory.o</name>
- <type>1</type>
- <locationURI>PARENT-3-PROJECT_LOC/moses/src/CYKPlusParser/bin/darwin-4.2.1/release/debug-symbols-on/threading-multi/DotChartInMemory.o</locationURI>
+ <name>bin/gcc-4.6/release/debug-symbols-on/link-static/threading-multi</name>
+ <type>2</type>
+ <locationURI>virtual:/virtual</locationURI>
</link>
<link>
- <name>CYKPlusParser/bin/darwin-4.2.1/release/debug-symbols-on/threading-multi/DotChartOnDisk.o</name>
- <type>1</type>
- <locationURI>PARENT-3-PROJECT_LOC/moses/src/CYKPlusParser/bin/darwin-4.2.1/release/debug-symbols-on/threading-multi/DotChartOnDisk.o</locationURI>
+ <name>fuzzy-match/bin/gcc-4.6/release/debug-symbols-on/link-static</name>
+ <type>2</type>
+ <locationURI>virtual:/virtual</locationURI>
</link>
<link>
<name>CYKPlusParser/bin/gcc-4.6/release/debug-symbols-on/link-static/threading-multi</name>
@@ -1957,112 +2087,27 @@
<locationURI>virtual:/virtual</locationURI>
</link>
<link>
- <name>LM/bin/darwin-4.2.1/release/debug-symbols-on/link-static/threading-multi</name>
+ <name>CompactPT/bin/gcc-4.6/release/debug-symbols-on/link-static/threading-multi</name>
<type>2</type>
<locationURI>virtual:/virtual</locationURI>
</link>
<link>
- <name>LM/bin/darwin-4.2.1/release/debug-symbols-on/threading-multi/Base.o</name>
- <type>1</type>
- <locationURI>PARENT-3-PROJECT_LOC/moses/src/LM/bin/darwin-4.2.1/release/debug-symbols-on/threading-multi/Base.o</locationURI>
- </link>
- <link>
- <name>LM/bin/darwin-4.2.1/release/debug-symbols-on/threading-multi/Factory.o</name>
- <type>1</type>
- <locationURI>PARENT-3-PROJECT_LOC/moses/src/LM/bin/darwin-4.2.1/release/debug-symbols-on/threading-multi/Factory.o</locationURI>
- </link>
- <link>
- <name>LM/bin/darwin-4.2.1/release/debug-symbols-on/threading-multi/IRST.o</name>
- <type>1</type>
- <locationURI>PARENT-3-PROJECT_LOC/moses/src/LM/bin/darwin-4.2.1/release/debug-symbols-on/threading-multi/IRST.o</locationURI>
- </link>
- <link>
- <name>LM/bin/darwin-4.2.1/release/debug-symbols-on/threading-multi/Implementation.o</name>
- <type>1</type>
- <locationURI>PARENT-3-PROJECT_LOC/moses/src/LM/bin/darwin-4.2.1/release/debug-symbols-on/threading-multi/Implementation.o</locationURI>
- </link>
- <link>
- <name>LM/bin/darwin-4.2.1/release/debug-symbols-on/threading-multi/Joint.o</name>
- <type>1</type>
- <locationURI>PARENT-3-PROJECT_LOC/moses/src/LM/bin/darwin-4.2.1/release/debug-symbols-on/threading-multi/Joint.o</locationURI>
- </link>
- <link>
- <name>LM/bin/darwin-4.2.1/release/debug-symbols-on/threading-multi/Ken.o</name>
- <type>1</type>
- <locationURI>PARENT-3-PROJECT_LOC/moses/src/LM/bin/darwin-4.2.1/release/debug-symbols-on/threading-multi/Ken.o</locationURI>
- </link>
- <link>
- <name>LM/bin/darwin-4.2.1/release/debug-symbols-on/threading-multi/MultiFactor.o</name>
- <type>1</type>
- <locationURI>PARENT-3-PROJECT_LOC/moses/src/LM/bin/darwin-4.2.1/release/debug-symbols-on/threading-multi/MultiFactor.o</locationURI>
- </link>
- <link>
- <name>LM/bin/darwin-4.2.1/release/debug-symbols-on/threading-multi/ParallelBackoff.o</name>
- <type>1</type>
- <locationURI>PARENT-3-PROJECT_LOC/moses/src/LM/bin/darwin-4.2.1/release/debug-symbols-on/threading-multi/ParallelBackoff.o</locationURI>
- </link>
- <link>
- <name>LM/bin/darwin-4.2.1/release/debug-symbols-on/threading-multi/Remote.o</name>
- <type>1</type>
- <locationURI>PARENT-3-PROJECT_LOC/moses/src/LM/bin/darwin-4.2.1/release/debug-symbols-on/threading-multi/Remote.o</locationURI>
- </link>
- <link>
- <name>LM/bin/darwin-4.2.1/release/debug-symbols-on/threading-multi/SRI.o</name>
- <type>1</type>
- <locationURI>PARENT-3-PROJECT_LOC/moses/src/LM/bin/darwin-4.2.1/release/debug-symbols-on/threading-multi/SRI.o</locationURI>
- </link>
- <link>
- <name>LM/bin/darwin-4.2.1/release/debug-symbols-on/threading-multi/SingleFactor.o</name>
- <type>1</type>
- <locationURI>PARENT-3-PROJECT_LOC/moses/src/LM/bin/darwin-4.2.1/release/debug-symbols-on/threading-multi/SingleFactor.o</locationURI>
- </link>
- <link>
- <name>LM/bin/darwin-4.2.1/release/link-static/threading-multi/Base.o</name>
- <type>1</type>
- <locationURI>PARENT-3-PROJECT_LOC/moses/src/LM/bin/darwin-4.2.1/release/link-static/threading-multi/Base.o</locationURI>
- </link>
- <link>
- <name>LM/bin/darwin-4.2.1/release/link-static/threading-multi/Factory.o</name>
- <type>1</type>
- <locationURI>PARENT-3-PROJECT_LOC/moses/src/LM/bin/darwin-4.2.1/release/link-static/threading-multi/Factory.o</locationURI>
- </link>
- <link>
- <name>LM/bin/darwin-4.2.1/release/link-static/threading-multi/Implementation.o</name>
- <type>1</type>
- <locationURI>PARENT-3-PROJECT_LOC/moses/src/LM/bin/darwin-4.2.1/release/link-static/threading-multi/Implementation.o</locationURI>
- </link>
- <link>
- <name>LM/bin/darwin-4.2.1/release/link-static/threading-multi/Joint.o</name>
- <type>1</type>
- <locationURI>PARENT-3-PROJECT_LOC/moses/src/LM/bin/darwin-4.2.1/release/link-static/threading-multi/Joint.o</locationURI>
- </link>
- <link>
- <name>LM/bin/darwin-4.2.1/release/link-static/threading-multi/Ken.o</name>
- <type>1</type>
- <locationURI>PARENT-3-PROJECT_LOC/moses/src/LM/bin/darwin-4.2.1/release/link-static/threading-multi/Ken.o</locationURI>
- </link>
- <link>
- <name>LM/bin/darwin-4.2.1/release/link-static/threading-multi/MultiFactor.o</name>
- <type>1</type>
- <locationURI>PARENT-3-PROJECT_LOC/moses/src/LM/bin/darwin-4.2.1/release/link-static/threading-multi/MultiFactor.o</locationURI>
- </link>
- <link>
- <name>LM/bin/darwin-4.2.1/release/link-static/threading-multi/Remote.o</name>
- <type>1</type>
- <locationURI>PARENT-3-PROJECT_LOC/moses/src/LM/bin/darwin-4.2.1/release/link-static/threading-multi/Remote.o</locationURI>
+ <name>DynSAInclude/bin/gcc-4.6/release/debug-symbols-on/link-static/threading-multi</name>
+ <type>2</type>
+ <locationURI>virtual:/virtual</locationURI>
</link>
<link>
- <name>LM/bin/darwin-4.2.1/release/link-static/threading-multi/SingleFactor.o</name>
- <type>1</type>
- <locationURI>PARENT-3-PROJECT_LOC/moses/src/LM/bin/darwin-4.2.1/release/link-static/threading-multi/SingleFactor.o</locationURI>
+ <name>LM/bin/gcc-4.6/release/debug-symbols-on/link-static/threading-multi</name>
+ <type>2</type>
+ <locationURI>virtual:/virtual</locationURI>
</link>
<link>
- <name>LM/bin/darwin-4.2.1/release/link-static/threading-multi/libLM.a</name>
- <type>1</type>
- <locationURI>PARENT-3-PROJECT_LOC/moses/src/LM/bin/darwin-4.2.1/release/link-static/threading-multi/libLM.a</locationURI>
+ <name>RuleTable/bin/gcc-4.6/release/debug-symbols-on/link-static/threading-multi</name>
+ <type>2</type>
+ <locationURI>virtual:/virtual</locationURI>
</link>
<link>
- <name>LM/bin/gcc-4.2.1/release/debug-symbols-on/link-static/threading-multi</name>
+ <name>Scope3Parser/bin/gcc-4.6/release/debug-symbols-on/link-static/threading-multi</name>
<type>2</type>
<locationURI>virtual:/virtual</locationURI>
</link>
@@ -2542,36 +2587,491 @@
<locationURI>PARENT-3-PROJECT_LOC/moses/src/bin/darwin-4.2.1/release/debug-symbols-on/link-static/threading-multi/libmoses_internal.a</locationURI>
</link>
<link>
+ <name>bin/gcc-4.6/release/debug-symbols-on/link-static/threading-multi/AlignmentInfo.o</name>
+ <type>1</type>
+ <locationURI>PARENT-1-ECLIPSE_HOME/workspace/github/moses-smt/moses/src/bin/gcc-4.6/release/debug-symbols-on/link-static/threading-multi/AlignmentInfo.o</locationURI>
+ </link>
+ <link>
+ <name>bin/gcc-4.6/release/debug-symbols-on/link-static/threading-multi/AlignmentInfoCollection.o</name>
+ <type>1</type>
+ <locationURI>PARENT-1-ECLIPSE_HOME/workspace/github/moses-smt/moses/src/bin/gcc-4.6/release/debug-symbols-on/link-static/threading-multi/AlignmentInfoCollection.o</locationURI>
+ </link>
+ <link>
<name>bin/gcc-4.6/release/debug-symbols-on/link-static/threading-multi/ApplicableRuleTrie.o</name>
<type>1</type>
<locationURI>PARENT-3-PROJECT_LOC/moses/src/Scope3Parser/bin/gcc-4.6/release/debug-symbols-on/link-static/threading-multi/ApplicableRuleTrie.o</locationURI>
</link>
<link>
+ <name>bin/gcc-4.6/release/debug-symbols-on/link-static/threading-multi/BilingualDynSuffixArray.o</name>
+ <type>1</type>
+ <locationURI>PARENT-1-ECLIPSE_HOME/workspace/github/moses-smt/moses/src/bin/gcc-4.6/release/debug-symbols-on/link-static/threading-multi/BilingualDynSuffixArray.o</locationURI>
+ </link>
+ <link>
+ <name>bin/gcc-4.6/release/debug-symbols-on/link-static/threading-multi/BitmapContainer.o</name>
+ <type>1</type>
+ <locationURI>PARENT-1-ECLIPSE_HOME/workspace/github/moses-smt/moses/src/bin/gcc-4.6/release/debug-symbols-on/link-static/threading-multi/BitmapContainer.o</locationURI>
+ </link>
+ <link>
+ <name>bin/gcc-4.6/release/debug-symbols-on/link-static/threading-multi/ChartCell.o</name>
+ <type>1</type>
+ <locationURI>PARENT-1-ECLIPSE_HOME/workspace/github/moses-smt/moses/src/bin/gcc-4.6/release/debug-symbols-on/link-static/threading-multi/ChartCell.o</locationURI>
+ </link>
+ <link>
+ <name>bin/gcc-4.6/release/debug-symbols-on/link-static/threading-multi/ChartCellCollection.o</name>
+ <type>1</type>
+ <locationURI>PARENT-1-ECLIPSE_HOME/workspace/github/moses-smt/moses/src/bin/gcc-4.6/release/debug-symbols-on/link-static/threading-multi/ChartCellCollection.o</locationURI>
+ </link>
+ <link>
+ <name>bin/gcc-4.6/release/debug-symbols-on/link-static/threading-multi/ChartHypothesis.o</name>
+ <type>1</type>
+ <locationURI>PARENT-1-ECLIPSE_HOME/workspace/github/moses-smt/moses/src/bin/gcc-4.6/release/debug-symbols-on/link-static/threading-multi/ChartHypothesis.o</locationURI>
+ </link>
+ <link>
+ <name>bin/gcc-4.6/release/debug-symbols-on/link-static/threading-multi/ChartHypothesisCollection.o</name>
+ <type>1</type>
+ <locationURI>PARENT-1-ECLIPSE_HOME/workspace/github/moses-smt/moses/src/bin/gcc-4.6/release/debug-symbols-on/link-static/threading-multi/ChartHypothesisCollection.o</locationURI>
+ </link>
+ <link>
+ <name>bin/gcc-4.6/release/debug-symbols-on/link-static/threading-multi/ChartManager.o</name>
+ <type>1</type>
+ <locationURI>PARENT-1-ECLIPSE_HOME/workspace/github/moses-smt/moses/src/bin/gcc-4.6/release/debug-symbols-on/link-static/threading-multi/ChartManager.o</locationURI>
+ </link>
+ <link>
+ <name>bin/gcc-4.6/release/debug-symbols-on/link-static/threading-multi/ChartTranslationOption.o</name>
+ <type>1</type>
+ <locationURI>PARENT-1-ECLIPSE_HOME/workspace/github/moses-smt/moses/src/bin/gcc-4.6/release/debug-symbols-on/link-static/threading-multi/ChartTranslationOption.o</locationURI>
+ </link>
+ <link>
+ <name>bin/gcc-4.6/release/debug-symbols-on/link-static/threading-multi/ChartTranslationOptionCollection.o</name>
+ <type>1</type>
+ <locationURI>PARENT-1-ECLIPSE_HOME/workspace/github/moses-smt/moses/src/bin/gcc-4.6/release/debug-symbols-on/link-static/threading-multi/ChartTranslationOptionCollection.o</locationURI>
+ </link>
+ <link>
+ <name>bin/gcc-4.6/release/debug-symbols-on/link-static/threading-multi/ChartTranslationOptionList.o</name>
+ <type>1</type>
+ <locationURI>PARENT-1-ECLIPSE_HOME/workspace/github/moses-smt/moses/src/bin/gcc-4.6/release/debug-symbols-on/link-static/threading-multi/ChartTranslationOptionList.o</locationURI>
+ </link>
+ <link>
+ <name>bin/gcc-4.6/release/debug-symbols-on/link-static/threading-multi/ChartTranslationOptions.o</name>
+ <type>1</type>
+ <locationURI>PARENT-1-ECLIPSE_HOME/workspace/github/moses-smt/moses/src/bin/gcc-4.6/release/debug-symbols-on/link-static/threading-multi/ChartTranslationOptions.o</locationURI>
+ </link>
+ <link>
+ <name>bin/gcc-4.6/release/debug-symbols-on/link-static/threading-multi/ChartTrellisDetour.o</name>
+ <type>1</type>
+ <locationURI>PARENT-1-ECLIPSE_HOME/workspace/github/moses-smt/moses/src/bin/gcc-4.6/release/debug-symbols-on/link-static/threading-multi/ChartTrellisDetour.o</locationURI>
+ </link>
+ <link>
+ <name>bin/gcc-4.6/release/debug-symbols-on/link-static/threading-multi/ChartTrellisDetourQueue.o</name>
+ <type>1</type>
+ <locationURI>PARENT-1-ECLIPSE_HOME/workspace/github/moses-smt/moses/src/bin/gcc-4.6/release/debug-symbols-on/link-static/threading-multi/ChartTrellisDetourQueue.o</locationURI>
+ </link>
+ <link>
+ <name>bin/gcc-4.6/release/debug-symbols-on/link-static/threading-multi/ChartTrellisNode.o</name>
+ <type>1</type>
+ <locationURI>PARENT-1-ECLIPSE_HOME/workspace/github/moses-smt/moses/src/bin/gcc-4.6/release/debug-symbols-on/link-static/threading-multi/ChartTrellisNode.o</locationURI>
+ </link>
+ <link>
+ <name>bin/gcc-4.6/release/debug-symbols-on/link-static/threading-multi/ChartTrellisPath.o</name>
+ <type>1</type>
+ <locationURI>PARENT-1-ECLIPSE_HOME/workspace/github/moses-smt/moses/src/bin/gcc-4.6/release/debug-symbols-on/link-static/threading-multi/ChartTrellisPath.o</locationURI>
+ </link>
+ <link>
+ <name>bin/gcc-4.6/release/debug-symbols-on/link-static/threading-multi/ConfusionNet.o</name>
+ <type>1</type>
+ <locationURI>PARENT-1-ECLIPSE_HOME/workspace/github/moses-smt/moses/src/bin/gcc-4.6/release/debug-symbols-on/link-static/threading-multi/ConfusionNet.o</locationURI>
+ </link>
+ <link>
+ <name>bin/gcc-4.6/release/debug-symbols-on/link-static/threading-multi/DecodeFeature.o</name>
+ <type>1</type>
+ <locationURI>PARENT-1-ECLIPSE_HOME/workspace/github/moses-smt/moses/src/bin/gcc-4.6/release/debug-symbols-on/link-static/threading-multi/DecodeFeature.o</locationURI>
+ </link>
+ <link>
+ <name>bin/gcc-4.6/release/debug-symbols-on/link-static/threading-multi/DecodeGraph.o</name>
+ <type>1</type>
+ <locationURI>PARENT-1-ECLIPSE_HOME/workspace/github/moses-smt/moses/src/bin/gcc-4.6/release/debug-symbols-on/link-static/threading-multi/DecodeGraph.o</locationURI>
+ </link>
+ <link>
+ <name>bin/gcc-4.6/release/debug-symbols-on/link-static/threading-multi/DecodeStep.o</name>
+ <type>1</type>
+ <locationURI>PARENT-1-ECLIPSE_HOME/workspace/github/moses-smt/moses/src/bin/gcc-4.6/release/debug-symbols-on/link-static/threading-multi/DecodeStep.o</locationURI>
+ </link>
+ <link>
+ <name>bin/gcc-4.6/release/debug-symbols-on/link-static/threading-multi/DecodeStepGeneration.o</name>
+ <type>1</type>
+ <locationURI>PARENT-1-ECLIPSE_HOME/workspace/github/moses-smt/moses/src/bin/gcc-4.6/release/debug-symbols-on/link-static/threading-multi/DecodeStepGeneration.o</locationURI>
+ </link>
+ <link>
+ <name>bin/gcc-4.6/release/debug-symbols-on/link-static/threading-multi/DecodeStepTranslation.o</name>
+ <type>1</type>
+ <locationURI>PARENT-1-ECLIPSE_HOME/workspace/github/moses-smt/moses/src/bin/gcc-4.6/release/debug-symbols-on/link-static/threading-multi/DecodeStepTranslation.o</locationURI>
+ </link>
+ <link>
+ <name>bin/gcc-4.6/release/debug-symbols-on/link-static/threading-multi/Dictionary.o</name>
+ <type>1</type>
+ <locationURI>PARENT-1-ECLIPSE_HOME/workspace/github/moses-smt/moses/src/bin/gcc-4.6/release/debug-symbols-on/link-static/threading-multi/Dictionary.o</locationURI>
+ </link>
+ <link>
+ <name>bin/gcc-4.6/release/debug-symbols-on/link-static/threading-multi/DummyScoreProducers.o</name>
+ <type>1</type>
+ <locationURI>PARENT-1-ECLIPSE_HOME/workspace/github/moses-smt/moses/src/bin/gcc-4.6/release/debug-symbols-on/link-static/threading-multi/DummyScoreProducers.o</locationURI>
+ </link>
+ <link>
+ <name>bin/gcc-4.6/release/debug-symbols-on/link-static/threading-multi/DynSAInclude</name>
+ <type>2</type>
+ <locationURI>virtual:/virtual</locationURI>
+ </link>
+ <link>
+ <name>bin/gcc-4.6/release/debug-symbols-on/link-static/threading-multi/DynSuffixArray.o</name>
+ <type>1</type>
+ <locationURI>PARENT-1-ECLIPSE_HOME/workspace/github/moses-smt/moses/src/bin/gcc-4.6/release/debug-symbols-on/link-static/threading-multi/DynSuffixArray.o</locationURI>
+ </link>
+ <link>
+ <name>bin/gcc-4.6/release/debug-symbols-on/link-static/threading-multi/FFState.o</name>
+ <type>1</type>
+ <locationURI>PARENT-1-ECLIPSE_HOME/workspace/github/moses-smt/moses/src/bin/gcc-4.6/release/debug-symbols-on/link-static/threading-multi/FFState.o</locationURI>
+ </link>
+ <link>
+ <name>bin/gcc-4.6/release/debug-symbols-on/link-static/threading-multi/Factor.o</name>
+ <type>1</type>
+ <locationURI>PARENT-1-ECLIPSE_HOME/workspace/github/moses-smt/moses/src/bin/gcc-4.6/release/debug-symbols-on/link-static/threading-multi/Factor.o</locationURI>
+ </link>
+ <link>
+ <name>bin/gcc-4.6/release/debug-symbols-on/link-static/threading-multi/FactorCollection.o</name>
+ <type>1</type>
+ <locationURI>PARENT-1-ECLIPSE_HOME/workspace/github/moses-smt/moses/src/bin/gcc-4.6/release/debug-symbols-on/link-static/threading-multi/FactorCollection.o</locationURI>
+ </link>
+ <link>
+ <name>bin/gcc-4.6/release/debug-symbols-on/link-static/threading-multi/FactorTypeSet.o</name>
+ <type>1</type>
+ <locationURI>PARENT-1-ECLIPSE_HOME/workspace/github/moses-smt/moses/src/bin/gcc-4.6/release/debug-symbols-on/link-static/threading-multi/FactorTypeSet.o</locationURI>
+ </link>
+ <link>
+ <name>bin/gcc-4.6/release/debug-symbols-on/link-static/threading-multi/FeatureFunction.o</name>
+ <type>1</type>
+ <locationURI>PARENT-1-ECLIPSE_HOME/workspace/github/moses-smt/moses/src/bin/gcc-4.6/release/debug-symbols-on/link-static/threading-multi/FeatureFunction.o</locationURI>
+ </link>
+ <link>
+ <name>bin/gcc-4.6/release/debug-symbols-on/link-static/threading-multi/File.o</name>
+ <type>1</type>
+ <locationURI>PARENT-1-ECLIPSE_HOME/workspace/github/moses-smt/moses/src/bin/gcc-4.6/release/debug-symbols-on/link-static/threading-multi/File.o</locationURI>
+ </link>
+ <link>
+ <name>bin/gcc-4.6/release/debug-symbols-on/link-static/threading-multi/FloydWarshall.o</name>
+ <type>1</type>
+ <locationURI>PARENT-1-ECLIPSE_HOME/workspace/github/moses-smt/moses/src/bin/gcc-4.6/release/debug-symbols-on/link-static/threading-multi/FloydWarshall.o</locationURI>
+ </link>
+ <link>
<name>bin/gcc-4.6/release/debug-symbols-on/link-static/threading-multi/FuzzyMatchWrapper.o</name>
<type>1</type>
<locationURI>PARENT-3-PROJECT_LOC/moses/src/fuzzy-match/bin/gcc-4.6/release/debug-symbols-on/link-static/threading-multi/FuzzyMatchWrapper.o</locationURI>
</link>
<link>
+ <name>bin/gcc-4.6/release/debug-symbols-on/link-static/threading-multi/GenerationDictionary.o</name>
+ <type>1</type>
+ <locationURI>PARENT-1-ECLIPSE_HOME/workspace/github/moses-smt/moses/src/bin/gcc-4.6/release/debug-symbols-on/link-static/threading-multi/GenerationDictionary.o</locationURI>
+ </link>
+ <link>
+ <name>bin/gcc-4.6/release/debug-symbols-on/link-static/threading-multi/GlobalLexicalModel.o</name>
+ <type>1</type>
+ <locationURI>PARENT-1-ECLIPSE_HOME/workspace/github/moses-smt/moses/src/bin/gcc-4.6/release/debug-symbols-on/link-static/threading-multi/GlobalLexicalModel.o</locationURI>
+ </link>
+ <link>
+ <name>bin/gcc-4.6/release/debug-symbols-on/link-static/threading-multi/Hypothesis.o</name>
+ <type>1</type>
+ <locationURI>PARENT-1-ECLIPSE_HOME/workspace/github/moses-smt/moses/src/bin/gcc-4.6/release/debug-symbols-on/link-static/threading-multi/Hypothesis.o</locationURI>
+ </link>
+ <link>
+ <name>bin/gcc-4.6/release/debug-symbols-on/link-static/threading-multi/HypothesisStack.o</name>
+ <type>1</type>
+ <locationURI>PARENT-1-ECLIPSE_HOME/workspace/github/moses-smt/moses/src/bin/gcc-4.6/release/debug-symbols-on/link-static/threading-multi/HypothesisStack.o</locationURI>
+ </link>
+ <link>
+ <name>bin/gcc-4.6/release/debug-symbols-on/link-static/threading-multi/HypothesisStackCubePruning.o</name>
+ <type>1</type>
+ <locationURI>PARENT-1-ECLIPSE_HOME/workspace/github/moses-smt/moses/src/bin/gcc-4.6/release/debug-symbols-on/link-static/threading-multi/HypothesisStackCubePruning.o</locationURI>
+ </link>
+ <link>
+ <name>bin/gcc-4.6/release/debug-symbols-on/link-static/threading-multi/HypothesisStackNormal.o</name>
+ <type>1</type>
+ <locationURI>PARENT-1-ECLIPSE_HOME/workspace/github/moses-smt/moses/src/bin/gcc-4.6/release/debug-symbols-on/link-static/threading-multi/HypothesisStackNormal.o</locationURI>
+ </link>
+ <link>
+ <name>bin/gcc-4.6/release/debug-symbols-on/link-static/threading-multi/InputFileStream.o</name>
+ <type>1</type>
+ <locationURI>PARENT-1-ECLIPSE_HOME/workspace/github/moses-smt/moses/src/bin/gcc-4.6/release/debug-symbols-on/link-static/threading-multi/InputFileStream.o</locationURI>
+ </link>
+ <link>
+ <name>bin/gcc-4.6/release/debug-symbols-on/link-static/threading-multi/InputType.o</name>
+ <type>1</type>
+ <locationURI>PARENT-1-ECLIPSE_HOME/workspace/github/moses-smt/moses/src/bin/gcc-4.6/release/debug-symbols-on/link-static/threading-multi/InputType.o</locationURI>
+ </link>
+ <link>
+ <name>bin/gcc-4.6/release/debug-symbols-on/link-static/threading-multi/LMList.o</name>
+ <type>1</type>
+ <locationURI>PARENT-1-ECLIPSE_HOME/workspace/github/moses-smt/moses/src/bin/gcc-4.6/release/debug-symbols-on/link-static/threading-multi/LMList.o</locationURI>
+ </link>
+ <link>
+ <name>bin/gcc-4.6/release/debug-symbols-on/link-static/threading-multi/LVoc.o</name>
+ <type>1</type>
+ <locationURI>PARENT-1-ECLIPSE_HOME/workspace/github/moses-smt/moses/src/bin/gcc-4.6/release/debug-symbols-on/link-static/threading-multi/LVoc.o</locationURI>
+ </link>
+ <link>
+ <name>bin/gcc-4.6/release/debug-symbols-on/link-static/threading-multi/LexicalReordering.o</name>
+ <type>1</type>
+ <locationURI>PARENT-1-ECLIPSE_HOME/workspace/github/moses-smt/moses/src/bin/gcc-4.6/release/debug-symbols-on/link-static/threading-multi/LexicalReordering.o</locationURI>
+ </link>
+ <link>
+ <name>bin/gcc-4.6/release/debug-symbols-on/link-static/threading-multi/LexicalReorderingState.o</name>
+ <type>1</type>
+ <locationURI>PARENT-1-ECLIPSE_HOME/workspace/github/moses-smt/moses/src/bin/gcc-4.6/release/debug-symbols-on/link-static/threading-multi/LexicalReorderingState.o</locationURI>
+ </link>
+ <link>
+ <name>bin/gcc-4.6/release/debug-symbols-on/link-static/threading-multi/LexicalReorderingTable.o</name>
+ <type>1</type>
+ <locationURI>PARENT-1-ECLIPSE_HOME/workspace/github/moses-smt/moses/src/bin/gcc-4.6/release/debug-symbols-on/link-static/threading-multi/LexicalReorderingTable.o</locationURI>
+ </link>
+ <link>
+ <name>bin/gcc-4.6/release/debug-symbols-on/link-static/threading-multi/Manager.o</name>
+ <type>1</type>
+ <locationURI>PARENT-1-ECLIPSE_HOME/workspace/github/moses-smt/moses/src/bin/gcc-4.6/release/debug-symbols-on/link-static/threading-multi/Manager.o</locationURI>
+ </link>
+ <link>
+ <name>bin/gcc-4.6/release/debug-symbols-on/link-static/threading-multi/NonTerminal.o</name>
+ <type>1</type>
+ <locationURI>PARENT-1-ECLIPSE_HOME/workspace/github/moses-smt/moses/src/bin/gcc-4.6/release/debug-symbols-on/link-static/threading-multi/NonTerminal.o</locationURI>
+ </link>
+ <link>
+ <name>bin/gcc-4.6/release/debug-symbols-on/link-static/threading-multi/PCNTools.o</name>
+ <type>1</type>
+ <locationURI>PARENT-1-ECLIPSE_HOME/workspace/github/moses-smt/moses/src/bin/gcc-4.6/release/debug-symbols-on/link-static/threading-multi/PCNTools.o</locationURI>
+ </link>
+ <link>
+ <name>bin/gcc-4.6/release/debug-symbols-on/link-static/threading-multi/Parameter.o</name>
+ <type>1</type>
+ <locationURI>PARENT-1-ECLIPSE_HOME/workspace/github/moses-smt/moses/src/bin/gcc-4.6/release/debug-symbols-on/link-static/threading-multi/Parameter.o</locationURI>
+ </link>
+ <link>
<name>bin/gcc-4.6/release/debug-symbols-on/link-static/threading-multi/Parser.o</name>
<type>1</type>
<locationURI>PARENT-3-PROJECT_LOC/moses/src/Scope3Parser/bin/gcc-4.6/release/debug-symbols-on/link-static/threading-multi/Parser.o</locationURI>
</link>
<link>
+ <name>bin/gcc-4.6/release/debug-symbols-on/link-static/threading-multi/PartialTranslOptColl.o</name>
+ <type>1</type>
+ <locationURI>PARENT-1-ECLIPSE_HOME/workspace/github/moses-smt/moses/src/bin/gcc-4.6/release/debug-symbols-on/link-static/threading-multi/PartialTranslOptColl.o</locationURI>
+ </link>
+ <link>
+ <name>bin/gcc-4.6/release/debug-symbols-on/link-static/threading-multi/Phrase.o</name>
+ <type>1</type>
+ <locationURI>PARENT-1-ECLIPSE_HOME/workspace/github/moses-smt/moses/src/bin/gcc-4.6/release/debug-symbols-on/link-static/threading-multi/Phrase.o</locationURI>
+ </link>
+ <link>
+ <name>bin/gcc-4.6/release/debug-symbols-on/link-static/threading-multi/PhraseDictionary.o</name>
+ <type>1</type>
+ <locationURI>PARENT-1-ECLIPSE_HOME/workspace/github/moses-smt/moses/src/bin/gcc-4.6/release/debug-symbols-on/link-static/threading-multi/PhraseDictionary.o</locationURI>
+ </link>
+ <link>
+ <name>bin/gcc-4.6/release/debug-symbols-on/link-static/threading-multi/PhraseDictionaryDynSuffixArray.o</name>
+ <type>1</type>
+ <locationURI>PARENT-1-ECLIPSE_HOME/workspace/github/moses-smt/moses/src/bin/gcc-4.6/release/debug-symbols-on/link-static/threading-multi/PhraseDictionaryDynSuffixArray.o</locationURI>
+ </link>
+ <link>
+ <name>bin/gcc-4.6/release/debug-symbols-on/link-static/threading-multi/PhraseDictionaryMemory.o</name>
+ <type>1</type>
+ <locationURI>PARENT-1-ECLIPSE_HOME/workspace/github/moses-smt/moses/src/bin/gcc-4.6/release/debug-symbols-on/link-static/threading-multi/PhraseDictionaryMemory.o</locationURI>
+ </link>
+ <link>
+ <name>bin/gcc-4.6/release/debug-symbols-on/link-static/threading-multi/PhraseDictionaryNode.o</name>
+ <type>1</type>
+ <locationURI>PARENT-1-ECLIPSE_HOME/workspace/github/moses-smt/moses/src/bin/gcc-4.6/release/debug-symbols-on/link-static/threading-multi/PhraseDictionaryNode.o</locationURI>
+ </link>
+ <link>
+ <name>bin/gcc-4.6/release/debug-symbols-on/link-static/threading-multi/PhraseDictionaryTree.o</name>
+ <type>1</type>
+ <locationURI>PARENT-1-ECLIPSE_HOME/workspace/github/moses-smt/moses/src/bin/gcc-4.6/release/debug-symbols-on/link-static/threading-multi/PhraseDictionaryTree.o</locationURI>
+ </link>
+ <link>
+ <name>bin/gcc-4.6/release/debug-symbols-on/link-static/threading-multi/PhraseDictionaryTreeAdaptor.o</name>
+ <type>1</type>
+ <locationURI>PARENT-1-ECLIPSE_HOME/workspace/github/moses-smt/moses/src/bin/gcc-4.6/release/debug-symbols-on/link-static/threading-multi/PhraseDictionaryTreeAdaptor.o</locationURI>
+ </link>
+ <link>
+ <name>bin/gcc-4.6/release/debug-symbols-on/link-static/threading-multi/PrefixTreeMap.o</name>
+ <type>1</type>
+ <locationURI>PARENT-1-ECLIPSE_HOME/workspace/github/moses-smt/moses/src/bin/gcc-4.6/release/debug-symbols-on/link-static/threading-multi/PrefixTreeMap.o</locationURI>
+ </link>
+ <link>
+ <name>bin/gcc-4.6/release/debug-symbols-on/link-static/threading-multi/ReorderingConstraint.o</name>
+ <type>1</type>
+ <locationURI>PARENT-1-ECLIPSE_HOME/workspace/github/moses-smt/moses/src/bin/gcc-4.6/release/debug-symbols-on/link-static/threading-multi/ReorderingConstraint.o</locationURI>
+ </link>
+ <link>
+ <name>bin/gcc-4.6/release/debug-symbols-on/link-static/threading-multi/ReorderingStack.o</name>
+ <type>1</type>
+ <locationURI>PARENT-1-ECLIPSE_HOME/workspace/github/moses-smt/moses/src/bin/gcc-4.6/release/debug-symbols-on/link-static/threading-multi/ReorderingStack.o</locationURI>
+ </link>
+ <link>
+ <name>bin/gcc-4.6/release/debug-symbols-on/link-static/threading-multi/RuleCube.o</name>
+ <type>1</type>
+ <locationURI>PARENT-1-ECLIPSE_HOME/workspace/github/moses-smt/moses/src/bin/gcc-4.6/release/debug-symbols-on/link-static/threading-multi/RuleCube.o</locationURI>
+ </link>
+ <link>
+ <name>bin/gcc-4.6/release/debug-symbols-on/link-static/threading-multi/RuleCubeItem.o</name>
+ <type>1</type>
+ <locationURI>PARENT-1-ECLIPSE_HOME/workspace/github/moses-smt/moses/src/bin/gcc-4.6/release/debug-symbols-on/link-static/threading-multi/RuleCubeItem.o</locationURI>
+ </link>
+ <link>
+ <name>bin/gcc-4.6/release/debug-symbols-on/link-static/threading-multi/RuleCubeQueue.o</name>
+ <type>1</type>
+ <locationURI>PARENT-1-ECLIPSE_HOME/workspace/github/moses-smt/moses/src/bin/gcc-4.6/release/debug-symbols-on/link-static/threading-multi/RuleCubeQueue.o</locationURI>
+ </link>
+ <link>
+ <name>bin/gcc-4.6/release/debug-symbols-on/link-static/threading-multi/ScoreComponentCollection.o</name>
+ <type>1</type>
+ <locationURI>PARENT-1-ECLIPSE_HOME/workspace/github/moses-smt/moses/src/bin/gcc-4.6/release/debug-symbols-on/link-static/threading-multi/ScoreComponentCollection.o</locationURI>
+ </link>
+ <link>
+ <name>bin/gcc-4.6/release/debug-symbols-on/link-static/threading-multi/ScoreIndexManager.o</name>
+ <type>1</type>
+ <locationURI>PARENT-1-ECLIPSE_HOME/workspace/github/moses-smt/moses/src/bin/gcc-4.6/release/debug-symbols-on/link-static/threading-multi/ScoreIndexManager.o</locationURI>
+ </link>
+ <link>
+ <name>bin/gcc-4.6/release/debug-symbols-on/link-static/threading-multi/ScoreProducer.o</name>
+ <type>1</type>
+ <locationURI>PARENT-1-ECLIPSE_HOME/workspace/github/moses-smt/moses/src/bin/gcc-4.6/release/debug-symbols-on/link-static/threading-multi/ScoreProducer.o</locationURI>
+ </link>
+ <link>
+ <name>bin/gcc-4.6/release/debug-symbols-on/link-static/threading-multi/Search.o</name>
+ <type>1</type>
+ <locationURI>PARENT-1-ECLIPSE_HOME/workspace/github/moses-smt/moses/src/bin/gcc-4.6/release/debug-symbols-on/link-static/threading-multi/Search.o</locationURI>
+ </link>
+ <link>
+ <name>bin/gcc-4.6/release/debug-symbols-on/link-static/threading-multi/SearchCubePruning.o</name>
+ <type>1</type>
+ <locationURI>PARENT-1-ECLIPSE_HOME/workspace/github/moses-smt/moses/src/bin/gcc-4.6/release/debug-symbols-on/link-static/threading-multi/SearchCubePruning.o</locationURI>
+ </link>
+ <link>
+ <name>bin/gcc-4.6/release/debug-symbols-on/link-static/threading-multi/SearchNormal.o</name>
+ <type>1</type>
+ <locationURI>PARENT-1-ECLIPSE_HOME/workspace/github/moses-smt/moses/src/bin/gcc-4.6/release/debug-symbols-on/link-static/threading-multi/SearchNormal.o</locationURI>
+ </link>
+ <link>
+ <name>bin/gcc-4.6/release/debug-symbols-on/link-static/threading-multi/SearchNormalBatch.o</name>
+ <type>1</type>
+ <locationURI>PARENT-1-ECLIPSE_HOME/workspace/github/moses-smt/moses/src/bin/gcc-4.6/release/debug-symbols-on/link-static/threading-multi/SearchNormalBatch.o</locationURI>
+ </link>
+ <link>
+ <name>bin/gcc-4.6/release/debug-symbols-on/link-static/threading-multi/Sentence.o</name>
+ <type>1</type>
+ <locationURI>PARENT-1-ECLIPSE_HOME/workspace/github/moses-smt/moses/src/bin/gcc-4.6/release/debug-symbols-on/link-static/threading-multi/Sentence.o</locationURI>
+ </link>
+ <link>
<name>bin/gcc-4.6/release/debug-symbols-on/link-static/threading-multi/SentenceAlignment.o</name>
<type>1</type>
<locationURI>PARENT-3-PROJECT_LOC/moses/src/fuzzy-match/bin/gcc-4.6/release/debug-symbols-on/link-static/threading-multi/SentenceAlignment.o</locationURI>
</link>
<link>
+ <name>bin/gcc-4.6/release/debug-symbols-on/link-static/threading-multi/SentenceStats.o</name>
+ <type>1</type>
+ <locationURI>PARENT-1-ECLIPSE_HOME/workspace/github/moses-smt/moses/src/bin/gcc-4.6/release/debug-symbols-on/link-static/threading-multi/SentenceStats.o</locationURI>
+ </link>
+ <link>
+ <name>bin/gcc-4.6/release/debug-symbols-on/link-static/threading-multi/SquareMatrix.o</name>
+ <type>1</type>
+ <locationURI>PARENT-1-ECLIPSE_HOME/workspace/github/moses-smt/moses/src/bin/gcc-4.6/release/debug-symbols-on/link-static/threading-multi/SquareMatrix.o</locationURI>
+ </link>
+ <link>
<name>bin/gcc-4.6/release/debug-symbols-on/link-static/threading-multi/StackLatticeBuilder.o</name>
<type>1</type>
<locationURI>PARENT-3-PROJECT_LOC/moses/src/Scope3Parser/bin/gcc-4.6/release/debug-symbols-on/link-static/threading-multi/StackLatticeBuilder.o</locationURI>
</link>
<link>
+ <name>bin/gcc-4.6/release/debug-symbols-on/link-static/threading-multi/StaticData.o</name>
+ <type>1</type>
+ <locationURI>PARENT-1-ECLIPSE_HOME/workspace/github/moses-smt/moses/src/bin/gcc-4.6/release/debug-symbols-on/link-static/threading-multi/StaticData.o</locationURI>
+ </link>
+ <link>
<name>bin/gcc-4.6/release/debug-symbols-on/link-static/threading-multi/SuffixArray.o</name>
<type>1</type>
<locationURI>PARENT-3-PROJECT_LOC/moses/src/fuzzy-match/bin/gcc-4.6/release/debug-symbols-on/link-static/threading-multi/SuffixArray.o</locationURI>
</link>
<link>
+ <name>bin/gcc-4.6/release/debug-symbols-on/link-static/threading-multi/TargetPhrase.o</name>
+ <type>1</type>
+ <locationURI>PARENT-1-ECLIPSE_HOME/workspace/github/moses-smt/moses/src/bin/gcc-4.6/release/debug-symbols-on/link-static/threading-multi/TargetPhrase.o</locationURI>
+ </link>
+ <link>
+ <name>bin/gcc-4.6/release/debug-symbols-on/link-static/threading-multi/TargetPhraseCollection.o</name>
+ <type>1</type>
+ <locationURI>PARENT-1-ECLIPSE_HOME/workspace/github/moses-smt/moses/src/bin/gcc-4.6/release/debug-symbols-on/link-static/threading-multi/TargetPhraseCollection.o</locationURI>
+ </link>
+ <link>
+ <name>bin/gcc-4.6/release/debug-symbols-on/link-static/threading-multi/ThreadPool.o</name>
+ <type>1</type>
+ <locationURI>PARENT-1-ECLIPSE_HOME/workspace/github/moses-smt/moses/src/bin/gcc-4.6/release/debug-symbols-on/link-static/threading-multi/ThreadPool.o</locationURI>
+ </link>
+ <link>
+ <name>bin/gcc-4.6/release/debug-symbols-on/link-static/threading-multi/Timer.o</name>
+ <type>1</type>
+ <locationURI>PARENT-1-ECLIPSE_HOME/workspace/github/moses-smt/moses/src/bin/gcc-4.6/release/debug-symbols-on/link-static/threading-multi/Timer.o</locationURI>
+ </link>
+ <link>
+ <name>bin/gcc-4.6/release/debug-symbols-on/link-static/threading-multi/TranslationOption.o</name>
+ <type>1</type>
+ <locationURI>PARENT-1-ECLIPSE_HOME/workspace/github/moses-smt/moses/src/bin/gcc-4.6/release/debug-symbols-on/link-static/threading-multi/TranslationOption.o</locationURI>
+ </link>
+ <link>
+ <name>bin/gcc-4.6/release/debug-symbols-on/link-static/threading-multi/TranslationOptionCollection.o</name>
+ <type>1</type>
+ <locationURI>PARENT-1-ECLIPSE_HOME/workspace/github/moses-smt/moses/src/bin/gcc-4.6/release/debug-symbols-on/link-static/threading-multi/TranslationOptionCollection.o</locationURI>
+ </link>
+ <link>
+ <name>bin/gcc-4.6/release/debug-symbols-on/link-static/threading-multi/TranslationOptionCollectionConfusionNet.o</name>
+ <type>1</type>
+ <locationURI>PARENT-1-ECLIPSE_HOME/workspace/github/moses-smt/moses/src/bin/gcc-4.6/release/debug-symbols-on/link-static/threading-multi/TranslationOptionCollectionConfusionNet.o</locationURI>
+ </link>
+ <link>
+ <name>bin/gcc-4.6/release/debug-symbols-on/link-static/threading-multi/TranslationOptionCollectionText.o</name>
+ <type>1</type>
+ <locationURI>PARENT-1-ECLIPSE_HOME/workspace/github/moses-smt/moses/src/bin/gcc-4.6/release/debug-symbols-on/link-static/threading-multi/TranslationOptionCollectionText.o</locationURI>
+ </link>
+ <link>
+ <name>bin/gcc-4.6/release/debug-symbols-on/link-static/threading-multi/TranslationOptionList.o</name>
+ <type>1</type>
+ <locationURI>PARENT-1-ECLIPSE_HOME/workspace/github/moses-smt/moses/src/bin/gcc-4.6/release/debug-symbols-on/link-static/threading-multi/TranslationOptionList.o</locationURI>
+ </link>
+ <link>
+ <name>bin/gcc-4.6/release/debug-symbols-on/link-static/threading-multi/TranslationSystem.o</name>
+ <type>1</type>
+ <locationURI>PARENT-1-ECLIPSE_HOME/workspace/github/moses-smt/moses/src/bin/gcc-4.6/release/debug-symbols-on/link-static/threading-multi/TranslationSystem.o</locationURI>
+ </link>
+ <link>
+ <name>bin/gcc-4.6/release/debug-symbols-on/link-static/threading-multi/TreeInput.o</name>
+ <type>1</type>
+ <locationURI>PARENT-1-ECLIPSE_HOME/workspace/github/moses-smt/moses/src/bin/gcc-4.6/release/debug-symbols-on/link-static/threading-multi/TreeInput.o</locationURI>
+ </link>
+ <link>
+ <name>bin/gcc-4.6/release/debug-symbols-on/link-static/threading-multi/TrellisPath.o</name>
+ <type>1</type>
+ <locationURI>PARENT-1-ECLIPSE_HOME/workspace/github/moses-smt/moses/src/bin/gcc-4.6/release/debug-symbols-on/link-static/threading-multi/TrellisPath.o</locationURI>
+ </link>
+ <link>
+ <name>bin/gcc-4.6/release/debug-symbols-on/link-static/threading-multi/TrellisPathCollection.o</name>
+ <type>1</type>
+ <locationURI>PARENT-1-ECLIPSE_HOME/workspace/github/moses-smt/moses/src/bin/gcc-4.6/release/debug-symbols-on/link-static/threading-multi/TrellisPathCollection.o</locationURI>
+ </link>
+ <link>
+ <name>bin/gcc-4.6/release/debug-symbols-on/link-static/threading-multi/UserMessage.o</name>
+ <type>1</type>
+ <locationURI>PARENT-1-ECLIPSE_HOME/workspace/github/moses-smt/moses/src/bin/gcc-4.6/release/debug-symbols-on/link-static/threading-multi/UserMessage.o</locationURI>
+ </link>
+ <link>
+ <name>bin/gcc-4.6/release/debug-symbols-on/link-static/threading-multi/Util.o</name>
+ <type>1</type>
+ <locationURI>PARENT-1-ECLIPSE_HOME/workspace/github/moses-smt/moses/src/bin/gcc-4.6/release/debug-symbols-on/link-static/threading-multi/Util.o</locationURI>
+ </link>
+ <link>
<name>bin/gcc-4.6/release/debug-symbols-on/link-static/threading-multi/VarSpanTrieBuilder.o</name>
<type>1</type>
<locationURI>PARENT-3-PROJECT_LOC/moses/src/Scope3Parser/bin/gcc-4.6/release/debug-symbols-on/link-static/threading-multi/VarSpanTrieBuilder.o</locationURI>
@@ -2582,199 +3082,319 @@
<locationURI>PARENT-3-PROJECT_LOC/moses/src/fuzzy-match/bin/gcc-4.6/release/debug-symbols-on/link-static/threading-multi/Vocabulary.o</locationURI>
</link>
<link>
- <name>bin/gcc-4.6/release/debug-symbols-on/link-static/threading-multi/libScope3Parser.a</name>
+ <name>bin/gcc-4.6/release/debug-symbols-on/link-static/threading-multi/Word.o</name>
<type>1</type>
- <locationURI>PARENT-3-PROJECT_LOC/moses/src/Scope3Parser/bin/gcc-4.6/release/debug-symbols-on/link-static/threading-multi/libScope3Parser.a</locationURI>
+ <locationURI>PARENT-1-ECLIPSE_HOME/workspace/github/moses-smt/moses/src/bin/gcc-4.6/release/debug-symbols-on/link-static/threading-multi/Word.o</locationURI>
</link>
<link>
- <name>bin/gcc-4.6/release/debug-symbols-on/link-static/threading-multi/libfuzzy-match.a</name>
+ <name>bin/gcc-4.6/release/debug-symbols-on/link-static/threading-multi/WordLattice.o</name>
<type>1</type>
- <locationURI>PARENT-3-PROJECT_LOC/moses/src/fuzzy-match/bin/gcc-4.6/release/debug-symbols-on/link-static/threading-multi/libfuzzy-match.a</locationURI>
+ <locationURI>PARENT-1-ECLIPSE_HOME/workspace/github/moses-smt/moses/src/bin/gcc-4.6/release/debug-symbols-on/link-static/threading-multi/WordLattice.o</locationURI>
+ </link>
+ <link>
+ <name>bin/gcc-4.6/release/debug-symbols-on/link-static/threading-multi/WordsBitmap.o</name>
+ <type>1</type>
+ <locationURI>PARENT-1-ECLIPSE_HOME/workspace/github/moses-smt/moses/src/bin/gcc-4.6/release/debug-symbols-on/link-static/threading-multi/WordsBitmap.o</locationURI>
</link>
<link>
- <name>CYKPlusParser/bin/clang-darwin-4.2.1/release/debug-symbols-on/link-static/threading-multi/DotChartOnDisk.o</name>
+ <name>bin/gcc-4.6/release/debug-symbols-on/link-static/threading-multi/WordsRange.o</name>
<type>1</type>
- <locationURI>PARENT-3-PROJECT_LOC/moses/src/CYKPlusParser/bin/clang-darwin-4.2.1/release/debug-symbols-on/link-static/threading-multi/DotChartOnDisk.o</locationURI>
+ <locationURI>PARENT-1-ECLIPSE_HOME/workspace/github/moses-smt/moses/src/bin/gcc-4.6/release/debug-symbols-on/link-static/threading-multi/WordsRange.o</locationURI>
</link>
<link>
- <name>CYKPlusParser/bin/darwin-4.2.1/release/debug-symbols-on/link-static/threading-multi/ChartRuleLookupManagerCYKPlus.o</name>
+ <name>bin/gcc-4.6/release/debug-symbols-on/link-static/threading-multi/XmlOption.o</name>
<type>1</type>
- <locationURI>PARENT-3-PROJECT_LOC/moses/src/CYKPlusParser/bin/darwin-4.2.1/release/debug-symbols-on/link-static/threading-multi/ChartRuleLookupManagerCYKPlus.o</locationURI>
+ <locationURI>PARENT-1-ECLIPSE_HOME/workspace/github/moses-smt/moses/src/bin/gcc-4.6/release/debug-symbols-on/link-static/threading-multi/XmlOption.o</locationURI>
</link>
<link>
- <name>CYKPlusParser/bin/darwin-4.2.1/release/debug-symbols-on/link-static/threading-multi/ChartRuleLookupManagerMemory.o</name>
+ <name>bin/gcc-4.6/release/debug-symbols-on/link-static/threading-multi/hash.o</name>
<type>1</type>
- <locationURI>PARENT-3-PROJECT_LOC/moses/src/CYKPlusParser/bin/darwin-4.2.1/release/debug-symbols-on/link-static/threading-multi/ChartRuleLookupManagerMemory.o</locationURI>
+ <locationURI>PARENT-1-ECLIPSE_HOME/workspace/github/moses-smt/moses/src/bin/gcc-4.6/release/debug-symbols-on/link-static/threading-multi/hash.o</locationURI>
</link>
<link>
- <name>CYKPlusParser/bin/darwin-4.2.1/release/debug-symbols-on/link-static/threading-multi/ChartRuleLookupManagerOnDisk.o</name>
+ <name>bin/gcc-4.6/release/debug-symbols-on/link-static/threading-multi/libScope3Parser.a</name>
<type>1</type>
- <locationURI>PARENT-3-PROJECT_LOC/moses/src/CYKPlusParser/bin/darwin-4.2.1/release/debug-symbols-on/link-static/threading-multi/ChartRuleLookupManagerOnDisk.o</locationURI>
+ <locationURI>PARENT-3-PROJECT_LOC/moses/src/Scope3Parser/bin/gcc-4.6/release/debug-symbols-on/link-static/threading-multi/libScope3Parser.a</locationURI>
</link>
<link>
- <name>CYKPlusParser/bin/darwin-4.2.1/release/debug-symbols-on/link-static/threading-multi/DotChartInMemory.o</name>
+ <name>bin/gcc-4.6/release/debug-symbols-on/link-static/threading-multi/libfuzzy-match.a</name>
<type>1</type>
- <locationURI>PARENT-3-PROJECT_LOC/moses/src/CYKPlusParser/bin/darwin-4.2.1/release/debug-symbols-on/link-static/threading-multi/DotChartInMemory.o</locationURI>
+ <locationURI>PARENT-3-PROJECT_LOC/moses/src/fuzzy-match/bin/gcc-4.6/release/debug-symbols-on/link-static/threading-multi/libfuzzy-match.a</locationURI>
</link>
<link>
- <name>CYKPlusParser/bin/darwin-4.2.1/release/debug-symbols-on/link-static/threading-multi/DotChartOnDisk.o</name>
+ <name>bin/gcc-4.6/release/debug-symbols-on/link-static/threading-multi/libmoses.a</name>
<type>1</type>
- <locationURI>PARENT-3-PROJECT_LOC/moses/src/CYKPlusParser/bin/darwin-4.2.1/release/debug-symbols-on/link-static/threading-multi/DotChartOnDisk.o</locationURI>
+ <locationURI>PARENT-1-ECLIPSE_HOME/workspace/github/moses-smt/moses/src/bin/gcc-4.6/release/debug-symbols-on/link-static/threading-multi/libmoses.a</locationURI>
</link>
<link>
- <name>CYKPlusParser/bin/darwin-4.2.1/release/debug-symbols-on/link-static/threading-multi/libCYKPlusParser.a</name>
+ <name>bin/gcc-4.6/release/debug-symbols-on/link-static/threading-multi/libmoses_internal.a</name>
<type>1</type>
- <locationURI>PARENT-3-PROJECT_LOC/moses/src/CYKPlusParser/bin/darwin-4.2.1/release/debug-symbols-on/link-static/threading-multi/libCYKPlusParser.a</locationURI>
+ <locationURI>PARENT-1-ECLIPSE_HOME/workspace/github/moses-smt/moses/src/bin/gcc-4.6/release/debug-symbols-on/link-static/threading-multi/libmoses_internal.a</locationURI>
+ </link>
+ <link>
+ <name>fuzzy-match/bin/gcc-4.6/release/debug-symbols-on/link-static/threading-multi</name>
+ <type>2</type>
+ <locationURI>virtual:/virtual</locationURI>
</link>
<link>
<name>CYKPlusParser/bin/gcc-4.6/release/debug-symbols-on/link-static/threading-multi/ChartRuleLookupManagerCYKPlus.o</name>
<type>1</type>
- <locationURI>PARENT-3-PROJECT_LOC/moses/src/CYKPlusParser/bin/gcc-4.6/release/debug-symbols-on/link-static/threading-multi/ChartRuleLookupManagerCYKPlus.o</locationURI>
+ <locationURI>PARENT-1-ECLIPSE_HOME/workspace/github/moses-smt/moses/src/CYKPlusParser/bin/gcc-4.6/release/debug-symbols-on/link-static/threading-multi/ChartRuleLookupManagerCYKPlus.o</locationURI>
</link>
<link>
<name>CYKPlusParser/bin/gcc-4.6/release/debug-symbols-on/link-static/threading-multi/ChartRuleLookupManagerMemory.o</name>
<type>1</type>
- <locationURI>PARENT-3-PROJECT_LOC/moses/src/CYKPlusParser/bin/gcc-4.6/release/debug-symbols-on/link-static/threading-multi/ChartRuleLookupManagerMemory.o</locationURI>
+ <locationURI>PARENT-1-ECLIPSE_HOME/workspace/github/moses-smt/moses/src/CYKPlusParser/bin/gcc-4.6/release/debug-symbols-on/link-static/threading-multi/ChartRuleLookupManagerMemory.o</locationURI>
</link>
<link>
<name>CYKPlusParser/bin/gcc-4.6/release/debug-symbols-on/link-static/threading-multi/ChartRuleLookupManagerMemoryPerSentence.o</name>
<type>1</type>
- <locationURI>PARENT-3-PROJECT_LOC/moses/src/CYKPlusParser/bin/gcc-4.6/release/debug-symbols-on/link-static/threading-multi/ChartRuleLookupManagerMemoryPerSentence.o</locationURI>
+ <locationURI>PARENT-1-ECLIPSE_HOME/workspace/github/moses-smt/moses/src/CYKPlusParser/bin/gcc-4.6/release/debug-symbols-on/link-static/threading-multi/ChartRuleLookupManagerMemoryPerSentence.o</locationURI>
</link>
<link>
<name>CYKPlusParser/bin/gcc-4.6/release/debug-symbols-on/link-static/threading-multi/ChartRuleLookupManagerOnDisk.o</name>
<type>1</type>
- <locationURI>PARENT-3-PROJECT_LOC/moses/src/CYKPlusParser/bin/gcc-4.6/release/debug-symbols-on/link-static/threading-multi/ChartRuleLookupManagerOnDisk.o</locationURI>
+ <locationURI>PARENT-1-ECLIPSE_HOME/workspace/github/moses-smt/moses/src/CYKPlusParser/bin/gcc-4.6/release/debug-symbols-on/link-static/threading-multi/ChartRuleLookupManagerOnDisk.o</locationURI>
</link>
<link>
<name>CYKPlusParser/bin/gcc-4.6/release/debug-symbols-on/link-static/threading-multi/DotChartInMemory.o</name>
<type>1</type>
- <locationURI>PARENT-3-PROJECT_LOC/moses/src/CYKPlusParser/bin/gcc-4.6/release/debug-symbols-on/link-static/threading-multi/DotChartInMemory.o</locationURI>
+ <locationURI>PARENT-1-ECLIPSE_HOME/workspace/github/moses-smt/moses/src/CYKPlusParser/bin/gcc-4.6/release/debug-symbols-on/link-static/threading-multi/DotChartInMemory.o</locationURI>
</link>
<link>
<name>CYKPlusParser/bin/gcc-4.6/release/debug-symbols-on/link-static/threading-multi/DotChartOnDisk.o</name>
<type>1</type>
- <locationURI>PARENT-3-PROJECT_LOC/moses/src/CYKPlusParser/bin/gcc-4.6/release/debug-symbols-on/link-static/threading-multi/DotChartOnDisk.o</locationURI>
+ <locationURI>PARENT-1-ECLIPSE_HOME/workspace/github/moses-smt/moses/src/CYKPlusParser/bin/gcc-4.6/release/debug-symbols-on/link-static/threading-multi/DotChartOnDisk.o</locationURI>
</link>
<link>
<name>CYKPlusParser/bin/gcc-4.6/release/debug-symbols-on/link-static/threading-multi/libCYKPlusParser.a</name>
<type>1</type>
- <locationURI>PARENT-3-PROJECT_LOC/moses/src/CYKPlusParser/bin/gcc-4.6/release/debug-symbols-on/link-static/threading-multi/libCYKPlusParser.a</locationURI>
+ <locationURI>PARENT-1-ECLIPSE_HOME/workspace/github/moses-smt/moses/src/CYKPlusParser/bin/gcc-4.6/release/debug-symbols-on/link-static/threading-multi/libCYKPlusParser.a</locationURI>
+ </link>
+ <link>
+ <name>CompactPT/bin/gcc-4.6/release/debug-symbols-on/link-static/threading-multi/BlockHashIndex.o</name>
+ <type>1</type>
+ <locationURI>PARENT-1-ECLIPSE_HOME/workspace/github/moses-smt/moses/src/CompactPT/bin/gcc-4.6/release/debug-symbols-on/link-static/threading-multi/BlockHashIndex.o</locationURI>
+ </link>
+ <link>
+ <name>CompactPT/bin/gcc-4.6/release/debug-symbols-on/link-static/threading-multi/CmphStringVectorAdapter.o</name>
+ <type>1</type>
+ <locationURI>PARENT-1-ECLIPSE_HOME/workspace/github/moses-smt/moses/src/CompactPT/bin/gcc-4.6/release/debug-symbols-on/link-static/threading-multi/CmphStringVectorAdapter.o</locationURI>
+ </link>
+ <link>
+ <name>CompactPT/bin/gcc-4.6/release/debug-symbols-on/link-static/threading-multi/LexicalReorderingTableCompact.o</name>
+ <type>1</type>
+ <locationURI>PARENT-1-ECLIPSE_HOME/workspace/github/moses-smt/moses/src/CompactPT/bin/gcc-4.6/release/debug-symbols-on/link-static/threading-multi/LexicalReorderingTableCompact.o</locationURI>
+ </link>
+ <link>
+ <name>CompactPT/bin/gcc-4.6/release/debug-symbols-on/link-static/threading-multi/LexicalReorderingTableCreator.o</name>
+ <type>1</type>
+ <locationURI>PARENT-1-ECLIPSE_HOME/workspace/github/moses-smt/moses/src/CompactPT/bin/gcc-4.6/release/debug-symbols-on/link-static/threading-multi/LexicalReorderingTableCreator.o</locationURI>
+ </link>
+ <link>
+ <name>CompactPT/bin/gcc-4.6/release/debug-symbols-on/link-static/threading-multi/MurmurHash3.o</name>
+ <type>1</type>
+ <locationURI>PARENT-1-ECLIPSE_HOME/workspace/github/moses-smt/moses/src/CompactPT/bin/gcc-4.6/release/debug-symbols-on/link-static/threading-multi/MurmurHash3.o</locationURI>
+ </link>
+ <link>
+ <name>CompactPT/bin/gcc-4.6/release/debug-symbols-on/link-static/threading-multi/PhraseDecoder.o</name>
+ <type>1</type>
+ <locationURI>PARENT-1-ECLIPSE_HOME/workspace/github/moses-smt/moses/src/CompactPT/bin/gcc-4.6/release/debug-symbols-on/link-static/threading-multi/PhraseDecoder.o</locationURI>
</link>
<link>
- <name>LM/bin/darwin-4.2.1/release/debug-symbols-on/link-static/threading-multi/Base.o</name>
+ <name>CompactPT/bin/gcc-4.6/release/debug-symbols-on/link-static/threading-multi/PhraseDictionaryCompact.o</name>
<type>1</type>
- <locationURI>PARENT-3-PROJECT_LOC/moses/src/LM/bin/darwin-4.2.1/release/debug-symbols-on/link-static/threading-multi/Base.o</locationURI>
+ <locationURI>PARENT-1-ECLIPSE_HOME/workspace/github/moses-smt/moses/src/CompactPT/bin/gcc-4.6/release/debug-symbols-on/link-static/threading-multi/PhraseDictionaryCompact.o</locationURI>
+ </link>
+ <link>
+ <name>CompactPT/bin/gcc-4.6/release/debug-symbols-on/link-static/threading-multi/PhraseTableCreator.o</name>
+ <type>1</type>
+ <locationURI>PARENT-1-ECLIPSE_HOME/workspace/github/moses-smt/moses/src/CompactPT/bin/gcc-4.6/release/debug-symbols-on/link-static/threading-multi/PhraseTableCreator.o</locationURI>
+ </link>
+ <link>
+ <name>CompactPT/bin/gcc-4.6/release/debug-symbols-on/link-static/threading-multi/ThrowingFwrite.o</name>
+ <type>1</type>
+ <locationURI>PARENT-1-ECLIPSE_HOME/workspace/github/moses-smt/moses/src/CompactPT/bin/gcc-4.6/release/debug-symbols-on/link-static/threading-multi/ThrowingFwrite.o</locationURI>
+ </link>
+ <link>
+ <name>CompactPT/bin/gcc-4.6/release/debug-symbols-on/link-static/threading-multi/libCompactPT.a</name>
+ <type>1</type>
+ <locationURI>PARENT-1-ECLIPSE_HOME/workspace/github/moses-smt/moses/src/CompactPT/bin/gcc-4.6/release/debug-symbols-on/link-static/threading-multi/libCompactPT.a</locationURI>
+ </link>
+ <link>
+ <name>DynSAInclude/bin/gcc-4.6/release/debug-symbols-on/link-static/threading-multi/DynSAInclude</name>
+ <type>2</type>
+ <locationURI>virtual:/virtual</locationURI>
</link>
<link>
- <name>LM/bin/darwin-4.2.1/release/debug-symbols-on/link-static/threading-multi/Factory.o</name>
+ <name>DynSAInclude/bin/gcc-4.6/release/debug-symbols-on/link-static/threading-multi/libdynsa.a</name>
<type>1</type>
- <locationURI>PARENT-3-PROJECT_LOC/moses/src/LM/bin/darwin-4.2.1/release/debug-symbols-on/link-static/threading-multi/Factory.o</locationURI>
+ <locationURI>PARENT-1-ECLIPSE_HOME/workspace/github/moses-smt/moses/src/DynSAInclude/bin/gcc-4.6/release/debug-symbols-on/link-static/threading-multi/libdynsa.a</locationURI>
</link>
<link>
- <name>LM/bin/darwin-4.2.1/release/debug-symbols-on/link-static/threading-multi/IRST.o</name>
+ <name>LM/bin/gcc-4.6/release/debug-symbols-on/link-static/threading-multi/Base.o</name>
<type>1</type>
- <locationURI>PARENT-3-PROJECT_LOC/moses/src/LM/bin/darwin-4.2.1/release/debug-symbols-on/link-static/threading-multi/IRST.o</locationURI>
+ <locationURI>PARENT-1-ECLIPSE_HOME/workspace/github/moses-smt/moses/src/LM/bin/gcc-4.6/release/debug-symbols-on/link-static/threading-multi/Base.o</locationURI>
</link>
<link>
- <name>LM/bin/darwin-4.2.1/release/debug-symbols-on/link-static/threading-multi/Implementation.o</name>
+ <name>LM/bin/gcc-4.6/release/debug-symbols-on/link-static/threading-multi/Factory.o</name>
<type>1</type>
- <locationURI>PARENT-3-PROJECT_LOC/moses/src/LM/bin/darwin-4.2.1/release/debug-symbols-on/link-static/threading-multi/Implementation.o</locationURI>
+ <locationURI>PARENT-1-ECLIPSE_HOME/workspace/github/moses-smt/moses/src/LM/bin/gcc-4.6/release/debug-symbols-on/link-static/threading-multi/Factory.o</locationURI>
</link>
<link>
- <name>LM/bin/darwin-4.2.1/release/debug-symbols-on/link-static/threading-multi/Joint.o</name>
+ <name>LM/bin/gcc-4.6/release/debug-symbols-on/link-static/threading-multi/IRST.o</name>
<type>1</type>
- <locationURI>PARENT-3-PROJECT_LOC/moses/src/LM/bin/darwin-4.2.1/release/debug-symbols-on/link-static/threading-multi/Joint.o</locationURI>
+ <locationURI>PARENT-1-ECLIPSE_HOME/workspace/github/moses-smt/moses/src/LM/bin/gcc-4.6/release/debug-symbols-on/link-static/threading-multi/IRST.o</locationURI>
</link>
<link>
- <name>LM/bin/darwin-4.2.1/release/debug-symbols-on/link-static/threading-multi/Ken.o</name>
+ <name>LM/bin/gcc-4.6/release/debug-symbols-on/link-static/threading-multi/Implementation.o</name>
<type>1</type>
- <locationURI>PARENT-3-PROJECT_LOC/moses/src/LM/bin/darwin-4.2.1/release/debug-symbols-on/link-static/threading-multi/Ken.o</locationURI>
+ <locationURI>PARENT-1-ECLIPSE_HOME/workspace/github/moses-smt/moses/src/LM/bin/gcc-4.6/release/debug-symbols-on/link-static/threading-multi/Implementation.o</locationURI>
</link>
<link>
- <name>LM/bin/darwin-4.2.1/release/debug-symbols-on/link-static/threading-multi/MultiFactor.o</name>
+ <name>LM/bin/gcc-4.6/release/debug-symbols-on/link-static/threading-multi/Joint.o</name>
<type>1</type>
- <locationURI>PARENT-3-PROJECT_LOC/moses/src/LM/bin/darwin-4.2.1/release/debug-symbols-on/link-static/threading-multi/MultiFactor.o</locationURI>
+ <locationURI>PARENT-1-ECLIPSE_HOME/workspace/github/moses-smt/moses/src/LM/bin/gcc-4.6/release/debug-symbols-on/link-static/threading-multi/Joint.o</locationURI>
</link>
<link>
- <name>LM/bin/darwin-4.2.1/release/debug-symbols-on/link-static/threading-multi/ORLM.o</name>
+ <name>LM/bin/gcc-4.6/release/debug-symbols-on/link-static/threading-multi/Ken.o</name>
<type>1</type>
- <locationURI>PARENT-3-PROJECT_LOC/moses/src/LM/bin/darwin-4.2.1/release/debug-symbols-on/link-static/threading-multi/ORLM.o</locationURI>
+ <locationURI>PARENT-1-ECLIPSE_HOME/workspace/github/moses-smt/moses/src/LM/bin/gcc-4.6/release/debug-symbols-on/link-static/threading-multi/Ken.o</locationURI>
</link>
<link>
- <name>LM/bin/darwin-4.2.1/release/debug-symbols-on/link-static/threading-multi/ParallelBackoff.o</name>
+ <name>LM/bin/gcc-4.6/release/debug-symbols-on/link-static/threading-multi/MultiFactor.o</name>
<type>1</type>
- <locationURI>PARENT-3-PROJECT_LOC/moses/src/LM/bin/darwin-4.2.1/release/debug-symbols-on/link-static/threading-multi/ParallelBackoff.o</locationURI>
+ <locationURI>PARENT-1-ECLIPSE_HOME/workspace/github/moses-smt/moses/src/LM/bin/gcc-4.6/release/debug-symbols-on/link-static/threading-multi/MultiFactor.o</locationURI>
</link>
<link>
- <name>LM/bin/darwin-4.2.1/release/debug-symbols-on/link-static/threading-multi/Rand.o</name>
+ <name>LM/bin/gcc-4.6/release/debug-symbols-on/link-static/threading-multi/ORLM.o</name>
<type>1</type>
- <locationURI>PARENT-3-PROJECT_LOC/moses/src/LM/bin/darwin-4.2.1/release/debug-symbols-on/link-static/threading-multi/Rand.o</locationURI>
+ <locationURI>PARENT-1-ECLIPSE_HOME/workspace/github/moses-smt/moses/src/LM/bin/gcc-4.6/release/debug-symbols-on/link-static/threading-multi/ORLM.o</locationURI>
</link>
<link>
- <name>LM/bin/darwin-4.2.1/release/debug-symbols-on/link-static/threading-multi/Remote.o</name>
+ <name>LM/bin/gcc-4.6/release/debug-symbols-on/link-static/threading-multi/ParallelBackoff.o</name>
<type>1</type>
- <locationURI>PARENT-3-PROJECT_LOC/moses/src/LM/bin/darwin-4.2.1/release/debug-symbols-on/link-static/threading-multi/Remote.o</locationURI>
+ <locationURI>PARENT-1-ECLIPSE_HOME/workspace/github/moses-smt/moses/src/LM/bin/gcc-4.6/release/debug-symbols-on/link-static/threading-multi/ParallelBackoff.o</locationURI>
</link>
<link>
- <name>LM/bin/darwin-4.2.1/release/debug-symbols-on/link-static/threading-multi/SRI.o</name>
+ <name>LM/bin/gcc-4.6/release/debug-symbols-on/link-static/threading-multi/Rand.o</name>
<type>1</type>
- <locationURI>PARENT-3-PROJECT_LOC/moses/src/LM/bin/darwin-4.2.1/release/debug-symbols-on/link-static/threading-multi/SRI.o</locationURI>
+ <locationURI>PARENT-1-ECLIPSE_HOME/workspace/github/moses-smt/moses/src/LM/bin/gcc-4.6/release/debug-symbols-on/link-static/threading-multi/Rand.o</locationURI>
</link>
<link>
- <name>LM/bin/darwin-4.2.1/release/debug-symbols-on/link-static/threading-multi/SingleFactor.o</name>
+ <name>LM/bin/gcc-4.6/release/debug-symbols-on/link-static/threading-multi/Remote.o</name>
<type>1</type>
- <locationURI>PARENT-3-PROJECT_LOC/moses/src/LM/bin/darwin-4.2.1/release/debug-symbols-on/link-static/threading-multi/SingleFactor.o</locationURI>
+ <locationURI>PARENT-1-ECLIPSE_HOME/workspace/github/moses-smt/moses/src/LM/bin/gcc-4.6/release/debug-symbols-on/link-static/threading-multi/Remote.o</locationURI>
</link>
<link>
- <name>LM/bin/darwin-4.2.1/release/debug-symbols-on/link-static/threading-multi/libLM.a</name>
+ <name>LM/bin/gcc-4.6/release/debug-symbols-on/link-static/threading-multi/SRI.o</name>
<type>1</type>
- <locationURI>PARENT-3-PROJECT_LOC/moses/src/LM/bin/darwin-4.2.1/release/debug-symbols-on/link-static/threading-multi/libLM.a</locationURI>
+ <locationURI>PARENT-1-ECLIPSE_HOME/workspace/github/moses-smt/moses/src/LM/bin/gcc-4.6/release/debug-symbols-on/link-static/threading-multi/SRI.o</locationURI>
</link>
<link>
- <name>LM/bin/gcc-4.2.1/release/debug-symbols-on/link-static/threading-multi/Base.o</name>
+ <name>LM/bin/gcc-4.6/release/debug-symbols-on/link-static/threading-multi/SingleFactor.o</name>
<type>1</type>
- <locationURI>PARENT-3-PROJECT_LOC/moses/src/LM/bin/gcc-4.2.1/release/debug-symbols-on/link-static/threading-multi/Base.o</locationURI>
+ <locationURI>PARENT-1-ECLIPSE_HOME/workspace/github/moses-smt/moses/src/LM/bin/gcc-4.6/release/debug-symbols-on/link-static/threading-multi/SingleFactor.o</locationURI>
</link>
<link>
- <name>LM/bin/gcc-4.2.1/release/debug-symbols-on/link-static/threading-multi/Factory.o</name>
+ <name>LM/bin/gcc-4.6/release/debug-symbols-on/link-static/threading-multi/libLM.a</name>
<type>1</type>
- <locationURI>PARENT-3-PROJECT_LOC/moses/src/LM/bin/gcc-4.2.1/release/debug-symbols-on/link-static/threading-multi/Factory.o</locationURI>
+ <locationURI>PARENT-1-ECLIPSE_HOME/workspace/github/moses-smt/moses/src/LM/bin/gcc-4.6/release/debug-symbols-on/link-static/threading-multi/libLM.a</locationURI>
</link>
<link>
- <name>LM/bin/gcc-4.2.1/release/debug-symbols-on/link-static/threading-multi/Implementation.o</name>
+ <name>RuleTable/bin/gcc-4.6/release/debug-symbols-on/link-static/threading-multi/LoaderCompact.o</name>
<type>1</type>
- <locationURI>PARENT-3-PROJECT_LOC/moses/src/LM/bin/gcc-4.2.1/release/debug-symbols-on/link-static/threading-multi/Implementation.o</locationURI>
+ <locationURI>PARENT-1-ECLIPSE_HOME/workspace/github/moses-smt/moses/src/RuleTable/bin/gcc-4.6/release/debug-symbols-on/link-static/threading-multi/LoaderCompact.o</locationURI>
</link>
<link>
- <name>LM/bin/gcc-4.2.1/release/debug-symbols-on/link-static/threading-multi/Joint.o</name>
+ <name>RuleTable/bin/gcc-4.6/release/debug-symbols-on/link-static/threading-multi/LoaderFactory.o</name>
<type>1</type>
- <locationURI>PARENT-3-PROJECT_LOC/moses/src/LM/bin/gcc-4.2.1/release/debug-symbols-on/link-static/threading-multi/Joint.o</locationURI>
+ <locationURI>PARENT-1-ECLIPSE_HOME/workspace/github/moses-smt/moses/src/RuleTable/bin/gcc-4.6/release/debug-symbols-on/link-static/threading-multi/LoaderFactory.o</locationURI>
</link>
<link>
- <name>LM/bin/gcc-4.2.1/release/debug-symbols-on/link-static/threading-multi/Ken.o</name>
+ <name>RuleTable/bin/gcc-4.6/release/debug-symbols-on/link-static/threading-multi/LoaderHiero.o</name>
<type>1</type>
- <locationURI>PARENT-3-PROJECT_LOC/moses/src/LM/bin/gcc-4.2.1/release/debug-symbols-on/link-static/threading-multi/Ken.o</locationURI>
+ <locationURI>PARENT-1-ECLIPSE_HOME/workspace/github/moses-smt/moses/src/RuleTable/bin/gcc-4.6/release/debug-symbols-on/link-static/threading-multi/LoaderHiero.o</locationURI>
</link>
<link>
- <name>LM/bin/gcc-4.2.1/release/debug-symbols-on/link-static/threading-multi/MultiFactor.o</name>
+ <name>RuleTable/bin/gcc-4.6/release/debug-symbols-on/link-static/threading-multi/LoaderStandard.o</name>
<type>1</type>
- <locationURI>PARENT-3-PROJECT_LOC/moses/src/LM/bin/gcc-4.2.1/release/debug-symbols-on/link-static/threading-multi/MultiFactor.o</locationURI>
+ <locationURI>PARENT-1-ECLIPSE_HOME/workspace/github/moses-smt/moses/src/RuleTable/bin/gcc-4.6/release/debug-symbols-on/link-static/threading-multi/LoaderStandard.o</locationURI>
</link>
<link>
- <name>LM/bin/gcc-4.2.1/release/debug-symbols-on/link-static/threading-multi/Remote.o</name>
+ <name>RuleTable/bin/gcc-4.6/release/debug-symbols-on/link-static/threading-multi/PhraseDictionaryALSuffixArray.o</name>
<type>1</type>
- <locationURI>PARENT-3-PROJECT_LOC/moses/src/LM/bin/gcc-4.2.1/release/debug-symbols-on/link-static/threading-multi/Remote.o</locationURI>
+ <locationURI>PARENT-1-ECLIPSE_HOME/workspace/github/moses-smt/moses/src/RuleTable/bin/gcc-4.6/release/debug-symbols-on/link-static/threading-multi/PhraseDictionaryALSuffixArray.o</locationURI>
</link>
<link>
- <name>LM/bin/gcc-4.2.1/release/debug-symbols-on/link-static/threading-multi/SingleFactor.o</name>
+ <name>RuleTable/bin/gcc-4.6/release/debug-symbols-on/link-static/threading-multi/PhraseDictionaryFuzzyMatch.o</name>
<type>1</type>
- <locationURI>PARENT-3-PROJECT_LOC/moses/src/LM/bin/gcc-4.2.1/release/debug-symbols-on/link-static/threading-multi/SingleFactor.o</locationURI>
+ <locationURI>PARENT-1-ECLIPSE_HOME/workspace/github/moses-smt/moses/src/RuleTable/bin/gcc-4.6/release/debug-symbols-on/link-static/threading-multi/PhraseDictionaryFuzzyMatch.o</locationURI>
</link>
<link>
- <name>LM/bin/gcc-4.2.1/release/debug-symbols-on/link-static/threading-multi/libLM.a</name>
+ <name>RuleTable/bin/gcc-4.6/release/debug-symbols-on/link-static/threading-multi/PhraseDictionaryNodeSCFG.o</name>
<type>1</type>
- <locationURI>PARENT-3-PROJECT_LOC/moses/src/LM/bin/gcc-4.2.1/release/debug-symbols-on/link-static/threading-multi/libLM.a</locationURI>
+ <locationURI>PARENT-1-ECLIPSE_HOME/workspace/github/moses-smt/moses/src/RuleTable/bin/gcc-4.6/release/debug-symbols-on/link-static/threading-multi/PhraseDictionaryNodeSCFG.o</locationURI>
+ </link>
+ <link>
+ <name>RuleTable/bin/gcc-4.6/release/debug-symbols-on/link-static/threading-multi/PhraseDictionaryOnDisk.o</name>
+ <type>1</type>
+ <locationURI>PARENT-1-ECLIPSE_HOME/workspace/github/moses-smt/moses/src/RuleTable/bin/gcc-4.6/release/debug-symbols-on/link-static/threading-multi/PhraseDictionaryOnDisk.o</locationURI>
+ </link>
+ <link>
+ <name>RuleTable/bin/gcc-4.6/release/debug-symbols-on/link-static/threading-multi/PhraseDictionarySCFG.o</name>
+ <type>1</type>
+ <locationURI>PARENT-1-ECLIPSE_HOME/workspace/github/moses-smt/moses/src/RuleTable/bin/gcc-4.6/release/debug-symbols-on/link-static/threading-multi/PhraseDictionarySCFG.o</locationURI>
+ </link>
+ <link>
+ <name>RuleTable/bin/gcc-4.6/release/debug-symbols-on/link-static/threading-multi/PhraseDictionaryTMExtract.o</name>
+ <type>1</type>
+ <locationURI>PARENT-1-ECLIPSE_HOME/workspace/github/moses-smt/moses/src/RuleTable/bin/gcc-4.6/release/debug-symbols-on/link-static/threading-multi/PhraseDictionaryTMExtract.o</locationURI>
+ </link>
+ <link>
+ <name>RuleTable/bin/gcc-4.6/release/debug-symbols-on/link-static/threading-multi/Trie.o</name>
+ <type>1</type>
+ <locationURI>PARENT-1-ECLIPSE_HOME/workspace/github/moses-smt/moses/src/RuleTable/bin/gcc-4.6/release/debug-symbols-on/link-static/threading-multi/Trie.o</locationURI>
+ </link>
+ <link>
+ <name>RuleTable/bin/gcc-4.6/release/debug-symbols-on/link-static/threading-multi/UTrie.o</name>
+ <type>1</type>
+ <locationURI>PARENT-1-ECLIPSE_HOME/workspace/github/moses-smt/moses/src/RuleTable/bin/gcc-4.6/release/debug-symbols-on/link-static/threading-multi/UTrie.o</locationURI>
+ </link>
+ <link>
+ <name>RuleTable/bin/gcc-4.6/release/debug-symbols-on/link-static/threading-multi/UTrieNode.o</name>
+ <type>1</type>
+ <locationURI>PARENT-1-ECLIPSE_HOME/workspace/github/moses-smt/moses/src/RuleTable/bin/gcc-4.6/release/debug-symbols-on/link-static/threading-multi/UTrieNode.o</locationURI>
+ </link>
+ <link>
+ <name>RuleTable/bin/gcc-4.6/release/debug-symbols-on/link-static/threading-multi/libRuleTable.a</name>
+ <type>1</type>
+ <locationURI>PARENT-1-ECLIPSE_HOME/workspace/github/moses-smt/moses/src/RuleTable/bin/gcc-4.6/release/debug-symbols-on/link-static/threading-multi/libRuleTable.a</locationURI>
+ </link>
+ <link>
+ <name>Scope3Parser/bin/gcc-4.6/release/debug-symbols-on/link-static/threading-multi/ApplicableRuleTrie.o</name>
+ <type>1</type>
+ <locationURI>PARENT-1-ECLIPSE_HOME/workspace/github/moses-smt/moses/src/Scope3Parser/bin/gcc-4.6/release/debug-symbols-on/link-static/threading-multi/ApplicableRuleTrie.o</locationURI>
+ </link>
+ <link>
+ <name>Scope3Parser/bin/gcc-4.6/release/debug-symbols-on/link-static/threading-multi/Parser.o</name>
+ <type>1</type>
+ <locationURI>PARENT-1-ECLIPSE_HOME/workspace/github/moses-smt/moses/src/Scope3Parser/bin/gcc-4.6/release/debug-symbols-on/link-static/threading-multi/Parser.o</locationURI>
+ </link>
+ <link>
+ <name>Scope3Parser/bin/gcc-4.6/release/debug-symbols-on/link-static/threading-multi/StackLatticeBuilder.o</name>
+ <type>1</type>
+ <locationURI>PARENT-1-ECLIPSE_HOME/workspace/github/moses-smt/moses/src/Scope3Parser/bin/gcc-4.6/release/debug-symbols-on/link-static/threading-multi/StackLatticeBuilder.o</locationURI>
+ </link>
+ <link>
+ <name>Scope3Parser/bin/gcc-4.6/release/debug-symbols-on/link-static/threading-multi/VarSpanTrieBuilder.o</name>
+ <type>1</type>
+ <locationURI>PARENT-1-ECLIPSE_HOME/workspace/github/moses-smt/moses/src/Scope3Parser/bin/gcc-4.6/release/debug-symbols-on/link-static/threading-multi/VarSpanTrieBuilder.o</locationURI>
+ </link>
+ <link>
+ <name>Scope3Parser/bin/gcc-4.6/release/debug-symbols-on/link-static/threading-multi/libScope3Parser.a</name>
+ <type>1</type>
+ <locationURI>PARENT-1-ECLIPSE_HOME/workspace/github/moses-smt/moses/src/Scope3Parser/bin/gcc-4.6/release/debug-symbols-on/link-static/threading-multi/libScope3Parser.a</locationURI>
</link>
<link>
<name>bin/darwin-4.2.1/release/debug-symbols-on/link-static/threading-multi/DynSAInclude/file.o</name>
@@ -2791,5 +3411,75 @@
<type>1</type>
<locationURI>PARENT-3-PROJECT_LOC/moses/src/bin/darwin-4.2.1/release/debug-symbols-on/link-static/threading-multi/DynSAInclude/vocab.o</locationURI>
</link>
+ <link>
+ <name>bin/gcc-4.6/release/debug-symbols-on/link-static/threading-multi/DynSAInclude/FileHandler.o</name>
+ <type>1</type>
+ <locationURI>PARENT-1-ECLIPSE_HOME/workspace/github/moses-smt/moses/src/bin/gcc-4.6/release/debug-symbols-on/link-static/threading-multi/DynSAInclude/FileHandler.o</locationURI>
+ </link>
+ <link>
+ <name>bin/gcc-4.6/release/debug-symbols-on/link-static/threading-multi/DynSAInclude/file.o</name>
+ <type>1</type>
+ <locationURI>PARENT-1-ECLIPSE_HOME/workspace/github/moses-smt/moses/src/bin/gcc-4.6/release/debug-symbols-on/link-static/threading-multi/DynSAInclude/file.o</locationURI>
+ </link>
+ <link>
+ <name>bin/gcc-4.6/release/debug-symbols-on/link-static/threading-multi/DynSAInclude/params.o</name>
+ <type>1</type>
+ <locationURI>PARENT-1-ECLIPSE_HOME/workspace/github/moses-smt/moses/src/bin/gcc-4.6/release/debug-symbols-on/link-static/threading-multi/DynSAInclude/params.o</locationURI>
+ </link>
+ <link>
+ <name>bin/gcc-4.6/release/debug-symbols-on/link-static/threading-multi/DynSAInclude/vocab.o</name>
+ <type>1</type>
+ <locationURI>PARENT-1-ECLIPSE_HOME/workspace/github/moses-smt/moses/src/bin/gcc-4.6/release/debug-symbols-on/link-static/threading-multi/DynSAInclude/vocab.o</locationURI>
+ </link>
+ <link>
+ <name>fuzzy-match/bin/gcc-4.6/release/debug-symbols-on/link-static/threading-multi/FuzzyMatchWrapper.o</name>
+ <type>1</type>
+ <locationURI>PARENT-1-ECLIPSE_HOME/workspace/github/moses-smt/moses/src/fuzzy-match/bin/gcc-4.6/release/debug-symbols-on/link-static/threading-multi/FuzzyMatchWrapper.o</locationURI>
+ </link>
+ <link>
+ <name>fuzzy-match/bin/gcc-4.6/release/debug-symbols-on/link-static/threading-multi/SentenceAlignment.o</name>
+ <type>1</type>
+ <locationURI>PARENT-1-ECLIPSE_HOME/workspace/github/moses-smt/moses/src/fuzzy-match/bin/gcc-4.6/release/debug-symbols-on/link-static/threading-multi/SentenceAlignment.o</locationURI>
+ </link>
+ <link>
+ <name>fuzzy-match/bin/gcc-4.6/release/debug-symbols-on/link-static/threading-multi/SuffixArray.o</name>
+ <type>1</type>
+ <locationURI>PARENT-1-ECLIPSE_HOME/workspace/github/moses-smt/moses/src/fuzzy-match/bin/gcc-4.6/release/debug-symbols-on/link-static/threading-multi/SuffixArray.o</locationURI>
+ </link>
+ <link>
+ <name>fuzzy-match/bin/gcc-4.6/release/debug-symbols-on/link-static/threading-multi/TMMTWrapper.o</name>
+ <type>1</type>
+ <locationURI>PARENT-1-ECLIPSE_HOME/workspace/github/moses-smt/moses/src/fuzzy-match/bin/gcc-4.6/release/debug-symbols-on/link-static/threading-multi/TMMTWrapper.o</locationURI>
+ </link>
+ <link>
+ <name>fuzzy-match/bin/gcc-4.6/release/debug-symbols-on/link-static/threading-multi/Vocabulary.o</name>
+ <type>1</type>
+ <locationURI>PARENT-1-ECLIPSE_HOME/workspace/github/moses-smt/moses/src/fuzzy-match/bin/gcc-4.6/release/debug-symbols-on/link-static/threading-multi/Vocabulary.o</locationURI>
+ </link>
+ <link>
+ <name>fuzzy-match/bin/gcc-4.6/release/debug-symbols-on/link-static/threading-multi/libfuzzy-match.a</name>
+ <type>1</type>
+ <locationURI>PARENT-1-ECLIPSE_HOME/workspace/github/moses-smt/moses/src/fuzzy-match/bin/gcc-4.6/release/debug-symbols-on/link-static/threading-multi/libfuzzy-match.a</locationURI>
+ </link>
+ <link>
+ <name>DynSAInclude/bin/gcc-4.6/release/debug-symbols-on/link-static/threading-multi/DynSAInclude/FileHandler.o</name>
+ <type>1</type>
+ <locationURI>PARENT-1-ECLIPSE_HOME/workspace/github/moses-smt/moses/src/DynSAInclude/bin/gcc-4.6/release/debug-symbols-on/link-static/threading-multi/DynSAInclude/FileHandler.o</locationURI>
+ </link>
+ <link>
+ <name>DynSAInclude/bin/gcc-4.6/release/debug-symbols-on/link-static/threading-multi/DynSAInclude/file.o</name>
+ <type>1</type>
+ <locationURI>PARENT-1-ECLIPSE_HOME/workspace/github/moses-smt/moses/src/DynSAInclude/bin/gcc-4.6/release/debug-symbols-on/link-static/threading-multi/DynSAInclude/file.o</locationURI>
+ </link>
+ <link>
+ <name>DynSAInclude/bin/gcc-4.6/release/debug-symbols-on/link-static/threading-multi/DynSAInclude/params.o</name>
+ <type>1</type>
+ <locationURI>PARENT-1-ECLIPSE_HOME/workspace/github/moses-smt/moses/src/DynSAInclude/bin/gcc-4.6/release/debug-symbols-on/link-static/threading-multi/DynSAInclude/params.o</locationURI>
+ </link>
+ <link>
+ <name>DynSAInclude/bin/gcc-4.6/release/debug-symbols-on/link-static/threading-multi/DynSAInclude/vocab.o</name>
+ <type>1</type>
+ <locationURI>PARENT-1-ECLIPSE_HOME/workspace/github/moses-smt/moses/src/DynSAInclude/bin/gcc-4.6/release/debug-symbols-on/link-static/threading-multi/DynSAInclude/vocab.o</locationURI>
+ </link>
</linkedResources>
</projectDescription>
diff --git a/contrib/python/README.md b/contrib/python/README.md
index fa7d270c8..d9ef1cd27 100644
--- a/contrib/python/README.md
+++ b/contrib/python/README.md
@@ -10,9 +10,15 @@ The idea is to have some of Moses' internals exposed to Python (inspired on pycd
## Building
-1. Build the python extension
+1. Build the python extension:
- python setup.py build_ext -i [--with-cmph]
+ You need to compile Moses with link=shared and (for while) without SRILM (for some reason SRILM prevents the compiler from generating libLM.so)
+
+ ./bjam --libdir=path cxxflags=-fPIC link=shared
+
+ Then you can build the extension (in case you used --libdir=path above, use --moses-lib=path below)
+
+ python setup.py build_ext -i [--with-cmph] [--moses-lib=path]
3. Check the example code
diff --git a/contrib/python/binpt/binpt.cpp b/contrib/python/binpt/binpt.cpp
index 7de3058fc..0abf86ab1 100644
--- a/contrib/python/binpt/binpt.cpp
+++ b/contrib/python/binpt/binpt.cpp
@@ -1,4 +1,4 @@
-/* Generated by Cython 0.16 on Tue Sep 18 11:36:58 2012 */
+/* Generated by Cython 0.16 on Fri Sep 21 10:28:51 2012 */
#define PY_SSIZE_T_CLEAN
#include "Python.h"
@@ -692,7 +692,7 @@ static PyObject *__pyx_pf_5binpt_11QueryResult_2words(struct __pyx_obj_5binpt_Qu
static PyObject *__pyx_pf_5binpt_11QueryResult_4scores(struct __pyx_obj_5binpt_QueryResult *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_5binpt_11QueryResult_6wa(struct __pyx_obj_5binpt_QueryResult *__pyx_v_self); /* proto */
static PyObject *__pyx_lambda_funcdef_lambda1(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_r); /* proto */
-static PyObject *__pyx_pf_5binpt_11QueryResult_8desc(PyObject *__pyx_v_x, PyObject *__pyx_v_y, PyObject *__pyx_v_keys); /* proto */
+static PyObject *__pyx_pf_5binpt_11QueryResult_8desc(PyObject *__pyx_v_x, PyObject *__pyx_v_y, PyObject *__pyx_v_key); /* proto */
static PyObject *__pyx_pf_5binpt_11QueryResult_10__str__(struct __pyx_obj_5binpt_QueryResult *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_5binpt_11QueryResult_12__repr__(struct __pyx_obj_5binpt_QueryResult *__pyx_v_self); /* proto */
static int __pyx_pf_5binpt_17BinaryPhraseTable___cinit__(struct __pyx_obj_5binpt_BinaryPhraseTable *__pyx_v_self, PyObject *__pyx_v_path, unsigned int __pyx_v_nscores, int __pyx_v_wa, PyObject *__pyx_v_delimiters); /* proto */
@@ -722,10 +722,10 @@ static char __pyx_k__y[] = "y";
static char __pyx_k__os[] = "os";
static char __pyx_k__wa[] = "wa";
static char __pyx_k__cmp[] = "cmp";
+static char __pyx_k__key[] = "key";
static char __pyx_k__top[] = "top";
static char __pyx_k__desc[] = "desc";
static char __pyx_k__join[] = "join";
-static char __pyx_k__keys[] = "keys";
static char __pyx_k__line[] = "line";
static char __pyx_k__path[] = "path";
static char __pyx_k__sort[] = "sort";
@@ -771,7 +771,7 @@ static PyObject *__pyx_n_s__encode;
static PyObject *__pyx_n_s__isValidBinaryTable;
static PyObject *__pyx_n_s__isfile;
static PyObject *__pyx_n_s__join;
-static PyObject *__pyx_n_s__keys;
+static PyObject *__pyx_n_s__key;
static PyObject *__pyx_n_s__line;
static PyObject *__pyx_n_s__nscores;
static PyObject *__pyx_n_s__os;
@@ -1276,13 +1276,13 @@ static PyObject *__pyx_pf_5binpt_11QueryResult_6wa(struct __pyx_obj_5binpt_Query
/* Python wrapper */
static PyObject *__pyx_pw_5binpt_11QueryResult_9desc(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
-static char __pyx_doc_5binpt_11QueryResult_8desc[] = "Returns the sign of keys(y) - keys(x).\n Can only be used if scores is not an empty vector as\n keys defaults to scores[0]";
+static char __pyx_doc_5binpt_11QueryResult_8desc[] = "Returns the sign of key(y) - key(x).\n Can only be used if scores is not an empty vector as\n keys defaults to scores[0]";
static PyMethodDef __pyx_mdef_5binpt_11QueryResult_9desc = {__Pyx_NAMESTR("desc"), (PyCFunction)__pyx_pw_5binpt_11QueryResult_9desc, METH_VARARGS|METH_KEYWORDS, __Pyx_DOCSTR(__pyx_doc_5binpt_11QueryResult_8desc)};
static PyObject *__pyx_pw_5binpt_11QueryResult_9desc(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
PyObject *__pyx_v_x = 0;
PyObject *__pyx_v_y = 0;
- PyObject *__pyx_v_keys = 0;
- static PyObject **__pyx_pyargnames[] = {&__pyx_n_s__x,&__pyx_n_s__y,&__pyx_n_s__keys,0};
+ PyObject *__pyx_v_key = 0;
+ static PyObject **__pyx_pyargnames[] = {&__pyx_n_s__x,&__pyx_n_s__y,&__pyx_n_s__key,0};
PyObject *__pyx_r = 0;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("desc (wrapper)", 0);
@@ -1313,7 +1313,7 @@ static PyObject *__pyx_pw_5binpt_11QueryResult_9desc(PyObject *__pyx_self, PyObj
}
case 2:
if (kw_args > 0) {
- PyObject* value = PyDict_GetItem(__pyx_kwds, __pyx_n_s__keys);
+ PyObject* value = PyDict_GetItem(__pyx_kwds, __pyx_n_s__key);
if (value) { values[2] = value; kw_args--; }
}
}
@@ -1331,7 +1331,7 @@ static PyObject *__pyx_pw_5binpt_11QueryResult_9desc(PyObject *__pyx_self, PyObj
}
__pyx_v_x = values[0];
__pyx_v_y = values[1];
- __pyx_v_keys = values[2];
+ __pyx_v_key = values[2];
}
goto __pyx_L4_argument_unpacking_done;
__pyx_L5_argtuple_error:;
@@ -1341,7 +1341,7 @@ static PyObject *__pyx_pw_5binpt_11QueryResult_9desc(PyObject *__pyx_self, PyObj
__Pyx_RefNannyFinishContext();
return NULL;
__pyx_L4_argument_unpacking_done:;
- __pyx_r = __pyx_pf_5binpt_11QueryResult_8desc(__pyx_v_x, __pyx_v_y, __pyx_v_keys);
+ __pyx_r = __pyx_pf_5binpt_11QueryResult_8desc(__pyx_v_x, __pyx_v_y, __pyx_v_key);
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
@@ -1362,8 +1362,8 @@ static PyObject *__pyx_pw_5binpt_11QueryResult_4desc_lambda1(PyObject *__pyx_sel
/* "binpt.pyx":52
*
* @staticmethod
- * def desc(x, y, keys = lambda r: r.scores[0]): # <<<<<<<<<<<<<<
- * '''Returns the sign of keys(y) - keys(x).
+ * def desc(x, y, key = lambda r: r.scores[0]): # <<<<<<<<<<<<<<
+ * '''Returns the sign of key(y) - key(x).
* Can only be used if scores is not an empty vector as
*/
@@ -1399,7 +1399,7 @@ static PyObject *__pyx_lambda_funcdef_lambda1(CYTHON_UNUSED PyObject *__pyx_self
return __pyx_r;
}
-static PyObject *__pyx_pf_5binpt_11QueryResult_8desc(PyObject *__pyx_v_x, PyObject *__pyx_v_y, PyObject *__pyx_v_keys) {
+static PyObject *__pyx_pf_5binpt_11QueryResult_8desc(PyObject *__pyx_v_x, PyObject *__pyx_v_y, PyObject *__pyx_v_key) {
PyObject *__pyx_r = NULL;
__Pyx_RefNannyDeclarations
PyObject *__pyx_t_1 = NULL;
@@ -1414,7 +1414,7 @@ static PyObject *__pyx_pf_5binpt_11QueryResult_8desc(PyObject *__pyx_v_x, PyObje
/* "binpt.pyx":56
* Can only be used if scores is not an empty vector as
* keys defaults to scores[0]'''
- * return fsign(keys(y) - keys(x)) # <<<<<<<<<<<<<<
+ * return fsign(key(y) - key(x)) # <<<<<<<<<<<<<<
*
* def __str__(self):
*/
@@ -1424,7 +1424,7 @@ static PyObject *__pyx_pf_5binpt_11QueryResult_8desc(PyObject *__pyx_v_x, PyObje
__Pyx_INCREF(__pyx_v_y);
PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_v_y);
__Pyx_GIVEREF(__pyx_v_y);
- __pyx_t_2 = PyObject_Call(__pyx_v_keys, ((PyObject *)__pyx_t_1), NULL); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 56; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_2 = PyObject_Call(__pyx_v_key, ((PyObject *)__pyx_t_1), NULL); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 56; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_2);
__Pyx_DECREF(((PyObject *)__pyx_t_1)); __pyx_t_1 = 0;
__pyx_t_1 = PyTuple_New(1); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 56; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
@@ -1432,7 +1432,7 @@ static PyObject *__pyx_pf_5binpt_11QueryResult_8desc(PyObject *__pyx_v_x, PyObje
__Pyx_INCREF(__pyx_v_x);
PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_v_x);
__Pyx_GIVEREF(__pyx_v_x);
- __pyx_t_3 = PyObject_Call(__pyx_v_keys, ((PyObject *)__pyx_t_1), NULL); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 56; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_3 = PyObject_Call(__pyx_v_key, ((PyObject *)__pyx_t_1), NULL); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 56; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_3);
__Pyx_DECREF(((PyObject *)__pyx_t_1)); __pyx_t_1 = 0;
__pyx_t_1 = PyNumber_Subtract(__pyx_t_2, __pyx_t_3); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 56; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
@@ -1475,7 +1475,7 @@ static PyObject *__pyx_pw_5binpt_11QueryResult_11__str__(PyObject *__pyx_v_self)
}
/* "binpt.pyx":58
- * return fsign(keys(y) - keys(x))
+ * return fsign(key(y) - key(x))
*
* def __str__(self): # <<<<<<<<<<<<<<
* '''Returns a string such as: <words> ||| <scores> [||| word-alignment info]'''
@@ -3724,7 +3724,7 @@ static __Pyx_StringTabEntry __pyx_string_tab[] = {
{&__pyx_n_s__isValidBinaryTable, __pyx_k__isValidBinaryTable, sizeof(__pyx_k__isValidBinaryTable), 0, 0, 1, 1},
{&__pyx_n_s__isfile, __pyx_k__isfile, sizeof(__pyx_k__isfile), 0, 0, 1, 1},
{&__pyx_n_s__join, __pyx_k__join, sizeof(__pyx_k__join), 0, 0, 1, 1},
- {&__pyx_n_s__keys, __pyx_k__keys, sizeof(__pyx_k__keys), 0, 0, 1, 1},
+ {&__pyx_n_s__key, __pyx_k__key, sizeof(__pyx_k__key), 0, 0, 1, 1},
{&__pyx_n_s__line, __pyx_k__line, sizeof(__pyx_k__line), 0, 0, 1, 1},
{&__pyx_n_s__nscores, __pyx_k__nscores, sizeof(__pyx_k__nscores), 0, 0, 1, 1},
{&__pyx_n_s__os, __pyx_k__os, sizeof(__pyx_k__os), 0, 0, 1, 1},
@@ -3774,8 +3774,8 @@ static int __Pyx_InitCachedConstants(void) {
/* "binpt.pyx":52
*
* @staticmethod
- * def desc(x, y, keys = lambda r: r.scores[0]): # <<<<<<<<<<<<<<
- * '''Returns the sign of keys(y) - keys(x).
+ * def desc(x, y, key = lambda r: r.scores[0]): # <<<<<<<<<<<<<<
+ * '''Returns the sign of key(y) - key(x).
* Can only be used if scores is not an empty vector as
*/
__pyx_k_tuple_16 = PyTuple_New(3); if (unlikely(!__pyx_k_tuple_16)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 52; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
@@ -3786,9 +3786,9 @@ static int __Pyx_InitCachedConstants(void) {
__Pyx_INCREF(((PyObject *)__pyx_n_s__y));
PyTuple_SET_ITEM(__pyx_k_tuple_16, 1, ((PyObject *)__pyx_n_s__y));
__Pyx_GIVEREF(((PyObject *)__pyx_n_s__y));
- __Pyx_INCREF(((PyObject *)__pyx_n_s__keys));
- PyTuple_SET_ITEM(__pyx_k_tuple_16, 2, ((PyObject *)__pyx_n_s__keys));
- __Pyx_GIVEREF(((PyObject *)__pyx_n_s__keys));
+ __Pyx_INCREF(((PyObject *)__pyx_n_s__key));
+ PyTuple_SET_ITEM(__pyx_k_tuple_16, 2, ((PyObject *)__pyx_n_s__key));
+ __Pyx_GIVEREF(((PyObject *)__pyx_n_s__key));
__Pyx_GIVEREF(((PyObject *)__pyx_k_tuple_16));
__pyx_k_codeobj_17 = (PyObject*)__Pyx_PyCode_New(3, 0, 3, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_k_tuple_16, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_18, __pyx_n_s__desc, 52, __pyx_empty_bytes); if (unlikely(!__pyx_k_codeobj_17)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 52; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
@@ -3987,8 +3987,8 @@ PyMODINIT_FUNC PyInit_binpt(void)
/* "binpt.pyx":52
*
* @staticmethod
- * def desc(x, y, keys = lambda r: r.scores[0]): # <<<<<<<<<<<<<<
- * '''Returns the sign of keys(y) - keys(x).
+ * def desc(x, y, key = lambda r: r.scores[0]): # <<<<<<<<<<<<<<
+ * '''Returns the sign of key(y) - key(x).
* Can only be used if scores is not an empty vector as
*/
__pyx_t_1 = __Pyx_CyFunction_NewEx(&__pyx_mdef_5binpt_11QueryResult_4desc_lambda1, 0, NULL, __pyx_n_s__binpt, NULL); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 52; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
@@ -4001,8 +4001,8 @@ PyMODINIT_FUNC PyInit_binpt(void)
* return self._wa
*
* @staticmethod # <<<<<<<<<<<<<<
- * def desc(x, y, keys = lambda r: r.scores[0]):
- * '''Returns the sign of keys(y) - keys(x).
+ * def desc(x, y, key = lambda r: r.scores[0]):
+ * '''Returns the sign of key(y) - key(x).
*/
__pyx_t_1 = PyCFunction_NewEx(&__pyx_mdef_5binpt_11QueryResult_9desc, NULL, __pyx_n_s__binpt); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 52; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_1);
@@ -4021,8 +4021,8 @@ PyMODINIT_FUNC PyInit_binpt(void)
/* "binpt.pyx":52
*
* @staticmethod
- * def desc(x, y, keys = lambda r: r.scores[0]): # <<<<<<<<<<<<<<
- * '''Returns the sign of keys(y) - keys(x).
+ * def desc(x, y, key = lambda r: r.scores[0]): # <<<<<<<<<<<<<<
+ * '''Returns the sign of key(y) - key(x).
* Can only be used if scores is not an empty vector as
*/
__pyx_t_1 = __Pyx_GetName((PyObject *)__pyx_ptype_5binpt_QueryResult, __pyx_n_s__desc); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 52; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
diff --git a/contrib/python/binpt/binpt.pyx b/contrib/python/binpt/binpt.pyx
index e66981df6..137b0bc8c 100644
--- a/contrib/python/binpt/binpt.pyx
+++ b/contrib/python/binpt/binpt.pyx
@@ -49,11 +49,11 @@ cdef class QueryResult(object):
return self._wa
@staticmethod
- def desc(x, y, keys = lambda r: r.scores[0]):
- '''Returns the sign of keys(y) - keys(x).
+ def desc(x, y, key = lambda r: r.scores[0]):
+ '''Returns the sign of key(y) - key(x).
Can only be used if scores is not an empty vector as
keys defaults to scores[0]'''
- return fsign(keys(y) - keys(x))
+ return fsign(key(y) - key(x))
def __str__(self):
'''Returns a string such as: <words> ||| <scores> [||| word-alignment info]'''
@@ -138,7 +138,7 @@ cdef class BinaryPhraseTable(object):
def delimiters(self):
return self._delimiters
- def query(self, line, cmp = None, top = 0):
+ def query(self, line, cmp = None, key = lambda x: x.scores[0], top = 0):
'''Queries the phrase table and returns a list of matches.
Each match is a QueryResult.
If 'cmp' is defined the return list is sorted.
diff --git a/contrib/python/setup.py b/contrib/python/setup.py
index 66042fbc8..bc501b360 100644
--- a/contrib/python/setup.py
+++ b/contrib/python/setup.py
@@ -3,31 +3,38 @@ from distutils.extension import Extension
import os
import sys
-available_switches = ['--with-cmph']
+available_switches = ['--with-cmph', '--moses-lib']
with_cmph = False
-while sys.argv[-1] in available_switches:
- switch = sys.argv.pop()
- if switch == '--with-cmph':
+mosesdir = os.path.abspath('../../')
+includes = [mosesdir, os.path.join(mosesdir, 'moses/src'), os.path.join(mosesdir, 'util')]
+libdir = os.path.join(mosesdir, 'lib')
+
+while sys.argv[-1].split('=')[0] in available_switches:
+ param = sys.argv.pop().split('=')
+ if param[0] == '--with-cmph':
with_cmph = True
+ if param[0] == '--moses-lib':
+ libdir = param[1]
+print >> sys.stderr, 'mosesdir=%s\nincludes=%s\nlibdir=%s\ncmph=%s' % (mosesdir, includes, libdir, with_cmph)
#### From here you probably don't need to change anything
#### unless a new dependency shows up in Moses
-mosesdir = os.path.abspath('../../')
-includes = [mosesdir, os.path.join(mosesdir, 'moses/src'), os.path.join(mosesdir, 'util')]
-libdir = os.path.join(mosesdir, 'lib')
basic=['z', 'stdc++', 'pthread', 'm', 'gcc_s', 'c', 'boost_system', 'boost_thread', 'boost_filesystem', 'rt']
moses=['OnDiskPt', 'kenutil', 'kenlm', 'LM', 'mert_lib', 'moses_internal', 'CYKPlusParser', 'Scope3Parser', 'fuzzy-match', 'RuleTable', 'CompactPT', 'moses', 'dynsa', 'pcfg_common' ]
additional=[]
+
if with_cmph:
additional.append('cmph')
exobj = [os.path.join(libdir, 'lib' + l + '.so') for l in moses]
+print >> sys.stderr, 'basic=%s\nmoses=%s\nadditional=%s\nextra=%s' % (basic, moses, additional, exobj)
+
ext_modules = [
Extension(name = 'binpt',
sources = ['binpt/binpt.cpp'],
diff --git a/contrib/relent-filter/scripts/prunePT.pl b/contrib/relent-filter/scripts/prunePT.pl
index 37dc30bad..b443cc14e 100755
--- a/contrib/relent-filter/scripts/prunePT.pl
+++ b/contrib/relent-filter/scripts/prunePT.pl
@@ -7,8 +7,8 @@ my $threshold = -1;
use Getopt::Long;
$_HELP = 1 if (@ARGV < 1 or !GetOptions ("table=s" => \$table, #table to filter
"scores=s" => \$scores_file, #scores of each phrase pair, should have same size as the table to filter
-"percentage=i" => \$percentage, # percentage of phrase table to remain
-"threshold=i" => \$threshold)); # threshold (score < threshold equals prune entry)
+"percentage=f" => \$percentage, # percentage of phrase table to remain
+"threshold=f" => \$threshold)); # threshold (score < threshold equals prune entry)
# help message if arguments are not correct
if ($_HELP) {
diff --git a/jam-files/sanity.jam b/jam-files/sanity.jam
index 6beec3f94..c8435862c 100644
--- a/jam-files/sanity.jam
+++ b/jam-files/sanity.jam
@@ -29,7 +29,7 @@ ldflags = [ os.environ "LDFLAGS" ] ;
#Run g++ with empty main and these arguments to see if it passes.
rule test_flags ( flags * ) {
flags = $(cxxflags) $(ldflags) $(flags) ;
- local cmd = "bash -c \"g++ "$(flags:J=" ")" -x c++ - <<<'int main() {}' -o /dev/null >/dev/null 2>/dev/null\"" ;
+ local cmd = "bash -c \"g++ "$(flags:J=" ")" -x c++ - <<<'int main() {}' -o $(TOP)/dummy >/dev/null 2>/dev/null && rm $(TOP)/dummy 2>/dev/null\"" ;
local ret = [ SHELL $(cmd) : exit-status ] ;
if --debug-configuration in [ modules.peek : ARGV ] {
echo $(cmd) ;
@@ -152,7 +152,6 @@ rule boost ( min-version ) {
boost-lib program_options PROGRAM_OPTIONS_DYN_LINK ;
boost-lib unit_test_framework TEST_DYN_LINK ;
boost-lib iostreams IOSTREAMS_DYN_LINK ;
- boost-lib filesystem FILE_SYSTEM_DYN_LINK : boost_system ;
}
#Link normally to a library, but sometimes static isn't installed so fall back to dynamic.
diff --git a/lm/Jamfile b/lm/Jamfile
index 88455709b..fd169b000 100644
--- a/lm/Jamfile
+++ b/lm/Jamfile
@@ -17,4 +17,4 @@ run model_test.cc ../util//kenutil kenlm ..//boost_unit_test_framework : : test.
exe query : ngram_query.cc kenlm ../util//kenutil ;
exe build_binary : build_binary.cc kenlm ../util//kenutil ;
-exe kenlm_max_order : max_order.cc : $(max-order) ;
+exe kenlm_max_order : max_order.cc : <include>.. $(max-order) ;
diff --git a/lm/bhiksha.cc b/lm/bhiksha.cc
index 870a4eee5..088ea98d4 100644
--- a/lm/bhiksha.cc
+++ b/lm/bhiksha.cc
@@ -50,7 +50,7 @@ std::size_t ArrayCount(uint64_t max_offset, uint64_t max_next, const Config &con
}
} // namespace
-std::size_t ArrayBhiksha::Size(uint64_t max_offset, uint64_t max_next, const Config &config) {
+uint64_t ArrayBhiksha::Size(uint64_t max_offset, uint64_t max_next, const Config &config) {
return sizeof(uint64_t) * (1 /* header */ + ArrayCount(max_offset, max_next, config)) + 7 /* 8-byte alignment */;
}
diff --git a/lm/bhiksha.hh b/lm/bhiksha.hh
index 9734f3abd..8ff88654d 100644
--- a/lm/bhiksha.hh
+++ b/lm/bhiksha.hh
@@ -33,7 +33,7 @@ class DontBhiksha {
static void UpdateConfigFromBinary(int /*fd*/, Config &/*config*/) {}
- static std::size_t Size(uint64_t /*max_offset*/, uint64_t /*max_next*/, const Config &/*config*/) { return 0; }
+ static uint64_t Size(uint64_t /*max_offset*/, uint64_t /*max_next*/, const Config &/*config*/) { return 0; }
static uint8_t InlineBits(uint64_t /*max_offset*/, uint64_t max_next, const Config &/*config*/) {
return util::RequiredBits(max_next);
@@ -67,7 +67,7 @@ class ArrayBhiksha {
static void UpdateConfigFromBinary(int fd, Config &config);
- static std::size_t Size(uint64_t max_offset, uint64_t max_next, const Config &config);
+ static uint64_t Size(uint64_t max_offset, uint64_t max_next, const Config &config);
static uint8_t InlineBits(uint64_t max_offset, uint64_t max_next, const Config &config);
diff --git a/lm/binary_format.cc b/lm/binary_format.cc
index a56e998ef..fd841e592 100644
--- a/lm/binary_format.cc
+++ b/lm/binary_format.cc
@@ -200,10 +200,10 @@ void SeekPastHeader(int fd, const Parameters &params) {
util::SeekOrThrow(fd, TotalHeaderSize(params.counts.size()));
}
-uint8_t *SetupBinary(const Config &config, const Parameters &params, std::size_t memory_size, Backing &backing) {
+uint8_t *SetupBinary(const Config &config, const Parameters &params, uint64_t memory_size, Backing &backing) {
const uint64_t file_size = util::SizeFile(backing.file.get());
// The header is smaller than a page, so we have to map the whole header as well.
- std::size_t total_map = TotalHeaderSize(params.counts.size()) + memory_size;
+ std::size_t total_map = util::CheckOverflow(TotalHeaderSize(params.counts.size()) + memory_size);
if (file_size != util::kBadSize && static_cast<uint64_t>(file_size) < total_map)
UTIL_THROW(FormatLoadException, "Binary file has size " << file_size << " but the headers say it should be at least " << total_map);
diff --git a/lm/binary_format.hh b/lm/binary_format.hh
index dd795f620..bf699d5f4 100644
--- a/lm/binary_format.hh
+++ b/lm/binary_format.hh
@@ -70,7 +70,7 @@ void MatchCheck(ModelType model_type, unsigned int search_version, const Paramet
void SeekPastHeader(int fd, const Parameters &params);
-uint8_t *SetupBinary(const Config &config, const Parameters &params, std::size_t memory_size, Backing &backing);
+uint8_t *SetupBinary(const Config &config, const Parameters &params, uint64_t memory_size, Backing &backing);
void ComplainAboutARPA(const Config &config, ModelType model_type);
@@ -90,7 +90,7 @@ template <class To> void LoadLM(const char *file, const Config &config, To &to)
new_config.probing_multiplier = params.fixed.probing_multiplier;
detail::SeekPastHeader(backing.file.get(), params);
To::UpdateConfigFromBinary(backing.file.get(), params.counts, new_config);
- std::size_t memory_size = To::Size(params.counts, new_config);
+ uint64_t memory_size = To::Size(params.counts, new_config);
uint8_t *start = detail::SetupBinary(new_config, params, memory_size, backing);
to.InitializeFromBinary(start, params, new_config, backing.file.get());
} else {
diff --git a/lm/build_binary.cc b/lm/build_binary.cc
index 49901c9ea..2b8c9d5b2 100644
--- a/lm/build_binary.cc
+++ b/lm/build_binary.cc
@@ -11,6 +11,8 @@
#ifdef WIN32
#include "util/getopt.hh"
+#else
+#include <unistd.h>
#endif
namespace lm {
@@ -85,16 +87,16 @@ void ShowSizes(const char *file, const lm::ngram::Config &config) {
std::vector<uint64_t> counts;
util::FilePiece f(file);
lm::ReadARPACounts(f, counts);
- std::size_t sizes[6];
+ uint64_t sizes[6];
sizes[0] = ProbingModel::Size(counts, config);
sizes[1] = RestProbingModel::Size(counts, config);
sizes[2] = TrieModel::Size(counts, config);
sizes[3] = QuantTrieModel::Size(counts, config);
sizes[4] = ArrayTrieModel::Size(counts, config);
sizes[5] = QuantArrayTrieModel::Size(counts, config);
- std::size_t max_length = *std::max_element(sizes, sizes + sizeof(sizes) / sizeof(size_t));
- std::size_t min_length = *std::min_element(sizes, sizes + sizeof(sizes) / sizeof(size_t));
- std::size_t divide;
+ uint64_t max_length = *std::max_element(sizes, sizes + sizeof(sizes) / sizeof(uint64_t));
+ uint64_t min_length = *std::min_element(sizes, sizes + sizeof(sizes) / sizeof(uint64_t));
+ uint64_t divide;
char prefix;
if (min_length < (1 << 10) * 10) {
prefix = ' ';
diff --git a/lm/left.hh b/lm/left.hh
index 751984c5e..8c27232e5 100644
--- a/lm/left.hh
+++ b/lm/left.hh
@@ -38,6 +38,7 @@
#ifndef LM_LEFT__
#define LM_LEFT__
+#include "lm/max_order.hh"
#include "lm/state.hh"
#include "lm/return.hh"
diff --git a/lm/max_order.cc b/lm/max_order.cc
index 6d4895bd4..94221201c 100644
--- a/lm/max_order.cc
+++ b/lm/max_order.cc
@@ -1,3 +1,4 @@
+#include "lm/max_order.hh"
#include <iostream>
int main(int argc, char *argv[]) {
diff --git a/lm/max_order.hh b/lm/max_order.hh
new file mode 100644
index 000000000..e89f36a18
--- /dev/null
+++ b/lm/max_order.hh
@@ -0,0 +1,12 @@
+/* IF YOUR BUILD SYSTEM PASSES -DKENLM_MAX_ORDER, THEN CHANGE THE BUILD SYSTEM.
+ * If not, this is the default maximum order.
+ * Having this limit means that State can be
+ * (kMaxOrder - 1) * sizeof(float) bytes instead of
+ * sizeof(float*) + (kMaxOrder - 1) * sizeof(float) + malloc overhead
+ */
+#ifndef KENLM_MAX_ORDER
+#define KENLM_MAX_ORDER 6
+#endif
+#ifndef KENLM_ORDER_MESSAGE
+#define KENLM_ORDER_MESSAGE "Recompile with e.g. `bjam --kenlm-max-order=6 -a' to change the maximum order."
+#endif
diff --git a/lm/model.cc b/lm/model.cc
index aace40df9..40af8a637 100644
--- a/lm/model.cc
+++ b/lm/model.cc
@@ -5,12 +5,14 @@
#include "lm/search_hashed.hh"
#include "lm/search_trie.hh"
#include "lm/read_arpa.hh"
+#include "util/have.hh"
#include "util/murmur_hash.hh"
#include <algorithm>
#include <functional>
#include <numeric>
#include <cmath>
+#include <limits>
namespace lm {
namespace ngram {
@@ -18,17 +20,18 @@ namespace detail {
template <class Search, class VocabularyT> const ModelType GenericModel<Search, VocabularyT>::kModelType = Search::kModelType;
-template <class Search, class VocabularyT> size_t GenericModel<Search, VocabularyT>::Size(const std::vector<uint64_t> &counts, const Config &config) {
+template <class Search, class VocabularyT> uint64_t GenericModel<Search, VocabularyT>::Size(const std::vector<uint64_t> &counts, const Config &config) {
return VocabularyT::Size(counts[0], config) + Search::Size(counts, config);
}
template <class Search, class VocabularyT> void GenericModel<Search, VocabularyT>::SetupMemory(void *base, const std::vector<uint64_t> &counts, const Config &config) {
+ size_t goal_size = util::CheckOverflow(Size(counts, config));
uint8_t *start = static_cast<uint8_t*>(base);
size_t allocated = VocabularyT::Size(counts[0], config);
vocab_.SetupMemory(start, allocated, counts[0], config);
start += allocated;
start = search_.SetupMemory(start, counts, config);
- if (static_cast<std::size_t>(start - static_cast<uint8_t*>(base)) != Size(counts, config)) UTIL_THROW(FormatLoadException, "The data structures took " << (start - static_cast<uint8_t*>(base)) << " but Size says they should take " << Size(counts, config));
+ if (static_cast<std::size_t>(start - static_cast<uint8_t*>(base)) != goal_size) UTIL_THROW(FormatLoadException, "The data structures took " << (start - static_cast<uint8_t*>(base)) << " but Size says they should take " << goal_size);
}
template <class Search, class VocabularyT> GenericModel<Search, VocabularyT>::GenericModel(const char *file, const Config &config) {
@@ -47,8 +50,19 @@ template <class Search, class VocabularyT> GenericModel<Search, VocabularyT>::Ge
P::Init(begin_sentence, null_context, vocab_, search_.Order());
}
+namespace {
+void CheckCounts(const std::vector<uint64_t> &counts) {
+ UTIL_THROW_IF(counts.size() > KENLM_MAX_ORDER, FormatLoadException, "This model has order " << counts.size() << " but KenLM was compiled to support up to " << KENLM_MAX_ORDER << ". " << KENLM_ORDER_MESSAGE);
+ if (sizeof(uint64_t) > sizeof(std::size_t)) {
+ for (std::vector<uint64_t>::const_iterator i = counts.begin(); i != counts.end(); ++i) {
+ UTIL_THROW_IF(*i > static_cast<uint64_t>(std::numeric_limits<size_t>::max()), util::OverflowException, "This model has " << *i << " " << (i - counts.begin() + 1) << "-grams which is too many for 32-bit machines.");
+ }
+ }
+}
+} // namespace
+
template <class Search, class VocabularyT> void GenericModel<Search, VocabularyT>::InitializeFromBinary(void *start, const Parameters &params, const Config &config, int fd) {
- UTIL_THROW_IF(params.counts.size() > KENLM_MAX_ORDER, FormatLoadException, "This model has order " << params.counts.size() << ". Re-compile (use -a), passing a number at least this large to bjam's --max-kenlm-order flag.");
+ CheckCounts(params.counts);
SetupMemory(start, params.counts, config);
vocab_.LoadedBinary(params.fixed.has_vocabulary, fd, config.enumerate_vocab);
search_.LoadedBinary();
@@ -61,12 +75,11 @@ template <class Search, class VocabularyT> void GenericModel<Search, VocabularyT
std::vector<uint64_t> counts;
// File counts do not include pruned trigrams that extend to quadgrams etc. These will be fixed by search_.
ReadARPACounts(f, counts);
-
- UTIL_THROW_IF(counts.size() > KENLM_MAX_ORDER, FormatLoadException, "This model has order " << counts.size() << ". Re-compile (use -a), passing a number at least this large to bjam's --max-kenlm-order flag.");
+ CheckCounts(counts);
if (counts.size() < 2) UTIL_THROW(FormatLoadException, "This ngram implementation assumes at least a bigram model.");
if (config.probing_multiplier <= 1.0) UTIL_THROW(ConfigException, "probing multiplier must be > 1.0");
- std::size_t vocab_size = VocabularyT::Size(counts[0], config);
+ std::size_t vocab_size = util::CheckOverflow(VocabularyT::Size(counts[0], config));
// Setup the binary file for writing the vocab lookup table. The search_ is responsible for growing the binary file to its needs.
vocab_.SetupMemory(SetupJustVocab(config, counts.size(), vocab_size, backing_), vocab_size, counts[0], config);
diff --git a/lm/model.hh b/lm/model.hh
index 6dee94196..13ff864e1 100644
--- a/lm/model.hh
+++ b/lm/model.hh
@@ -41,7 +41,7 @@ template <class Search, class VocabularyT> class GenericModel : public base::Mod
* does not include small non-mapped control structures, such as this class
* itself.
*/
- static size_t Size(const std::vector<uint64_t> &counts, const Config &config = Config());
+ static uint64_t Size(const std::vector<uint64_t> &counts, const Config &config = Config());
/* Load the model from a file. It may be an ARPA or binary file. Binary
* files must have the format expected by this class or you'll get an
diff --git a/lm/quantize.hh b/lm/quantize.hh
index 36c427272..8ce2378a7 100644
--- a/lm/quantize.hh
+++ b/lm/quantize.hh
@@ -3,6 +3,7 @@
#include "lm/blank.hh"
#include "lm/config.hh"
+#include "lm/max_order.hh"
#include "lm/model_type.hh"
#include "util/bit_packing.hh"
@@ -23,7 +24,7 @@ class DontQuantize {
public:
static const ModelType kModelTypeAdd = static_cast<ModelType>(0);
static void UpdateConfigFromBinary(int, const std::vector<uint64_t> &, Config &) {}
- static std::size_t Size(uint8_t /*order*/, const Config &/*config*/) { return 0; }
+ static uint64_t Size(uint8_t /*order*/, const Config &/*config*/) { return 0; }
static uint8_t MiddleBits(const Config &/*config*/) { return 63; }
static uint8_t LongestBits(const Config &/*config*/) { return 31; }
@@ -137,9 +138,9 @@ class SeparatelyQuantize {
static void UpdateConfigFromBinary(int fd, const std::vector<uint64_t> &counts, Config &config);
- static std::size_t Size(uint8_t order, const Config &config) {
- size_t longest_table = (static_cast<size_t>(1) << static_cast<size_t>(config.prob_bits)) * sizeof(float);
- size_t middle_table = (static_cast<size_t>(1) << static_cast<size_t>(config.backoff_bits)) * sizeof(float) + longest_table;
+ static uint64_t Size(uint8_t order, const Config &config) {
+ uint64_t longest_table = (static_cast<uint64_t>(1) << static_cast<uint64_t>(config.prob_bits)) * sizeof(float);
+ uint64_t middle_table = (static_cast<uint64_t>(1) << static_cast<uint64_t>(config.backoff_bits)) * sizeof(float) + longest_table;
// unigrams are currently not quantized so no need for a table.
return (order - 2) * middle_table + longest_table + /* for the bit counts and alignment padding) */ 8;
}
diff --git a/lm/read_arpa.cc b/lm/read_arpa.cc
index 70727e4cb..b709fef94 100644
--- a/lm/read_arpa.cc
+++ b/lm/read_arpa.cc
@@ -2,12 +2,13 @@
#include "lm/blank.hh"
+#include <cmath>
#include <cstdlib>
#include <iostream>
+#include <sstream>
#include <vector>
#include <ctype.h>
-#include <math.h>
#include <string.h>
#include <stdint.h>
@@ -31,6 +32,15 @@ bool IsEntirelyWhiteSpace(const StringPiece &line) {
const char kBinaryMagic[] = "mmap lm http://kheafield.com/code";
+// strtoull isn't portable enough :-(
+uint64_t ReadCount(const std::string &from) {
+ std::stringstream stream(from);
+ uint64_t ret;
+ stream >> ret;
+ UTIL_THROW_IF(!stream, FormatLoadException, "Bad count " << from);
+ return ret;
+}
+
} // namespace
void ReadARPACounts(util::FilePiece &in, std::vector<uint64_t> &number) {
@@ -52,15 +62,11 @@ void ReadARPACounts(util::FilePiece &in, std::vector<uint64_t> &number) {
// So strtol doesn't go off the end of line.
std::string remaining(line.data() + 6, line.size() - 6);
char *end_ptr;
- unsigned long int length = std::strtol(remaining.c_str(), &end_ptr, 10);
+ unsigned int length = std::strtol(remaining.c_str(), &end_ptr, 10);
if ((end_ptr == remaining.c_str()) || (length - 1 != number.size())) UTIL_THROW(FormatLoadException, "ngram count lengths should be consecutive starting with 1: " << line);
if (*end_ptr != '=') UTIL_THROW(FormatLoadException, "Expected = immediately following the first number in the count line " << line);
++end_ptr;
- const char *start = end_ptr;
- long int count = std::strtol(start, &end_ptr, 10);
- if (count < 0) UTIL_THROW(FormatLoadException, "Negative n-gram count " << count);
- if (start == end_ptr) UTIL_THROW(FormatLoadException, "Couldn't parse n-gram count from " << line);
- number.push_back(count);
+ number.push_back(ReadCount(end_ptr));
}
}
@@ -103,7 +109,7 @@ void ReadBackoff(util::FilePiece &in, float &backoff) {
int float_class = _fpclass(backoff);
UTIL_THROW_IF(float_class == _FPCLASS_SNAN || float_class == _FPCLASS_QNAN || float_class == _FPCLASS_NINF || float_class == _FPCLASS_PINF, FormatLoadException, "Bad backoff " << backoff);
#else
- int float_class = fpclassify(backoff);
+ int float_class = std::fpclassify(backoff);
UTIL_THROW_IF(float_class == FP_NAN || float_class == FP_INFINITE, FormatLoadException, "Bad backoff " << backoff);
#endif
}
diff --git a/lm/search_hashed.hh b/lm/search_hashed.hh
index 7e8c12206..3bcde9214 100644
--- a/lm/search_hashed.hh
+++ b/lm/search_hashed.hh
@@ -74,8 +74,8 @@ template <class Value> class HashedSearch {
// TODO: move probing_multiplier here with next binary file format update.
static void UpdateConfigFromBinary(int, const std::vector<uint64_t> &, Config &) {}
- static std::size_t Size(const std::vector<uint64_t> &counts, const Config &config) {
- std::size_t ret = Unigram::Size(counts[0]);
+ static uint64_t Size(const std::vector<uint64_t> &counts, const Config &config) {
+ uint64_t ret = Unigram::Size(counts[0]);
for (unsigned char n = 1; n < counts.size() - 1; ++n) {
ret += Middle::Size(counts[n], config.probing_multiplier);
}
@@ -160,7 +160,7 @@ template <class Value> class HashedSearch {
#endif
{}
- static std::size_t Size(uint64_t count) {
+ static uint64_t Size(uint64_t count) {
return (count + 1) * sizeof(ProbBackoff); // +1 for hallucinate <unk>
}
diff --git a/lm/search_trie.cc b/lm/search_trie.cc
index 9a3e96916..debcfd077 100644
--- a/lm/search_trie.cc
+++ b/lm/search_trie.cc
@@ -5,6 +5,7 @@
#include "lm/binary_format.hh"
#include "lm/blank.hh"
#include "lm/lm_exception.hh"
+#include "lm/max_order.hh"
#include "lm/quantize.hh"
#include "lm/trie.hh"
#include "lm/trie_sort.hh"
@@ -88,7 +89,7 @@ class BackoffMessages {
if (!HasExtension(weights.backoff)) {
weights.backoff = kExtensionBackoff;
UTIL_THROW_IF(fseek(unigrams, -sizeof(weights), SEEK_CUR), util::ErrnoException, "Seeking backwards to denote unigram extension failed.");
- WriteOrThrow(unigrams, &weights, sizeof(weights));
+ util::WriteOrThrow(unigrams, &weights, sizeof(weights));
}
const ProbPointer &write_to = *reinterpret_cast<const ProbPointer*>(current_ + sizeof(WordIndex));
base[write_to.array][write_to.index] += weights.backoff;
diff --git a/lm/search_trie.hh b/lm/search_trie.hh
index 10b22ab18..1264baf5a 100644
--- a/lm/search_trie.hh
+++ b/lm/search_trie.hh
@@ -44,8 +44,8 @@ template <class Quant, class Bhiksha> class TrieSearch {
Bhiksha::UpdateConfigFromBinary(fd, config);
}
- static std::size_t Size(const std::vector<uint64_t> &counts, const Config &config) {
- std::size_t ret = Quant::Size(counts.size(), config) + Unigram::Size(counts[0]);
+ static uint64_t Size(const std::vector<uint64_t> &counts, const Config &config) {
+ uint64_t ret = Quant::Size(counts.size(), config) + Unigram::Size(counts[0]);
for (unsigned char i = 1; i < counts.size() - 1; ++i) {
ret += Middle::Size(Quant::MiddleBits(config), counts[i], counts[0], counts[i+1], config);
}
diff --git a/lm/state.hh b/lm/state.hh
index 3dbf617bf..830e40aa2 100644
--- a/lm/state.hh
+++ b/lm/state.hh
@@ -1,6 +1,7 @@
#ifndef LM_STATE__
#define LM_STATE__
+#include "lm/max_order.hh"
#include "lm/word_index.hh"
#include "util/murmur_hash.hh"
diff --git a/lm/trie.cc b/lm/trie.cc
index 0f1ca574b..d9895f89d 100644
--- a/lm/trie.cc
+++ b/lm/trie.cc
@@ -36,7 +36,7 @@ bool FindBitPacked(const void *base, uint64_t key_mask, uint8_t key_bits, uint8_
}
} // namespace
-std::size_t BitPacked::BaseSize(uint64_t entries, uint64_t max_vocab, uint8_t remaining_bits) {
+uint64_t BitPacked::BaseSize(uint64_t entries, uint64_t max_vocab, uint8_t remaining_bits) {
uint8_t total_bits = util::RequiredBits(max_vocab) + remaining_bits;
// Extra entry for next pointer at the end.
// +7 then / 8 to round up bits and convert to bytes
@@ -57,7 +57,7 @@ void BitPacked::BaseInit(void *base, uint64_t max_vocab, uint8_t remaining_bits)
max_vocab_ = max_vocab;
}
-template <class Bhiksha> std::size_t BitPackedMiddle<Bhiksha>::Size(uint8_t quant_bits, uint64_t entries, uint64_t max_vocab, uint64_t max_ptr, const Config &config) {
+template <class Bhiksha> uint64_t BitPackedMiddle<Bhiksha>::Size(uint8_t quant_bits, uint64_t entries, uint64_t max_vocab, uint64_t max_ptr, const Config &config) {
return Bhiksha::Size(entries + 1, max_ptr, config) + BaseSize(entries, max_vocab, quant_bits + Bhiksha::InlineBits(entries + 1, max_ptr, config));
}
diff --git a/lm/trie.hh b/lm/trie.hh
index 034a14144..9ea3c5466 100644
--- a/lm/trie.hh
+++ b/lm/trie.hh
@@ -49,7 +49,7 @@ class Unigram {
unigram_ = static_cast<UnigramValue*>(start);
}
- static std::size_t Size(uint64_t count) {
+ static uint64_t Size(uint64_t count) {
// +1 in case unknown doesn't appear. +1 for the final next.
return (count + 2) * sizeof(UnigramValue);
}
@@ -84,7 +84,7 @@ class BitPacked {
}
protected:
- static std::size_t BaseSize(uint64_t entries, uint64_t max_vocab, uint8_t remaining_bits);
+ static uint64_t BaseSize(uint64_t entries, uint64_t max_vocab, uint8_t remaining_bits);
void BaseInit(void *base, uint64_t max_vocab, uint8_t remaining_bits);
@@ -99,7 +99,7 @@ class BitPacked {
template <class Bhiksha> class BitPackedMiddle : public BitPacked {
public:
- static std::size_t Size(uint8_t quant_bits, uint64_t entries, uint64_t max_vocab, uint64_t max_next, const Config &config);
+ static uint64_t Size(uint8_t quant_bits, uint64_t entries, uint64_t max_vocab, uint64_t max_next, const Config &config);
// next_source need not be initialized.
BitPackedMiddle(void *base, uint8_t quant_bits, uint64_t entries, uint64_t max_vocab, uint64_t max_next, const BitPacked &next_source, const Config &config);
@@ -128,7 +128,7 @@ template <class Bhiksha> class BitPackedMiddle : public BitPacked {
class BitPackedLongest : public BitPacked {
public:
- static std::size_t Size(uint8_t quant_bits, uint64_t entries, uint64_t max_vocab) {
+ static uint64_t Size(uint8_t quant_bits, uint64_t entries, uint64_t max_vocab) {
return BaseSize(entries, max_vocab, quant_bits);
}
diff --git a/lm/trie_sort.cc b/lm/trie_sort.cc
index 0d83221e2..8663e94e1 100644
--- a/lm/trie_sort.cc
+++ b/lm/trie_sort.cc
@@ -22,12 +22,6 @@
namespace lm {
namespace ngram {
namespace trie {
-
-void WriteOrThrow(FILE *to, const void *data, size_t size) {
- assert(size);
- if (1 != std::fwrite(data, size, 1, to)) UTIL_THROW(util::ErrnoException, "Short write; requested size " << size);
-}
-
namespace {
typedef util::SizedIterator NGramIter;
@@ -95,12 +89,12 @@ FILE *WriteContextFile(uint8_t *begin, uint8_t *end, const util::TempMaker &make
// Write out to file and uniqueify at the same time. Could have used unique_copy if there was an appropriate OutputIterator.
if (context_begin == context_end) return out.release();
PartialIter i(context_begin);
- WriteOrThrow(out.get(), i->Data(), context_size);
+ util::WriteOrThrow(out.get(), i->Data(), context_size);
const void *previous = i->Data();
++i;
for (; i != context_end; ++i) {
if (memcmp(previous, i->Data(), context_size)) {
- WriteOrThrow(out.get(), i->Data(), context_size);
+ util::WriteOrThrow(out.get(), i->Data(), context_size);
previous = i->Data();
}
}
@@ -116,7 +110,7 @@ struct ThrowCombine {
// Useful for context files that just contain records with no value.
struct FirstCombine {
void operator()(std::size_t entry_size, const void *first, const void * /*second*/, FILE *out) const {
- WriteOrThrow(out, first, entry_size);
+ util::WriteOrThrow(out, first, entry_size);
}
};
@@ -129,10 +123,10 @@ template <class Combine> FILE *MergeSortedFiles(FILE *first_file, FILE *second_f
EntryCompare less(order);
while (first && second) {
if (less(first.Data(), second.Data())) {
- WriteOrThrow(out_file.get(), first.Data(), entry_size);
+ util::WriteOrThrow(out_file.get(), first.Data(), entry_size);
++first;
} else if (less(second.Data(), first.Data())) {
- WriteOrThrow(out_file.get(), second.Data(), entry_size);
+ util::WriteOrThrow(out_file.get(), second.Data(), entry_size);
++second;
} else {
combine(entry_size, first.Data(), second.Data(), out_file.get());
@@ -140,7 +134,7 @@ template <class Combine> FILE *MergeSortedFiles(FILE *first_file, FILE *second_f
}
}
for (RecordReader &remains = (first ? first : second); remains; ++remains) {
- WriteOrThrow(out_file.get(), remains.Data(), entry_size);
+ util::WriteOrThrow(out_file.get(), remains.Data(), entry_size);
}
return out_file.release();
}
@@ -164,7 +158,7 @@ void RecordReader::Init(FILE *file, std::size_t entry_size) {
void RecordReader::Overwrite(const void *start, std::size_t amount) {
long internal = (uint8_t*)start - (uint8_t*)data_.get();
UTIL_THROW_IF(fseek(file_, internal - entry_size_, SEEK_CUR), util::ErrnoException, "Couldn't seek backwards for revision");
- WriteOrThrow(file_, start, amount);
+ util::WriteOrThrow(file_, start, amount);
long forward = entry_size_ - internal - amount;
#if !defined(_WIN32) && !defined(_WIN64)
if (forward)
diff --git a/lm/trie_sort.hh b/lm/trie_sort.hh
index c1be9bfc4..2197b80ce 100644
--- a/lm/trie_sort.hh
+++ b/lm/trie_sort.hh
@@ -3,6 +3,7 @@
#ifndef LM_TRIE_SORT__
#define LM_TRIE_SORT__
+#include "lm/max_order.hh"
#include "lm/word_index.hh"
#include "util/file.hh"
@@ -28,8 +29,6 @@ struct Config;
namespace trie {
-void WriteOrThrow(FILE *to, const void *data, size_t size);
-
class EntryCompare : public std::binary_function<const void*, const void*, bool> {
public:
explicit EntryCompare(unsigned char order) : order_(order) {}
diff --git a/lm/vocab.cc b/lm/vocab.cc
index 5de68f16e..398475bee 100644
--- a/lm/vocab.cc
+++ b/lm/vocab.cc
@@ -87,7 +87,7 @@ void WriteWordsWrapper::Write(int fd) {
SortedVocabulary::SortedVocabulary() : begin_(NULL), end_(NULL), enumerate_(NULL) {}
-std::size_t SortedVocabulary::Size(std::size_t entries, const Config &/*config*/) {
+uint64_t SortedVocabulary::Size(uint64_t entries, const Config &/*config*/) {
// Lead with the number of entries.
return sizeof(uint64_t) + sizeof(uint64_t) * entries;
}
@@ -165,7 +165,7 @@ struct ProbingVocabularyHeader {
ProbingVocabulary::ProbingVocabulary() : enumerate_(NULL) {}
-std::size_t ProbingVocabulary::Size(std::size_t entries, const Config &config) {
+uint64_t ProbingVocabulary::Size(uint64_t entries, const Config &config) {
return ALIGN8(sizeof(detail::ProbingVocabularyHeader)) + Lookup::Size(entries, config.probing_multiplier);
}
diff --git a/lm/vocab.hh b/lm/vocab.hh
index a25432f97..074cd446e 100644
--- a/lm/vocab.hh
+++ b/lm/vocab.hh
@@ -62,7 +62,7 @@ class SortedVocabulary : public base::Vocabulary {
}
// Size for purposes of file writing
- static size_t Size(std::size_t entries, const Config &config);
+ static uint64_t Size(uint64_t entries, const Config &config);
// Vocab words are [0, Bound()) Only valid after FinishedLoading/LoadedBinary.
WordIndex Bound() const { return bound_; }
@@ -129,7 +129,7 @@ class ProbingVocabulary : public base::Vocabulary {
return lookup_.Find(detail::HashForVocab(str), i) ? i->value : 0;
}
- static size_t Size(std::size_t entries, const Config &config);
+ static uint64_t Size(uint64_t entries, const Config &config);
// Vocab words are [0, Bound()).
WordIndex Bound() const { return bound_; }
diff --git a/mert/PermutationScorer.cpp b/mert/PermutationScorer.cpp
index c6588eec7..12025a77e 100644
--- a/mert/PermutationScorer.cpp
+++ b/mert/PermutationScorer.cpp
@@ -225,12 +225,12 @@ void PermutationScorer::prepareStats(size_t sid, const string& text, ScoreStats&
//SCOREROUT eg: 0.04546
distanceValue*=SCORE_MULTFACT; //SCOREROUT eg: 4546 to transform float into integer
ostringstream tempStream;
- tempStream.precision(SCORE_PRECISION);
- tempStream << distanceValue << " 1"; //use for final normalization over the amount of test sentences
+ tempStream.precision(0); // decimal precision not needed as score was multiplied per SCORE_MULTFACT
+ tempStream << std::fixed << distanceValue << " 1"; //use for final normalization over the amount of test sentences
string str = tempStream.str();
entry.set(str);
- //cout << tempStream.str();
+//cout << distanceValue << "=" << distanceValue << " (str:" << tempStream.str() << ")" << endl;
}
//Will just be final score
diff --git a/misc/queryPhraseTableMin.cpp b/misc/queryPhraseTableMin.cpp
index 02d889598..f8f2d06f7 100644
--- a/misc/queryPhraseTableMin.cpp
+++ b/misc/queryPhraseTableMin.cpp
@@ -49,6 +49,16 @@ int main(int argc, char **argv)
LMList lmList;
+ Parameter *parameter = new Parameter();
+ const_cast<std::vector<std::string>&>(parameter->GetParam("factor-delimiter")).resize(1, "||dummy_string||");
+ const_cast<std::vector<std::string>&>(parameter->GetParam("input-factors")).resize(1, "0");
+ const_cast<std::vector<std::string>&>(parameter->GetParam("verbose")).resize(1, "0");
+ const_cast<std::vector<std::string>&>(parameter->GetParam("weight-w")).resize(1, "0");
+ const_cast<std::vector<std::string>&>(parameter->GetParam("weight-d")).resize(1, "0");
+
+ const_cast<StaticData&>(StaticData::Instance()).LoadData(parameter);
+
+
PhraseDictionaryFeature pdf(Compact, nscores, nscores, input, output, ttable, weight, 0, "", "");
PhraseDictionaryCompact pdc(nscores, Compact, &pdf, false, useAlignments);
bool ret = pdc.Load(input, output, ttable, weight, 0, lmList, 0);
@@ -74,7 +84,8 @@ int main(int argc, char **argv)
if(useAlignments)
std::cout << " " << tp.GetAlignmentInfo() << "|||";
- for(size_t i = 0; i < tp.GetScoreBreakdown().size(); i++)
+ size_t offset = tp.GetScoreBreakdown().size() - nscores;
+ for(size_t i = offset; i < tp.GetScoreBreakdown().size(); i++)
std::cout << " " << exp(tp.GetScoreBreakdown()[i]);
std::cout << std::endl;
}
diff --git a/moses-chart-cmd/src/IOWrapper.cpp b/moses-chart-cmd/src/IOWrapper.cpp
index f6adcd7fc..f8ae9c51c 100644
--- a/moses-chart-cmd/src/IOWrapper.cpp
+++ b/moses-chart-cmd/src/IOWrapper.cpp
@@ -72,7 +72,6 @@ IOWrapper::IOWrapper(const std::vector<FactorType> &inputFactorOrder
,m_nBestOutputCollector(NULL)
,m_searchGraphOutputCollector(NULL)
,m_singleBestOutputCollector(NULL)
- ,m_alignmentOutputCollector(NULL)
{
const StaticData &staticData = StaticData::Instance();
@@ -113,15 +112,6 @@ IOWrapper::IOWrapper(const std::vector<FactorType> &inputFactorOrder
m_detailedTranslationReportingStream = new std::ofstream(path.c_str());
m_detailOutputCollector = new Moses::OutputCollector(m_detailedTranslationReportingStream);
}
-
- if (staticData.PrintAlignmentInfo()) {
- if (staticData.GetAlignmentOutputFile().empty()) {
- m_alignmentOutputCollector = new Moses::OutputCollector(&std::cout);
- } else {
- m_alignmentOutputCollector = new Moses::OutputCollector(new std::ofstream(staticData.GetAlignmentOutputFile().c_str()));
- m_alignmentOutputCollector->HoldOutputStream();
- }
- }
}
IOWrapper::~IOWrapper()
@@ -135,7 +125,6 @@ IOWrapper::~IOWrapper()
delete m_nBestOutputCollector;
delete m_searchGraphOutputCollector;
delete m_singleBestOutputCollector;
- delete m_alignmentOutputCollector;
}
void IOWrapper::ResetTranslationId() {
@@ -199,86 +188,6 @@ void OutputSurface(std::ostream &out, const ChartHypothesis *hypo, const std::ve
}
}
}
-
-namespace {
- typedef std::vector< std::pair<size_t, size_t> > WordAlignment;
-
- bool IsUnknownWord(const Word& word) {
- const Factor* factor = word[MAX_NUM_FACTORS - 1];
- if (factor == NULL)
- return false;
- return factor->GetString() == UNKNOWN_FACTOR;
- }
-
- WordAlignment GetWordAlignment(const Moses::ChartHypothesis *hypo, size_t *targetWordsCount)
- {
- const Moses::TargetPhrase& targetPhrase = hypo->GetCurrTargetPhrase();
- const AlignmentInfo& phraseAlignmentInfo = targetPhrase.GetAlignmentInfo();
- size_t sourceSize = 0;
- for (AlignmentInfo::const_iterator it = phraseAlignmentInfo.begin();
- it != phraseAlignmentInfo.end(); ++it)
- {
- sourceSize = std::max(sourceSize, it->first + 1);
- }
- std::vector<size_t> sourceSideLengths(sourceSize, 1);
- std::vector<size_t> targetSideLengths(targetPhrase.GetSize(), 1);
- std::vector<WordAlignment> alignmentsPerSourceNonTerm(sourceSize);
- size_t prevHypoIndex = 0;
- for (AlignmentInfo::const_iterator it = phraseAlignmentInfo.begin();
- it != phraseAlignmentInfo.end(); ++it)
- {
- if (targetPhrase.GetWord(it->second).IsNonTerminal()) {
- const Moses::ChartHypothesis *prevHypo = hypo->GetPrevHypo(prevHypoIndex);
- ++prevHypoIndex;
- alignmentsPerSourceNonTerm[it->first] = GetWordAlignment(
- prevHypo, &targetSideLengths[it->second]);
- sourceSideLengths[it->first] = prevHypo->GetCurrSourceRange().GetNumWordsCovered();
- CHECK(prevHypo->GetCurrSourceRange().GetStartPos() - hypo->GetCurrSourceRange().GetStartPos()
- == (int)std::accumulate(sourceSideLengths.begin(), sourceSideLengths.begin() + it->first, 0));
- } else {
- alignmentsPerSourceNonTerm[it->first].push_back(WordAlignment::value_type(0, 0));
- }
- }
- if (targetWordsCount != NULL) {
- *targetWordsCount = std::accumulate(targetSideLengths.begin(), targetSideLengths.end(), 0);
- }
- // isn't valid since there may be unaligned words: CHECK(hypo->GetCurrSourceRange().GetNumWordsCovered() == std::accumulate(sourceSideLengths.begin(), sourceSideLengths.end(), 0));
- WordAlignment result;
- for (AlignmentInfo::const_iterator it = phraseAlignmentInfo.begin();
- it != phraseAlignmentInfo.end(); ++it)
- {
- size_t sourceOffset = std::accumulate(sourceSideLengths.begin(), sourceSideLengths.begin() + it->first, 0);
- size_t targetOffset = std::accumulate(targetSideLengths.begin(), targetSideLengths.begin() + it->second, 0);
- for (WordAlignment::const_iterator it2 = alignmentsPerSourceNonTerm[it->first].begin();
- it2 != alignmentsPerSourceNonTerm[it->first].end(); ++it2)
- {
- result.push_back(make_pair(sourceOffset + it2->first, targetOffset + it2->second));
- }
- }
- if (result.empty() && targetPhrase.GetSize() == 1 && hypo->GetCurrSourceRange().GetNumWordsCovered() == 1 && IsUnknownWord(targetPhrase.GetWord(0))) {
- result.push_back(WordAlignment::value_type(0, 0));
- }
- return result;
- }
-}
-
-
-void IOWrapper::OutputAlignment(const Moses::ChartHypothesis *hypo, long translationId)
-{
- if (m_alignmentOutputCollector == NULL)
- return;
- WordAlignment alignment = GetWordAlignment(hypo, NULL);
- std::ostringstream out;
- for (WordAlignment::const_iterator it = alignment.begin();
- it != alignment.end(); ++it)
- {
- if (it != alignment.begin())
- out << " ";
- out << it->first << "-" << it->second;
- }
- out << std::endl;
- m_alignmentOutputCollector->Write(static_cast<int>(translationId), out.str());
-}
void IOWrapper::Backtrack(const ChartHypothesis *hypo)
{
diff --git a/moses-chart-cmd/src/IOWrapper.h b/moses-chart-cmd/src/IOWrapper.h
index 31434d806..2a845f29d 100644
--- a/moses-chart-cmd/src/IOWrapper.h
+++ b/moses-chart-cmd/src/IOWrapper.h
@@ -74,7 +74,6 @@ protected:
Moses::OutputCollector *m_nBestOutputCollector;
Moses::OutputCollector *m_searchGraphOutputCollector;
Moses::OutputCollector *m_singleBestOutputCollector;
- Moses::OutputCollector *m_alignmentOutputCollector;
public:
IOWrapper(const std::vector<Moses::FactorType> &inputFactorOrder
@@ -91,7 +90,6 @@ public:
void OutputNBestList(const Moses::ChartTrellisPathList &nBestList, const Moses::ChartHypothesis *bestHypo, const Moses::TranslationSystem* system, long translationId);
void OutputSparseFeatureScores(std::ostream& out, const Moses::ChartTrellisPath &path, const Moses::FeatureFunction *ff, std::string &lastName);
void OutputDetailedTranslationReport(const Moses::ChartHypothesis *hypo, const Moses::Sentence &sentence, long translationId);
- void OutputAlignment(const Moses::ChartHypothesis *hypo, long translationId);
void Backtrack(const Moses::ChartHypothesis *hypo);
void ResetTranslationId();
diff --git a/moses-chart-cmd/src/Main.cpp b/moses-chart-cmd/src/Main.cpp
index ef95922fe..607a6eb00 100644
--- a/moses-chart-cmd/src/Main.cpp
+++ b/moses-chart-cmd/src/Main.cpp
@@ -58,6 +58,8 @@ POSSIBILITY OF SUCH DAMAGE.
#include "ChartTrellisPath.h"
#include "ChartTrellisPathList.h"
+#include "util/usage.hh"
+
using namespace std;
using namespace Moses;
using namespace MosesChartCmd;
@@ -103,10 +105,6 @@ public:
const Sentence &sentence = dynamic_cast<const Sentence &>(*m_source);
m_ioWrapper.OutputDetailedTranslationReport(bestHypo, sentence, lineNumber);
}
-
- if (staticData.PrintAlignmentInfo()) {
- m_ioWrapper.OutputAlignment(bestHypo, lineNumber);
- }
// n-best
size_t nBestSize = staticData.GetNBestSize();
@@ -278,6 +276,8 @@ int main(int argc, char* argv[])
return EXIT_FAILURE;
}
+ IFVERBOSE(1) util::PrintUsage(std::cerr);
+
#ifdef HACK_EXIT
//This avoids that detructors are called (it can take a long time)
exit(EXIT_SUCCESS);
diff --git a/moses-cmd/src/Main.cpp b/moses-cmd/src/Main.cpp
index f75a56b2c..891be4167 100644
--- a/moses-cmd/src/Main.cpp
+++ b/moses-cmd/src/Main.cpp
@@ -28,6 +28,8 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
#include <sstream>
#include <vector>
+#include "util/usage.hh"
+
#ifdef WIN32
// Include Visual Leak Detector
//#include <vld.h>
@@ -537,6 +539,8 @@ int main(int argc, char** argv)
return EXIT_FAILURE;
}
+ IFVERBOSE(1) util::PrintUsage(std::cerr);
+
#ifndef EXIT_RETURN
//This avoids that destructors are called (it can take a long time)
exit(EXIT_SUCCESS);
diff --git a/moses/src/AlignmentInfo.cpp b/moses/src/AlignmentInfo.cpp
index 959e7591f..3af17870e 100644
--- a/moses/src/AlignmentInfo.cpp
+++ b/moses/src/AlignmentInfo.cpp
@@ -26,7 +26,7 @@ namespace Moses
{
void AlignmentInfo::BuildNonTermIndexMap()
-{
+{
if (m_collection.empty()) {
return;
}
@@ -40,9 +40,9 @@ void AlignmentInfo::BuildNonTermIndexMap()
m_nonTermIndexMap.resize(maxIndex+1, NOT_FOUND);
size_t i = 0;
for (p = begin(); p != end(); ++p) {
- //std::cerr << "nt point: " << p->second << " -> " << i << std::endl;
- m_nonTermIndexMap[p->second] = i++;
+ m_nonTermIndexMap[p->second] = i++;
}
+
}
bool compare_target(const std::pair<size_t,size_t> *a, const std::pair<size_t,size_t> *b) {
diff --git a/moses/src/CYKPlusParser/ChartRuleLookupManagerMemory.cpp b/moses/src/CYKPlusParser/ChartRuleLookupManagerMemory.cpp
index 904d536e1..57ab61b29 100644
--- a/moses/src/CYKPlusParser/ChartRuleLookupManagerMemory.cpp
+++ b/moses/src/CYKPlusParser/ChartRuleLookupManagerMemory.cpp
@@ -165,8 +165,6 @@ void ChartRuleLookupManagerMemory::GetChartRuleCollection(
}
dottedRuleCol.Clear(relEndPos+1);
-
- outColl.ShrinkToLimit();
}
// Given a partial rule application ending at startPos-1 and given the sets of
diff --git a/moses/src/CYKPlusParser/ChartRuleLookupManagerMemoryPerSentence.cpp b/moses/src/CYKPlusParser/ChartRuleLookupManagerMemoryPerSentence.cpp
index e504a24d7..ca2e1d395 100644
--- a/moses/src/CYKPlusParser/ChartRuleLookupManagerMemoryPerSentence.cpp
+++ b/moses/src/CYKPlusParser/ChartRuleLookupManagerMemoryPerSentence.cpp
@@ -165,8 +165,6 @@ void ChartRuleLookupManagerMemoryPerSentence::GetChartRuleCollection(
}
dottedRuleCol.Clear(relEndPos+1);
-
- outColl.ShrinkToLimit();
}
// Given a partial rule application ending at startPos-1 and given the sets of
diff --git a/moses/src/CYKPlusParser/ChartRuleLookupManagerOnDisk.cpp b/moses/src/CYKPlusParser/ChartRuleLookupManagerOnDisk.cpp
index 0cf3c836b..80e508176 100644
--- a/moses/src/CYKPlusParser/ChartRuleLookupManagerOnDisk.cpp
+++ b/moses/src/CYKPlusParser/ChartRuleLookupManagerOnDisk.cpp
@@ -268,8 +268,6 @@ void ChartRuleLookupManagerOnDisk::GetChartRuleCollection(
}
} // for (size_t ind = 0; ind < savedNodeColl.size(); ++ind)
- outColl.ShrinkToLimit();
-
//cerr << numDerivations << " ";
}
diff --git a/moses/src/ChartHypothesis.cpp b/moses/src/ChartHypothesis.cpp
index 7a76e063e..24d9838db 100644
--- a/moses/src/ChartHypothesis.cpp
+++ b/moses/src/ChartHypothesis.cpp
@@ -92,6 +92,7 @@ ChartHypothesis::~ChartHypothesis()
*/
void ChartHypothesis::CreateOutputPhrase(Phrase &outPhrase) const
{
+
for (size_t pos = 0; pos < GetCurrTargetPhrase().GetSize(); ++pos) {
const Word &word = GetCurrTargetPhrase().GetWord(pos);
if (word.IsNonTerminal()) {
diff --git a/moses/src/ChartTranslationOptionList.cpp b/moses/src/ChartTranslationOptionList.cpp
index 41b059239..eb2add105 100644
--- a/moses/src/ChartTranslationOptionList.cpp
+++ b/moses/src/ChartTranslationOptionList.cpp
@@ -98,8 +98,7 @@ void ChartTranslationOptionList::Add(const TargetPhraseCollection &tpc,
}
}
-void ChartTranslationOptionList::ShrinkToLimit()
-{
+void ChartTranslationOptionList::ApplyThreshold() {
if (m_size > m_ruleLimit) {
// Something's gone wrong if the list has grown to m_ruleLimit * 2
// without being pruned.
@@ -112,10 +111,7 @@ void ChartTranslationOptionList::ShrinkToLimit()
ChartTranslationOptionOrderer());
m_size = m_ruleLimit;
}
-}
-void ChartTranslationOptionList::ApplyThreshold()
-{
// keep only those over best + threshold
float scoreThreshold = -std::numeric_limits<float>::infinity();
diff --git a/moses/src/ChartTranslationOptionList.h b/moses/src/ChartTranslationOptionList.h
index 3bd56c2a3..3197037c6 100644
--- a/moses/src/ChartTranslationOptionList.h
+++ b/moses/src/ChartTranslationOptionList.h
@@ -46,7 +46,6 @@ class ChartTranslationOptionList
const WordsRange &);
void Clear();
- void ShrinkToLimit();
void ApplyThreshold();
private:
diff --git a/moses/src/ChartTrellisNode.cpp b/moses/src/ChartTrellisNode.cpp
index 9493fa82c..95e6d613a 100644
--- a/moses/src/ChartTrellisNode.cpp
+++ b/moses/src/ChartTrellisNode.cpp
@@ -76,12 +76,14 @@ Phrase ChartTrellisNode::GetOutputPhrase() const
// exactly like same fn in hypothesis, but use trellis nodes instead of prevHypos pointer
Phrase ret(ARRAY_SIZE_INCR);
- const TargetPhrase &currTargetPhrase = m_hypo.GetCurrTargetPhrase();
+ const Phrase &currTargetPhrase = m_hypo.GetCurrTargetPhrase();
+ const AlignmentInfo::NonTermIndexMap &nonTermIndexMap =
+ m_hypo.GetCurrTargetPhrase().GetAlignmentInfo().GetNonTermIndexMap();
for (size_t pos = 0; pos < currTargetPhrase.GetSize(); ++pos) {
const Word &word = currTargetPhrase.GetWord(pos);
if (word.IsNonTerminal()) {
// non-term. fill out with prev hypo
- size_t nonTermInd = currTargetPhrase.GetAlignmentInfo().GetNonTermIndexMap()[pos];
+ size_t nonTermInd = nonTermIndexMap[pos];
const ChartTrellisNode &childNode = GetChild(nonTermInd);
Phrase childPhrase = childNode.GetOutputPhrase();
ret.Append(childPhrase);
diff --git a/moses/src/FactorCollection.cpp b/moses/src/FactorCollection.cpp
index a0b1142b1..34e7f1304 100644
--- a/moses/src/FactorCollection.cpp
+++ b/moses/src/FactorCollection.cpp
@@ -20,7 +20,9 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
***********************************************************************/
#include <boost/version.hpp>
+#ifdef WITH_THREADS
#include <boost/thread/locks.hpp>
+#endif
#include <ostream>
#include <string>
#include "FactorCollection.h"
diff --git a/moses/src/Hypothesis.cpp b/moses/src/Hypothesis.cpp
index 9a76abcd1..90083fc08 100644
--- a/moses/src/Hypothesis.cpp
+++ b/moses/src/Hypothesis.cpp
@@ -37,7 +37,6 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
#include "InputType.h"
#include "LMList.h"
#include "Manager.h"
-#include "hash.h"
using namespace std;
diff --git a/moses/src/Jamfile b/moses/src/Jamfile
index ce85d6ac5..d88af7ba9 100644
--- a/moses/src/Jamfile
+++ b/moses/src/Jamfile
@@ -24,7 +24,7 @@ lib moses_internal :
[ glob *.cpp DynSAInclude/*.cpp : PhraseDictionary.cpp ThreadPool.cpp SyntacticLanguageModel.cpp *Test.cpp Mock*.cpp ]
synlm ThreadPool headers rt ;
-lib moses : PhraseDictionary.cpp moses_internal CYKPlusParser//CYKPlusParser CompactPT//CompactPT LM//LM RuleTable//RuleTable Scope3Parser//Scope3Parser fuzzy-match//fuzzy-match headers ../..//z ../../OnDiskPt//OnDiskPt ../..//boost_filesystem ;
+lib moses : PhraseDictionary.cpp moses_internal CYKPlusParser//CYKPlusParser CompactPT//CompactPT LM//LM RuleTable//RuleTable Scope3Parser//Scope3Parser fuzzy-match//fuzzy-match headers ../..//z ../../OnDiskPt//OnDiskPt ;
alias headers-to-install : [ glob-tree *.h ] ;
diff --git a/moses/src/LM/Implementation.cpp b/moses/src/LM/Implementation.cpp
index 2fe4bc122..94663cc9f 100644
--- a/moses/src/LM/Implementation.cpp
+++ b/moses/src/LM/Implementation.cpp
@@ -395,11 +395,11 @@ FFState* LanguageModelImplementation::EvaluateChart(const ChartHypothesis& hypo,
// loop over rule
for (size_t phrasePos = 0, wordPos = 0;
- phrasePos < target.GetSize();
+ phrasePos < hypo.GetCurrTargetPhrase().GetSize();
phrasePos++)
{
// consult rule for either word or non-terminal
- const Word &word = target.GetWord(phrasePos);
+ const Word &word = hypo.GetCurrTargetPhrase().GetWord(phrasePos);
// regular word
if (!word.IsNonTerminal())
diff --git a/moses/src/RuleTable/PhraseDictionarySCFG.cpp b/moses/src/RuleTable/PhraseDictionarySCFG.cpp
index 3fb7f0cc7..e000deee4 100644
--- a/moses/src/RuleTable/PhraseDictionarySCFG.cpp
+++ b/moses/src/RuleTable/PhraseDictionarySCFG.cpp
@@ -55,8 +55,10 @@ PhraseDictionaryNodeSCFG &PhraseDictionarySCFG::GetOrCreateNode(const Phrase &so
{
const size_t size = source.GetSize();
+ const AlignmentInfo &alignmentInfo = target.GetAlignmentInfo();
+ AlignmentInfo::const_iterator iterAlign = alignmentInfo.begin();
+
PhraseDictionaryNodeSCFG *currNode = &m_collection;
- map<size_t, size_t> sourceToTargetMap(target.GetAlignmentInfo().begin(), target.GetAlignmentInfo().end());
for (size_t pos = 0 ; pos < size ; ++pos) {
const Word& word = source.GetWord(pos);
@@ -64,9 +66,10 @@ PhraseDictionaryNodeSCFG &PhraseDictionarySCFG::GetOrCreateNode(const Phrase &so
// indexed by source label 1st
const Word &sourceNonTerm = word;
- map<size_t, size_t>::const_iterator iterAlign = sourceToTargetMap.find(pos);
- CHECK(iterAlign != sourceToTargetMap.end());
+ CHECK(iterAlign != target.GetAlignmentInfo().end());
+ CHECK(iterAlign->first == pos);
size_t targetNonTermInd = iterAlign->second;
+ ++iterAlign;
const Word &targetNonTerm = target.GetWord(targetNonTermInd);
currNode = currNode->GetOrCreateChild(sourceNonTerm, targetNonTerm);
diff --git a/moses/src/StaticData.cpp b/moses/src/StaticData.cpp
index 39c47178a..36e8757c7 100644
--- a/moses/src/StaticData.cpp
+++ b/moses/src/StaticData.cpp
@@ -20,9 +20,6 @@ License along with this library; if not, write to the Free Software
Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
***********************************************************************/
-#include <boost/filesystem/operations.hpp>
-#include <boost/filesystem/path.hpp>
-
#include <string>
#include "util/check.hh"
#include "PhraseDictionaryMemory.h"
@@ -2095,16 +2092,24 @@ void StaticData::ReLoadBleuScoreFeatureParameter(float weight)
void StaticData::SetExecPath(const std::string &path)
{
- namespace fs = boost::filesystem;
-
- fs::path full_path( fs::initial_path<fs::path>() );
+ /*
+ namespace fs = boost::filesystem;
+
+ fs::path full_path( fs::initial_path<fs::path>() );
+
+ full_path = fs::system_complete( fs::path( path ) );
+
+ //Without file name
+ m_binPath = full_path.parent_path().string();
+ */
- full_path = fs::system_complete( fs::path( path ) );
-
- //Without file name
- m_binPath = full_path.parent_path().string();
+ // NOT TESTED
+ size_t pos = path.rfind("/");
+ if (pos != string::npos)
+ {
+ m_binPath = path.substr(0, pos);
+ }
cerr << m_binPath << endl;
-
}
const string &StaticData::GetBinDirectory() const
diff --git a/moses/src/TargetPhrase.cpp b/moses/src/TargetPhrase.cpp
index f108a0c5a..20cb26224 100644
--- a/moses/src/TargetPhrase.cpp
+++ b/moses/src/TargetPhrase.cpp
@@ -285,6 +285,7 @@ TargetPhrase *TargetPhrase::MergeNext(const TargetPhrase &inputPhrase) const
return clone;
}
+
namespace {
void MosesShouldUseExceptions(bool value) {
if (!value) {
@@ -294,7 +295,6 @@ void MosesShouldUseExceptions(bool value) {
}
} // namespace
-
void TargetPhrase::SetAlignmentInfo(const StringPiece &alignString)
{
set<pair<size_t,size_t> > alignmentInfo;
diff --git a/moses/src/hash.cpp b/moses/src/hash.cpp
deleted file mode 100644
index 9afac463d..000000000
--- a/moses/src/hash.cpp
+++ /dev/null
@@ -1,70 +0,0 @@
-// $Id$
-
-#define mix(a,b,c) \
-{ \
- a -= b; a -= c; a ^= (c>>13); \
- b -= c; b -= a; b ^= (a<<8); \
- c -= a; c -= b; c ^= (b>>13); \
- a -= b; a -= c; a ^= (c>>12); \
- b -= c; b -= a; b ^= (a<<16); \
- c -= a; c -= b; c ^= (b>>5); \
- a -= b; a -= c; a ^= (c>>3); \
- b -= c; b -= a; b ^= (a<<10); \
- c -= a; c -= b; c ^= (b>>15); \
-}
-
-/* the key */
-/* the length of the key */
-/* the previous hash, or an arbitrary value */
-unsigned int quick_hash(register const char *k, register unsigned int length, register unsigned int initval)
-{
- register unsigned int a,b,c,len;
-
- /* Set up the internal state */
- len = length;
- a = b = 0x9e3779b9; /* the golden ratio; an arbitrary value */
- c = initval; /* the previous hash value */
-
- /*---------------------------------------- handle most of the key */
- while (len >= 12) {
- a += (k[0] +((unsigned int)k[1]<<8) +((unsigned int)k[2]<<16) +((unsigned int)k[3]<<24));
- b += (k[4] +((unsigned int)k[5]<<8) +((unsigned int)k[6]<<16) +((unsigned int)k[7]<<24));
- c += (k[8] +((unsigned int)k[9]<<8) +((unsigned int)k[10]<<16)+((unsigned int)k[11]<<24));
- mix(a,b,c);
- k += 12;
- len -= 12;
- }
-
- /*------------------------------------- handle the last 11 bytes */
- c += length;
- switch(len) { /* all the case statements fall through */
- case 11:
- c+=((unsigned int)k[10]<<24);
- case 10:
- c+=((unsigned int)k[9]<<16);
- case 9 :
- c+=((unsigned int)k[8]<<8);
- /* the first byte of c is reserved for the length */
- case 8 :
- b+=((unsigned int)k[7]<<24);
- case 7 :
- b+=((unsigned int)k[6]<<16);
- case 6 :
- b+=((unsigned int)k[5]<<8);
- case 5 :
- b+=k[4];
- case 4 :
- a+=((unsigned int)k[3]<<24);
- case 3 :
- a+=((unsigned int)k[2]<<16);
- case 2 :
- a+=((unsigned int)k[1]<<8);
- case 1 :
- a+=k[0];
- /* case 0: nothing left to add */
- }
- mix(a,b,c);
- /*-------------------------------------------- report the result */
- return c;
-}
-
diff --git a/moses/src/hash.h b/moses/src/hash.h
deleted file mode 100644
index 227f3b90a..000000000
--- a/moses/src/hash.h
+++ /dev/null
@@ -1,8 +0,0 @@
-#ifndef moses_hash_h
-#define moses_hash_h
-
-// taken from burtleburtle.net/bob/hash/doobs.html
-unsigned int quick_hash(register const char *k, register unsigned int length, register unsigned int initval);
-
-#endif
-
diff --git a/phrase-extract/extract-ghkm/ExtractGHKM.cpp b/phrase-extract/extract-ghkm/ExtractGHKM.cpp
index dae876116..94e565085 100644
--- a/phrase-extract/extract-ghkm/ExtractGHKM.cpp
+++ b/phrase-extract/extract-ghkm/ExtractGHKM.cpp
@@ -90,7 +90,7 @@ int ExtractGHKM::Main(int argc, char *argv[])
std::string alignmentLine;
XmlTreeParser xmlTreeParser(labelSet, topLabelSet);
ScfgRuleWriter writer(fwdExtractStream, invExtractStream, options);
- size_t lineNum = 0;
+ size_t lineNum = options.sentenceOffset;
while (true) {
std::getline(targetStream, targetLine);
std::getline(sourceStream, sourceLine);
@@ -289,6 +289,9 @@ void ExtractGHKM::ProcessOptions(int argc, char *argv[],
"extract minimal rules only")
("PCFG",
"include score based on PCFG scores in target corpus")
+ ("SentenceOffset",
+ po::value(&options.sentenceOffset)->default_value(options.sentenceOffset),
+ "set sentence number offset if processing split corpus")
("UnknownWordLabel",
po::value(&options.unknownWordFile),
"write unknown word labels to named file")
diff --git a/phrase-extract/extract-ghkm/Options.h b/phrase-extract/extract-ghkm/Options.h
index 362fc95d2..acad2040c 100644
--- a/phrase-extract/extract-ghkm/Options.h
+++ b/phrase-extract/extract-ghkm/Options.h
@@ -38,6 +38,7 @@ struct Options {
, maxScope(3)
, minimal(false)
, pcfg(false)
+ , sentenceOffset(0)
, unpairedExtractFormat(false) {}
// Positional options
@@ -57,6 +58,7 @@ struct Options {
int maxScope;
bool minimal;
bool pcfg;
+ int sentenceOffset;
bool unpairedExtractFormat;
std::string unknownWordFile;
};
diff --git a/regression-testing/Jamfile b/regression-testing/Jamfile
index 61157eaf3..998e46317 100644
--- a/regression-testing/Jamfile
+++ b/regression-testing/Jamfile
@@ -13,10 +13,10 @@ if $(with-regtest) {
if $(with-regtest) {
test-dir = $(with-regtest)/tests ;
- rule reg_test ( name : tests * : program : action ) {
+ rule reg_test ( name : tests * : programs * : action ) {
alias $(name) : $(tests:D=).passed ;
for test in $(tests) {
- make $(test:D=).passed : $(program) : $(action) ;
+ make $(test:D=).passed : $(programs) : $(action) ;
alias $(test) : $(test:D=).passed ;
}
}
@@ -43,11 +43,11 @@ if $(with-regtest) {
}
reg_test extractrules : [ glob $(test-dir)/extract-rules.* : $(with-regtest)/extract-rules.hierarchical ] : ../phrase-extract//extract-rules : @reg_test_extractrules ;
-
+ pwd = [ path.pwd ] ;
actions reg_test_mert {
- $(TOP)/regression-testing/run-test-mert.perl --test=$(<:B) --data-dir=$(with-regtest) --test-dir=$(test-dir) && touch $(<)
+ $(TOP)/regression-testing/run-test-mert.perl --test=$(<:B) --data-dir=$(with-regtest) --test-dir=$(test-dir) --bin-dir=$(pwd)/$(>:D) && touch $(<)
}
- reg_test mert : [ glob $(test-dir)/mert.* ] : ../mert//mert : @reg_test_mert ;
+ reg_test mert : [ glob $(test-dir)/mert.* ] : ../mert//mert ../mert//extractor ../mert//pro : @reg_test_mert ;
alias all : phrase chart mert score extract extractrules ;
}
diff --git a/scripts/ems/experiment.meta b/scripts/ems/experiment.meta
index 1f173e8d5..c0483811a 100644
--- a/scripts/ems/experiment.meta
+++ b/scripts/ems/experiment.meta
@@ -361,13 +361,13 @@ pcfg-extract
default-name: model/pcfg
ignore-unless: use-pcfg-feature
rerun-on-change: use-pcfg-feature
- template: $moses-script-dir/training/phrase-extract/pcfg-extract/pcfg-extract < IN.$output-extension > OUT.$output-extension
+ template: $moses-bin-dir/pcfg-extract < IN.$output-extension > OUT.$output-extension
pcfg-score
in: parse-relaxed-corpus pcfg
out: scored-corpus
default-name: model/scored-corpus
pass-unless: use-pcfg-feature
- template: ln -s IN.$input-extension OUT.$input-extension ; $moses-script-dir/training/phrase-extract/pcfg-score/pcfg-score IN1.$output-extension < IN.$output-extension > OUT.$output-extension
+ template: ln -s IN.$input-extension OUT.$input-extension ; $moses-bin-dir/pcfg-score IN1.$output-extension < IN.$output-extension > OUT.$output-extension
extract-phrases
in: word-alignment scored-corpus
out: extracted-phrases
diff --git a/scripts/ems/experiment.perl b/scripts/ems/experiment.perl
index 0d8b2dc88..d5386db75 100755
--- a/scripts/ems/experiment.perl
+++ b/scripts/ems/experiment.perl
@@ -1065,7 +1065,7 @@ sub execute_steps {
$DO{$i}++;
print "\texecuting $step via qsub ($active active)\n";
my $qsub_args = &get_qsub_args($DO_STEP[$i]);
- `qsub $qsub_args -e $step.STDERR -o $step.STDOUT $step`;
+ `qsub $qsub_args -S /bin/bash -e $step.STDERR -o $step.STDOUT $step`;
}
# execute in fork
diff --git a/scripts/ems/web/analysis.php b/scripts/ems/web/analysis.php
index 489bdc50d..f4beaa274 100644
--- a/scripts/ems/web/analysis.php
+++ b/scripts/ems/web/analysis.php
@@ -869,9 +869,12 @@ function rule_summary() {
printf("tree depth: %.2f<br>\n",$depth);
printf("nt/rule: %.2f<br>\n",$nt_count/$total);
print "<table>\n";
+ arsort($count_nt);
+ $i=0;
foreach ($count_nt as $rule => $count) {
- printf("<tr><td>%s</td><td align=right>%d</td><td align=right>%.1f%s</td></tr>\n",$rule,$count,$count/$total*100,'%');
+ if ($i++ < 5) { printf("<tr><td>%s</td><td align=right>%d</td><td align=right>%.1f%s</td></tr>\n",$rule,$count,$count/$total*100,'%'); }
}
+ if (count($count_nt)>5) { print "<tr><td align=center>...</td><td align=center>...</td><td align=center>...</td></tr>\n"; }
print "</table>\n";
}
@@ -920,6 +923,7 @@ function bleu_show() {
if ($filter != "") {
print "; filter: '$filter'";
}
+
sentence_annotation($count,$filter);
print "<p align=center><A HREF=\"javascript:show('bleu','" . $_GET['sort'] . "',5+$count,'".base64_encode($filter)."')\">5 more</A> | ";
print "<A HREF=\"javascript:show('bleu','" . $_GET['sort'] . "',10+$count,'".base64_encode($filter)."')\">10 more</A> | ";
@@ -1126,6 +1130,12 @@ function sentence_annotation($count,$filter) {
//print "<div id=\"debug\">$sort / $offset</div>";
for($i=$offset;$i<$count+$offset && $i<count($bleu);$i++) {
$line = $bleu[$i];
+ $search_graph_dir = get_current_analysis_filename("basic","search-graph");
+ if (file_exists($search_graph_dir) && file_exists($search_graph_dir."/graph.".$line["id"])) {
+ $state = return_state_for_link();
+ print "<FONT SIZE=-1><A TARGET=_blank HREF=\"?$state&analysis=sgviz&set=$set&id=$id&sentence=".$line["id"]."\">show search graph</a></FONT><br>\n";
+ }
+
if ($hierarchical) {
annotation_hierarchical($line["id"],$segmentation[$line["id"]],$segmentation_out[$line["id"]],$node[$line["id"]]);
}
diff --git a/scripts/ems/web/analysis_diff.php b/scripts/ems/web/analysis_diff.php
index 9cb853030..51c8e50ef 100644
--- a/scripts/ems/web/analysis_diff.php
+++ b/scripts/ems/web/analysis_diff.php
@@ -116,8 +116,10 @@ function precision_by_coverage_diff() {
$log_info[$log_count]["length"] -= $item[3];
}
+
print "<h4>By log<sub>2</sub>-count in the training corpus</h4>";
precision_by_coverage_diff_graph("byCoverage",$log_info,$log_info_new,$total,$img_width,SORT_NUMERIC);
+ precision_by_coverage_diff_matrix();
// load factored data
$d = dir("$dir/evaluation/$set.analysis.".get_precision_analysis_version($dir,$set,$id));
@@ -290,6 +292,244 @@ function precision_by_word_diff($type) {
print "</table>\n";
}
+function precision_by_coverage_diff_matrix() {
+ global $id,$id2;
+ print "<h4>Impact of Change in Coverage</h4>";
+ print "Coverage in run $id is the x-axis, change in coverage in run $id2 is the y-axis. Size of box reflects how many output words are produced, yellow is the number of correct translations, green indicates increase, green decrease. The bleu rectangle below each box indicates number of words dropped, and increase (cyan) or decrease (purple).<p>(";
+ $scale = 30;
+ for($i=1; $i<=5; $i++) {
+ $size = (int)(sqrt($i*$scale));
+ $name = "size-$i";
+ print "<canvas id=\"$name\" width=\"$size\" height=\"$size\"></canvas><script language=\"javascript\">
+var canvas = document.getElementById(\"$name\");
+var ctx = canvas.getContext(\"2d\");
+ctx.fillStyle = \"rgb(0,0,0)\";
+ctx.fillRect (0, 0, $size, $size);
+</script> = $i word";
+ if ($i>1) { print "s"; }
+ if ($i<5) { print ", "; }
+ }
+ print ")<p>";
+ # get base data
+ $data = file(get_current_analysis_filename("precision","precision-by-input-word"));
+ $word = array(); $class = array();
+ for($i=0;$i<count($data);$i++) {
+ $line = rtrim($data[$i]);
+ $item = split("\t",$line);
+ $surface = $item[5];
+ $word[$surface] = array();
+ $word[$surface]["precision"] = $item[0]; # number of precise translations
+ $word[$surface]["delete"] = $item[1]; # number of deleted
+ $word[$surface]["total"] = $item[2]; # number of all translations
+ $word[$surface]["coverage"] = $item[4]; # count in training corpus
+ if ($item[4] == 0) { $log_count = -1; }
+ else { $log_count = (int) (log($item[4])/log(2)); }
+ $word[$surface]["log_count"] = $log_count;
+ if (!array_key_exists($log_count,$class)) { $class[$log_count] = array(); }
+ $class[$log_count][] = $surface;
+ }
+
+ # init matrix
+ $matrix = array();
+ $max_base_log_count = -1;
+ $min_alt_log_count = 99;
+ $max_alt_log_count = -1;
+ foreach(array_keys($class) as $log_count) {
+ $matrix[$log_count] = array();
+ if ($log_count > $max_base_log_count) { $max_base_log_count = $log_count; }
+ }
+
+ # get alternative data
+ $data = file(get_current_analysis_filename2("precision","precision-by-input-word"));
+ for($i=0;$i<count($data);$i++) {
+ $line = rtrim($data[$i]);
+ $item = split("\t",$line);
+ $surface = $item[5];
+ if ($item[4] == 0) { $alt = -1; }
+ else { $alt = (int) (log($item[4])/log(2)); }
+
+ $base = -1;
+ if (array_key_exists($surface,$word)) {
+ $base = $word[$surface]["log_count"];
+ }
+
+ $alt -= $base;
+ if ($alt > $max_alt_log_count) { $max_alt_log_count = $alt; }
+ if ($alt < $min_alt_log_count) { $min_alt_log_count = $alt; }
+
+ if (!array_key_exists($alt,$matrix[$base])) {
+ $matrix[$base][$alt] = array();
+ $matrix[$base][$alt]["precision1"] = 0;
+ $matrix[$base][$alt]["delete1"] = 0;
+ $matrix[$base][$alt]["total1"] = 0;
+ $matrix[$base][$alt]["coverage1"] = 0;
+ $matrix[$base][$alt]["precision2"] = 0;
+ $matrix[$base][$alt]["delete2"] = 0;
+ $matrix[$base][$alt]["total2"] = 0;
+ $matrix[$base][$alt]["coverage2"] = 0;
+ }
+ # ignore mismatches in source words due to tokenization / casing
+ if (array_key_exists($surface,$word)) {
+ $matrix[$base][$alt]["precision1"] += $word[$surface]["precision"];
+ $matrix[$base][$alt]["delete1"] += $word[$surface]["delete"];
+ $matrix[$base][$alt]["total1"] += $word[$surface]["total"];
+ $matrix[$base][$alt]["coverage1"] += $word[$surface]["count"];
+ $matrix[$base][$alt]["precision2"] += $item[0];
+ $matrix[$base][$alt]["delete2"] += $item[1];
+ $matrix[$base][$alt]["total2"] += $item[2];
+ $matrix[$base][$alt]["coverage2"] += $item[4];
+ }
+ }
+
+ # make table
+ print "<table border=1 cellspacing=0 cellpadding=0><tr><td>&nbsp;</td>";
+ for($base=-1;$base<=$max_base_log_count;$base++) {
+ print "<td align=center>$base</td>";
+ }
+ print "<td></td></tr>";
+ for($alt=$max_alt_log_count;$alt>=$min_alt_log_count;$alt--) {
+ print "<tr><td>$alt</td>";
+ for($base=-1;$base<=$max_base_log_count;$base++) {
+ print "<td align=center valign=center>";
+ if (array_key_exists($base,$matrix) &&
+ array_key_exists($alt,$matrix[$base])) {
+ #print $matrix[$base][$alt]["precision1"]."->".
+ # $matrix[$base][$alt]["precision2"]."<br>";
+ #print $matrix[$base][$alt]["delete1"]."->".
+ # $matrix[$base][$alt]["delete2"]."<br>";
+ #print $matrix[$base][$alt]["total1"]."->".
+ # $matrix[$base][$alt]["total2"]."<br>";
+ $scale = 30;
+ $total = $matrix[$base][$alt]["total1"];
+ if ($matrix[$base][$alt]["total2"] > $total) {
+ $total = $matrix[$base][$alt]["total2"];
+ }
+ $total = (int)(sqrt($total*$scale));
+ if ($total>0) {
+ $prec1 = $matrix[$base][$alt]["precision1"]*$scale;
+ $prec2 = $matrix[$base][$alt]["precision2"]*$scale;
+ if ($prec1 > $prec2) {
+ $prec_base = (int)(sqrt($prec1));
+ $prec_imp = (int)(sqrt($prec1-$prec2));
+ $prec_color = "255,100,100";
+ }
+ else {
+ $prec_base = (int)(sqrt($prec2));
+ $prec_imp = (int)(sqrt($prec2-$prec1));
+ $prec_color = "100,255,100";
+ }
+ $prec_base_top = (int)(($total-$prec_base)/2);
+ $prec_imp_top = (int)(($total-$prec_imp)/2);
+
+ $del1 = $matrix[$base][$alt]["delete1"]*$scale;
+ $del2 = $matrix[$base][$alt]["delete2"]*$scale;
+ if ($del1 > $del2) {
+ $del_base = $del1;
+ $del_imp = $del1-$del2;
+ $del_color = "150,100,255";
+ }
+ else {
+ $del_base = $del2;
+ $del_imp = $del2-$del1;
+ $del_color = "100,200,200";
+ }
+ $del_base_height = (int)($del_base/$total);
+ $del_imp_height = (int)($del_imp/$total);
+
+ $name = "matrix-$base-$alt";
+ #print "$total/$prec1/$prec2 -> $prec_base/$prec_imp<br>";
+ print "<a href=\"javascript:generic_show_diff('CoverageMatrixDetails','base=$base&alt=$alt')\">";
+ print "<canvas id=\"$name\" width=\"$total\" height=\"".($total+$del_base_height+$del_imp_height)."\"></canvas></a>";
+ print "<script language=\"javascript\">
+var canvas = document.getElementById(\"$name\");
+var ctx = canvas.getContext(\"2d\");
+ctx.fillStyle = \"rgb(200,200,200)\";
+ctx.fillRect (0, 0, $total, $total);
+ctx.fillStyle = \"rgb(200,200,0)\";
+ctx.fillRect ($prec_base_top, $prec_base_top, $prec_base, $prec_base);
+ctx.fillStyle = \"rgb($prec_color)\";
+ctx.fillRect ($prec_imp_top, $prec_imp_top, $prec_imp, $prec_imp);
+ctx.fillStyle = \"rgb(100,100,255)\";
+ctx.fillRect (0, $total, $total, $del_base_height);
+ctx.fillStyle = \"rgb($del_color)\";
+ctx.fillRect (0, ".($total+$del_base_height).", $total, $del_imp_height);
+</script>";
+ }
+ }
+ print "</td>";
+ }
+ print "<td>$alt</td></tr>";
+ }
+ print "<tr><td></td>";
+ for($base=-1;$base<=$max_base_log_count;$base++) {
+ print "<td align=center>$base</td>";
+ }
+ print "<td></td></tr></table><div id=\"CoverageMatrixDetails\"></div>";
+}
+
+function precision_by_coverage_diff_matrix_details() {
+ $alt = $_GET["alt"];
+ $base = $_GET["base"];
+
+ $impact_total = 0;
+ $data = file(get_current_analysis_filename("precision","precision-by-input-word"));
+ $word = array(); $class = array();
+ for($i=0;$i<count($data);$i++) {
+ $line = rtrim($data[$i]);
+ $item = split("\t",$line);
+ if ($item[4] == 0) { $log_count = -1; }
+ else { $log_count = (int) (log($item[4])/log(2)); }
+ if ($log_count == $base) {
+ $surface = $item[5];
+ $word[$surface] = array();
+ $word[$surface]["precision"] = $item[0]; # number of precise translations
+ $word[$surface]["delete"] = $item[1]; # number of deleted
+ $word[$surface]["total"] = $item[2]; # number of all translations
+ $word[$surface]["coverage"] = $item[4]; # count in training corpus
+ }
+ $impact_total += $item[2];
+ }
+
+ print "<table border=1><tr><td align=center>&nbsp;</td><td align=center colspan=3>Precision</td><td align=center colspan=2>Precision Impact</td><td align=center colspan=3>Delete</td><td align=center colspan=2>Delete Impact</td></tr>\n";
+
+ # get alternative data
+ $data = file(get_current_analysis_filename2("precision","precision-by-input-word"));
+ for($i=0;$i<count($data);$i++) {
+ $line = rtrim($data[$i]);
+ $item = split("\t",$line);
+ if ($item[4] == 0) { $log_count = -1; }
+ else { $log_count = (int) (log($item[4])/log(2)); }
+ $surface = $item[5];
+ if ($log_count-$base == $alt && array_key_exists($surface,$word)) {
+ $precision = $item[0]; # number of precise translations
+ $delete = $item[1]; # number of deleted
+ $total = $item[3]; # number of all translations + deletions
+ $coverage = $item[4]; # count in training corpus
+ $surface = $item[5];
+ $out = sprintf("%07d", (1-($precision-$word[$surface]["precision"])/$impact_total)*1000000);
+ $out .= "\t<tr><td align=cente>$surface</td>";
+ $out .= sprintf("<td align=right>%.1f%s</td><td align=right>%+.1f%s</td><td align=right><font size=-1>%+.1f/%d</font></td>",
+ $precision/$total*100,"%",
+ ($precision-$word[$surface]["precision"])/$total*100,"%",
+ $precision-$word[$surface]["precision"],$total);
+ $out .= sprintf("<td align=right>%+.2f%s</td><td align=right><font size=-1>%+.1f/%d</font></td>",
+ ($precision-$word[$surface]["precision"])/$impact_total*100,"%",
+ $precision-$word[$surface]["precision"],$impact_total);
+ $out .= sprintf("<td align=right>%.1f%s</td><td align=right>%+.1f%s</td><td align=right><font size=-1>%+.1f/%d</font></td>",
+ $delete/$total*100,"%",
+ ($delete-$word[$surface]["delete"])/$total*100,"%",
+ $delete-$word[$surface]["delete"],$total);
+ $out .= sprintf("<td align=right>%+.2f%s</td><td align=right><font size=-1>%+.1f/%d</font></td>",
+ ($delete-$word[$surface]["delete"])/$impact_total*100,"%",
+ $delete-$word[$surface]["delete"],$impact_total);
+ $out .= "</tr>";
+ $all_out[] = $out;
+ }
+ }
+ sort($all_out);
+ foreach($all_out as $out) { $o = explode("\t",$out); print $o[1]; }
+ print "</table>";
+}
function precision_by_coverage_diff_graph($name,$log_info,$log_info_new,$total,$img_width,$sort_type) {
$keys = array_keys($log_info);
@@ -502,12 +742,22 @@ function bleu_diff() {
print "</font><BR>\n";
bleu_diff_annotation();
+ print "<font size=-1>";
+ print "<A HREF=\"javascript:diff('bleu','" . $_GET['sort'] . "',5+$count)\">more</A> ";
+ print "</font><BR>\n";
}
function bleu_diff_annotation() {
global $set,$id,$id2,$dir;
- // load data
+ // load input
+ $input_annotation = file(get_analysis_filename($dir,$set,$id,"coverage","input-annotation"));
+ for($i=0;$i<count($input_annotation);$i++) {
+ $item = split("\t",$input_annotation[$i]);
+ $input[$i] = $item[0];
+ }
+
+ // load translations
for($idx=0;$idx<2;$idx++) {
$data = file(get_analysis_filename($dir,$set,$idx?$id2:$id,"basic","bleu-annotation"));
for($i=0;$i<count($data);$i++) {
@@ -575,6 +825,7 @@ function bleu_diff_annotation() {
// display
for($i=0;$i<$count && $i<count($annotation);$i++) {
$line = $annotation[$i];
+ print "<font size=-2>[src]</font> ".$input[$line["id"]]."<br>";
$word_with_score1 = split(" ",$line["system1"]);
$word_with_score0 = split(" ",$line["system0"]);
diff --git a/scripts/ems/web/base64.js b/scripts/ems/web/base64.js
new file mode 100644
index 000000000..e0e94d765
--- /dev/null
+++ b/scripts/ems/web/base64.js
@@ -0,0 +1,108 @@
+var END_OF_INPUT = -1;
+
+var base64Chars = new Array(
+ 'A','B','C','D','E','F','G','H',
+ 'I','J','K','L','M','N','O','P',
+ 'Q','R','S','T','U','V','W','X',
+ 'Y','Z','a','b','c','d','e','f',
+ 'g','h','i','j','k','l','m','n',
+ 'o','p','q','r','s','t','u','v',
+ 'w','x','y','z','0','1','2','3',
+ '4','5','6','7','8','9','+','/'
+);
+
+var reverseBase64Chars = new Array();
+for (var i=0; i < base64Chars.length; i++){
+ reverseBase64Chars[base64Chars[i]] = i;
+}
+
+var base64Str;
+var base64Count;
+function setBase64Str(str){
+ base64Str = str;
+ base64Count = 0;
+}
+function readBase64(){
+ if (!base64Str) return END_OF_INPUT;
+ if (base64Count >= base64Str.length) return END_OF_INPUT;
+ var c = base64Str.charCodeAt(base64Count) & 0xff;
+ base64Count++;
+ return c;
+}
+function encodeBase64(str){
+ setBase64Str(str);
+ var result = '';
+ var inBuffer = new Array(3);
+ var lineCount = 0;
+ var done = false;
+ while (!done && (inBuffer[0] = readBase64()) != END_OF_INPUT){
+ inBuffer[1] = readBase64();
+ inBuffer[2] = readBase64();
+ result += (base64Chars[ inBuffer[0] >> 2 ]);
+ if (inBuffer[1] != END_OF_INPUT){
+ result += (base64Chars [(( inBuffer[0] << 4 ) & 0x30) | (inBuffer[1] >> 4) ]);
+ if (inBuffer[2] != END_OF_INPUT){
+ result += (base64Chars [((inBuffer[1] << 2) & 0x3c) | (inBuffer[2] >> 6) ]);
+ result += (base64Chars [inBuffer[2] & 0x3F]);
+ } else {
+ result += (base64Chars [((inBuffer[1] << 2) & 0x3c)]);
+ result += ('=');
+ done = true;
+ }
+ } else {
+ result += (base64Chars [(( inBuffer[0] << 4 ) & 0x30)]);
+ result += ('=');
+ result += ('=');
+ done = true;
+ }
+ lineCount += 4;
+ if (lineCount >= 76){
+ result += ('\n');
+ lineCount = 0;
+ }
+ }
+ return result;
+}
+function readReverseBase64(){
+ if (!base64Str) return END_OF_INPUT;
+ while (true){
+ if (base64Count >= base64Str.length) return END_OF_INPUT;
+ var nextCharacter = base64Str.charAt(base64Count);
+ base64Count++;
+ if (reverseBase64Chars[nextCharacter]){
+ return reverseBase64Chars[nextCharacter];
+ }
+ if (nextCharacter == 'A') return 0;
+ }
+ return END_OF_INPUT;
+}
+function ntos(n){
+ n=n.toString(16);
+ if (n.length == 1) n="0"+n;
+ n="%"+n;
+ return unescape(n);
+}
+
+function decodeBase64(str){
+ setBase64Str(str);
+ var result = "";
+ var inBuffer = new Array(4);
+ var done = false;
+ while (!done && (inBuffer[0] = readReverseBase64()) != END_OF_INPUT
+ && (inBuffer[1] = readReverseBase64()) != END_OF_INPUT){
+ inBuffer[2] = readReverseBase64();
+ inBuffer[3] = readReverseBase64();
+ result += ntos((((inBuffer[0] << 2) & 0xff)| inBuffer[1] >> 4));
+ if (inBuffer[2] != END_OF_INPUT){
+ result += ntos((((inBuffer[1] << 4) & 0xff)| inBuffer[2] >> 2));
+ if (inBuffer[3] != END_OF_INPUT){
+ result += ntos((((inBuffer[2] << 6) & 0xff) | inBuffer[3]));
+ } else {
+ done = true;
+ }
+ } else {
+ done = true;
+ }
+ }
+ return result;
+}
diff --git a/scripts/ems/web/favicon.ico b/scripts/ems/web/favicon.ico
new file mode 100644
index 000000000..d93c5b031
--- /dev/null
+++ b/scripts/ems/web/favicon.ico
Binary files differ
diff --git a/scripts/ems/web/index.php b/scripts/ems/web/index.php
index 466af9013..099c9078f 100644
--- a/scripts/ems/web/index.php
+++ b/scripts/ems/web/index.php
@@ -5,10 +5,12 @@ require("overview.php");
require("analysis.php");
require("analysis_diff.php");
require("diff.php");
+require("sgviz.php");
function head($title) {
print '<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html><head><title>'.$title.'</title>
+<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<script language="javascript" src="/javascripts/prototype.js"></script>
<script language="javascript" src="/javascripts/scriptaculous.js"></script>
<script language="javascript" src="hierarchical-segmentation.js"></script>
@@ -43,8 +45,11 @@ if (array_key_exists("setup",$_POST) || array_key_exists("setup",$_GET)) {
else if (preg_match("/PrecisionByWordDiff(.+)_show/",$action,$match)) { precision_by_word_diff($match[1]); }
else if (preg_match("/PrecisionByWord(.+)_show/",$action,$match)) { precision_by_word($match[1]); }
else if ($action == "CoverageDetails_show") { coverage_details(); }
+ else if ($action == "CoverageMatrixDetails_show") { precision_by_coverage_diff_matrix_details(); }
else if ($action == "SegmentationSummary_show") { segmentation_summary(); }
else if ($action == "biconcor") { biconcor(base64_decode($_GET["phrase"])); }
+ else if ($action == "sgviz") { sgviz($_GET["sentence"]); }
+ else if ($action == "sgviz_data") { sgviz_data($_GET["sentence"]); }
else { print "ERROR! $action"; }
}
else if (array_key_exists("analysis_diff_home",$_GET)) {
diff --git a/scripts/ems/web/lib.php b/scripts/ems/web/lib.php
index 440940d9c..c1011e7df 100644
--- a/scripts/ems/web/lib.php
+++ b/scripts/ems/web/lib.php
@@ -65,7 +65,13 @@ function load_experiment_info() {
}
krsort($experiment);
- ksort($evalset);
+ uksort($evalset,"evalsetsort");
+}
+
+function evalsetsort($a,$b) {
+ if ($a == "avg") { return -1; }
+ if ($b == "avg") { return 1; }
+ return strcmp($a,$b);
}
function load_parameter($run) {
@@ -187,7 +193,7 @@ function get_analysis_version($dir,$set,$id) {
if (file_exists("$dir/steps/$id/REPORTING_report.$id")) {
$report = file("$dir/steps/$id/REPORTING_report.$id.INFO");
foreach ($report as $line) {
- if (preg_match("/\# reuse run (\d+) for EVALUATION:(.+):analysis/",$line,$match) &&
+ if (preg_match("/\# reuse run (\d+) for EVALUATION:(.+):analysis$/",$line,$match) &&
$match[2] == $set) {
if (file_exists("$prefix.$match[1]/summary")) {
$analysis_version[$id][$set]["basic"] = $match[1];
diff --git a/scripts/ems/web/overview.php b/scripts/ems/web/overview.php
index 179dda464..47d3f8850 100644
--- a/scripts/ems/web/overview.php
+++ b/scripts/ems/web/overview.php
@@ -13,7 +13,7 @@ function setup() {
print "<TR><TD><A HREF=\"?setup=$dir[0]\">$dir[0]</A></TD><TD>$dir[1]</TD><TD>$dir[2]</TD><TD>$dir[3]</TD></TR>\n";
}
print "</TABLE>\n";
- print "<P>To add experiment, edit setup in web directory";
+ print "<P>To add experiment, edit the file 'setup' in the web directory.";
}
function overview() {
@@ -134,7 +134,9 @@ function overview() {
print "var best_score = [];\n";
reset($evalset);
while (list($set,$dummy) = each($evalset)) {
- print "best_score[\"$set\"] = ".$best[$set].";\n";
+ if ($best[$set] != "" && $best[$set]>0) {
+ print "best_score[\"$set\"] = ".$best[$set].";\n";
+ }
}
?>
@@ -282,28 +284,29 @@ function output_score($id,$info) {
$each_score = explode(" ; ",$score);
for($i=0;$i<count($each_score);$i++) {
- if (preg_match('/([\d\(\)\.\s]+) (\S*)/',$each_score[$i],$match)) {
- //if ($i>0) { print "&nbsp;"; }
- $opened_a_tag = 0;
- if ($set != "avg") {
- if (file_exists("$dir/evaluation/$set.cleaned.$id")) {
- print "<a href=\"?$state&show=evaluation/$set.cleaned.$id\">";
- $opened_a_tag = 1;
- }
- else if (file_exists("$dir/evaluation/$set.output.$id")) {
- print "<a href=\"?$state&show=evaluation/$set.output.$id\">";
- $opened_a_tag = 1;
- }
- }
- if ($set == "avg" && count($each_score)>1) { print $match[2].": "; }
- print "<div title=". $match[2] ." class=". $match[2] .">".$match[1]."</div>";
- if ($opened_a_tag) { print "</a>"; }
+ if (preg_match('/([\d\(\)\.\s]+) (BLEU[\-c]*)/',$each_score[$i],$match) ||
+ preg_match('/([\d\(\)\.\s]+) (IBM[\-c]*)/',$each_score[$i],$match)) {
+ if ($i>0) { print "<BR>"; }
+ $opened_a_tag = 0;
+ if ($set != "avg") {
+ if (file_exists("$dir/evaluation/$set.cleaned.$id")) {
+ print "<a href=\"?$state&show=evaluation/$set.cleaned.$id\">";
+ $opened_a_tag = 1;
+ }
+ else if (file_exists("$dir/evaluation/$set.output.$id")) {
+ print "<a href=\"?$state&show=evaluation/$set.output.$id\">";
+ $opened_a_tag = 1;
+ }
+ }
+ if ($set == "avg" && count($each_score)>1) { print $match[2].": "; }
+ print $match[1];
+ if ($opened_a_tag) { print "</a>"; }
}
else {
- print "-";
+ print "-";
}
}
-
+
print "</td>";
if ($has_analysis && array_key_exists($set,$has_analysis)) {
print "<td align=center>";
diff --git a/scripts/ems/web/sgviz.js b/scripts/ems/web/sgviz.js
new file mode 100644
index 000000000..03ad4741a
--- /dev/null
+++ b/scripts/ems/web/sgviz.js
@@ -0,0 +1,1703 @@
+var xmlns="http://www.w3.org/2000/svg";
+var RECOMBINED = 0;
+var FROM = 1;
+var TO = 2;
+var OUTPUT = 3;
+var ALIGNMENT = 4;
+var CHILDREN = 5;
+var RULE_SCORE = 6;
+var HEURISTIC_RULE_SCORE = 7;
+var HYP_SCORE = 8;
+var LHS = 9;
+var DERIVATION_SCORE = 10;
+var CHART_WIDTH = window.innerWidth * 0.8;
+var CHART_HEIGHT = window.innerHeight;
+var CELL_WIDTH = CHART_WIDTH/input.length;
+var CELL_HEIGHT = CHART_HEIGHT/(input.length+1);
+var CELL_MARGIN = 4;
+var CELL_BORDER = 2;
+var CELL_PADDING = 2;
+if (input.length < 6) { CELL_MARGIN = 5; CELL_BORDER = 3; CELL_PADDING = 3; }
+if (input.length > 10) { CELL_MARGIN = 1; CELL_BORDER = 1; CELL_PADDING = 2; }
+if (input.length > 20) { CELL_MARGIN = 0; CELL_BORDER = 0; CELL_PADDING = 1; }
+var BUTTON_WIDTH = 170;
+var BUTTON_HEIGHT = 30;
+var OPTION_WIDTH = 60;
+var OPTION_HEIGHT = BUTTON_HEIGHT;
+var CELL_HIGHLIGHT_COLOR = "#c0ffc0";
+var CELL_REGULAR_COLOR = "#ffff80";
+var INPUT_HIGHLIGHT_COLOR = "#c0c0c0";
+var INPUT_REGULAR_COLOR = "#ffffff";
+var SORT_OPTION = 2;
+var ZOOM = 0;
+var ZOOM_FROM = 0;
+var ZOOM_TO = input.length+1;
+var ZOOM_WIDTH = input.length;
+
+var length = input.length;
+var chart = document.getElementById("chart");
+var reachable = new Array();
+var cell_hyps = new Array(length);
+var cell_derivation_score = Array();
+
+// init basic layout
+draw_chart();
+draw_menu();
+draw_options();
+
+// process hypotheses
+function process_hypotheses() {
+ index_hypotheses_by_cell();
+ find_reachable_hypotheses();
+ compute_best_derivation_scores();
+}
+
+//
+// INITIALIZATION
+//
+
+function index_hypotheses_by_cell() {
+ // init edge_lists
+ for(var from=0; from<length; from++) {
+ cell_hyps[from] = new Array(length);
+ for(var to=0; to<length; to++) {
+ cell_hyps[from][to] = new Array();
+ }
+ }
+ // populate
+ for (var id in edge) {
+ var from = edge[id][FROM];
+ var to = edge[id][TO];
+ edge[id][FROM] = parseInt(from);
+ edge[id][TO] = parseInt(to);
+ edge[id][RULE_SCORE] = parseFloat(edge[id][RULE_SCORE]);
+ edge[id][HEURISTIC_RULE_SCORE] = parseFloat(edge[id][HEURISTIC_RULE_SCORE]);
+ edge[id][HYP_SCORE] = parseFloat(edge[id][HYP_SCORE]);
+ edge[id][DERIVATION_SCORE] = parseFloat(edge[id][DERIVATION_SCORE]);
+ cell_hyps[from][to].push(id);
+ }
+}
+
+function find_reachable_hypotheses() {
+ for (var i=0;i<cell_hyps[0][length-1].length;i++) {
+ id = cell_hyps[0][length-1][i];
+ find_reachable_hypotheses_recursive( id );
+ }
+}
+
+function find_reachable_hypotheses_recursive( id ) {
+ if (!(reachable[id] === undefined)) { return; }
+ reachable[id] = 1;
+ var children = get_children( id );
+ for(var c=0;c<children.length;c++) {
+ find_reachable_hypotheses_recursive( children[c] );
+ }
+}
+
+function compute_best_derivation_scores() {
+ for(var from=0; from<length; from++ ) {
+ cell_derivation_score[from] = Array();
+ }
+ for(var width=length-1; width>=0; width-- ) {
+ for(var from=0; from<length-width; from++ ) {
+ var to = from+width;
+ var cell_max_score = -9.9e9;
+ for (var i=0;i<cell_hyps[from][to].length;i++) {
+ var id = cell_hyps[from][to][i];
+ if (width == length-1) {
+ edge[id][DERIVATION_SCORE] = edge[id][HYP_SCORE];
+ }
+ if (edge[id][DERIVATION_SCORE] != null) {
+ var children = get_children(id);
+ for(var c=0;c<children.length;c++) {
+ if (edge[children[c]][DERIVATION_SCORE] == null ||
+ edge[children[c]][DERIVATION_SCORE] < edge[id][DERIVATION_SCORE]) {
+ edge[children[c]][DERIVATION_SCORE] = edge[id][DERIVATION_SCORE];
+ }
+ }
+ }
+ if (edge[id][DERIVATION_SCORE] != null &&
+ edge[id][DERIVATION_SCORE] > cell_max_score) {
+ cell_max_score = edge[id][DERIVATION_SCORE];
+ }
+ }
+ cell_derivation_score[from][to] = cell_max_score;
+ }
+ }
+}
+
+//
+// MENU
+//
+
+function draw_menu() {
+ draw_menu_button(1,"Best Derivation");
+ draw_menu_button(2,"Number of Hypotheses");
+ draw_menu_button(3,"Number of Rule Cubes");
+ draw_menu_button(4,"Derivation Score");
+ draw_menu_button(5,"Non-Terminals")
+ draw_menu_button(6,"Hypotheses")
+}
+var MENU_POSITION_HYPOTHESES = 6; // where is "Hypotheses" in the menu?
+
+var current_menu_selection = 0;
+var menu_processing = 0;
+function click_menu( id, force_flag ) {
+ if (!force_flag && (menu_processing || current_menu_selection == id)) {
+ return;
+ }
+ menu_processing = 1;
+
+ if (current_menu_selection == 1) { best_derivation(0); }
+ if (current_menu_selection == 2) { unannotate_cells(); }
+ if (current_menu_selection == 3) { unannotate_cells(); }
+ if (current_menu_selection == 4) { unannotate_cells(); }
+ if (current_menu_selection == 5) { remove_non_terminal_treemap(0); }
+ if (current_menu_selection == 6 && SORT_OPTION != 3) { remove_hypothesis_overview(); }
+ if (current_menu_selection == 6 && SORT_OPTION == 3) { remove_hypothesis_overview(); remove_non_terminal_treemap(); }
+ if (current_menu_selection > 0) {
+ highlight_menu_button( current_menu_selection, 0 );
+ }
+
+ if (id == 1) { best_derivation(1); }
+ if (id == 2) { annotate_cells_with_hypcount(); }
+ if (id == 3) { annotate_cells_with_rulecount(); }
+ if (id == 4) { annotate_cells_with_derivation_score(); }
+ if (id == 5) { non_terminal_treemap(); }
+ if (id == 6 && SORT_OPTION != 3) { hypothesis_overview(); }
+ if (id == 6 && SORT_OPTION == 3) { draw_hypothesis_sort_buttons(); non_terminal_treemap(1); }
+ highlight_menu_button( id, 1 );
+ current_menu_selection = id;
+ menu_processing = 0;
+}
+
+function draw_menu_button( id, label ) {
+ var button = document.createElementNS(xmlns,"rect");
+ button.setAttribute("id", "button-" + id);
+ button.setAttribute("x", 5);
+ button.setAttribute("y", 5 + BUTTON_HEIGHT*(id-1));
+ button.setAttribute("rx", 3);
+ button.setAttribute("ry", 3);
+ button.setAttribute("width", BUTTON_WIDTH-10);
+ button.setAttribute("height", BUTTON_HEIGHT-10);
+ //button.setAttribute("opacity",.75);
+ button.setAttribute("fill", "#c0c0ff");
+ button.setAttribute("stroke", "black");
+ button.setAttribute("stroke-width", "1");
+ button.setAttribute("onclick","click_menu(" + id + ",0);")
+ chart.appendChild( button );
+
+ var button_label = document.createElementNS(xmlns,"text");
+ button_label.setAttribute("x", BUTTON_WIDTH/2);
+ button_label.setAttribute("y", 4+BUTTON_HEIGHT/2 + BUTTON_HEIGHT*(id-1));
+ button_label.setAttribute("style", "font-size: 12; font-family: Verdana, Arial;");
+ button_label.setAttribute("text-anchor", "middle");
+ button_label.setAttribute("pointer-events", "none");
+ var content = document.createTextNode( label );
+ button_label.appendChild( content );
+ button_label.setAttribute("onclick","click_menu(" + id + ",0);")
+
+ chart.appendChild( button_label );
+}
+
+function highlight_menu_button( id, on_off ) {
+ var button = document.getElementById("button-" + id);
+ if (on_off) {
+ button.setAttribute("fill", "#8080ff");
+ }
+ else {
+ button.setAttribute("fill", "#c0c0ff");
+ }
+}
+
+// OPTIONS
+
+function draw_options() {
+ draw_option_button(0,1,"score");
+ draw_option_button(0,2,"deriv.");
+ draw_option_button(0,3,"id");
+}
+
+function draw_rule_options() {
+ draw_option_button(1,1,"score");
+ draw_option_button(1,2,"deriv.");
+ draw_option_button(1,3,"zoom");
+ highlight_option_button(1,1,show_hyp_score);
+ highlight_option_button(1,2,show_derivation_score);
+}
+
+function draw_option_button( rule_option, id, label ) {
+ var button = document.createElementNS(xmlns,"rect");
+ button.setAttribute("id", (rule_option?"rule-":"") + "option-" + id);
+ button.setAttribute("x", rule_option ? CHART_WIDTH-BUTTON_WIDTH-OPTION_WIDTH : BUTTON_WIDTH+10);
+ button.setAttribute("y", 5 + OPTION_HEIGHT*(id-1));
+ button.setAttribute("rx", 3);
+ button.setAttribute("ry", 3);
+ button.setAttribute("width", OPTION_WIDTH-10);
+ button.setAttribute("height", OPTION_HEIGHT-10);
+ button.setAttribute("fill", "#fdd017");
+ button.setAttribute("stroke", "black");
+ button.setAttribute("stroke-width", "1");
+ button.setAttribute("onclick","click_"+(rule_option?"rule_":"")+"option(" + id + ");")
+ chart.appendChild( button );
+
+ var button_label = document.createElementNS(xmlns,"text");
+ var distance_from_side = BUTTON_WIDTH+5+OPTION_WIDTH/2;
+ button_label.setAttribute("id", (rule_option?"rule-":"") + "option-label-" + id);
+ button_label.setAttribute("x", rule_option ? CHART_WIDTH-distance_from_side : distance_from_side);
+ button_label.setAttribute("y", 4+OPTION_HEIGHT/2 + OPTION_HEIGHT*(id-1));
+ button_label.setAttribute("style", "font-size: 12; font-family: Verdana, Arial;");
+ button_label.setAttribute("text-anchor", "middle");
+ button_label.setAttribute("pointer-events", "none");
+ var content = document.createTextNode( label );
+ button_label.appendChild( content );
+
+ chart.appendChild( button_label );
+}
+
+function draw_sort_button( id, label ) {
+ var BASE_X = 5 + id/SORT_BUTTON_COUNT * (BUTTON_WIDTH-10+5);
+ var BASE_Y = -5 + BUTTON_HEIGHT * MENU_POSITION_HYPOTHESES;
+ var WIDTH = ((BUTTON_WIDTH-10+5)/SORT_BUTTON_COUNT)-5;
+
+ var button = document.createElementNS(xmlns,"rect");
+
+ button.setAttribute("id", "sort-" + id);
+ button.setAttribute("x", BASE_X);
+ button.setAttribute("y", BASE_Y);
+ button.setAttribute("width", WIDTH);
+ button.setAttribute("height", BUTTON_HEIGHT-12);
+ if (id==0) {
+ button.setAttribute("fill", "none");
+ }
+ else {
+ button.setAttribute("rx", 3);
+ button.setAttribute("ry", 3);
+ if (SORT_OPTION == id) {
+ button.setAttribute("fill", "#6080ff");
+ }
+ else {
+ button.setAttribute("fill", "#a0c0ff");
+ }
+ button.setAttribute("onclick","click_sort(" + id + ");")
+ button.setAttribute("stroke", "black");
+ button.setAttribute("stroke-width", "1");
+ }
+ chart.appendChild( button );
+
+ var button_label = document.createElementNS(xmlns,"text");
+ button_label.setAttribute("id", "sort-label-" + id);
+ button_label.setAttribute("x", BASE_X + WIDTH/2);
+ button_label.setAttribute("y", BASE_Y + 12);
+ button_label.setAttribute("style", "font-size: 10; font-family: Verdana, Arial;");
+ button_label.setAttribute("text-anchor", "middle");
+ button_label.setAttribute("pointer-events", "none");
+ var content = document.createTextNode( label );
+ button_label.appendChild( content );
+
+ chart.appendChild( button_label );
+}
+
+function click_sort( id ) {
+ if (SORT_OPTION == 3) {
+ remove_non_terminal_treemap(1)
+ }
+ remove_hypothesis_overview();
+
+ SORT_OPTION = id;
+
+ if (SORT_OPTION == 3) {
+ non_terminal_treemap(1);
+ draw_hypothesis_sort_buttons();
+ }
+ else {
+ hypothesis_overview();
+ }
+}
+
+var show_scores = 0;
+var show_id = 0;
+var show_derivation = 0;
+function click_option( id ) {
+ if (id == 1) {
+ show_scores = !show_scores;
+ highlight_option_button( 0, 1, show_scores );
+ }
+ if (id == 2) {
+ show_derivation = !show_derivation;
+ color_cells();
+ highlight_option_button( 0, 2, show_derivation );
+ }
+ if (id == 3) {
+ show_id = !show_id;
+ highlight_option_button( 0, 3, show_id );
+ }
+ if (current_menu_selection > 0) {
+ click_menu( current_menu_selection, 1 );
+ }
+}
+
+var show_hyp_score = 0;
+var show_derivation_score = 0;
+function click_rule_option( id ) {
+ if (id == 1) {
+ show_hyp_score = !show_hyp_score;
+ highlight_option_button( 1, 1, show_hyp_score );
+ }
+ if (id == 2) {
+ show_derivation_score = !show_derivation_score;
+ highlight_option_button( 1, 2, show_derivation_score );
+ }
+ if (id == 3) {
+ if (ZOOM > 0) {
+ ZOOM = 0;
+ }
+ else {
+ ZOOM = 0.3;
+ }
+ assign_chart_coordinates();
+ highlight_option_button( 1, 3, ZOOM );
+ }
+ draw_rule_cube(current_z_pos_string);
+}
+
+function highlight_option_button( rule_option, id, on_off ) {
+ var button = document.getElementById((rule_option?"rule-":"") + "option-" + id);
+ if (on_off) {
+ button.setAttribute("fill", "#cd853f");
+ }
+ else {
+ button.setAttribute("fill", "#fdd017");
+ }
+}
+
+// INITIALIZE THE CHART
+
+function draw_chart() {
+ for (var from=0;from<length;from++) {
+ for(var width=1; width<=length-from; width++) {
+ var to = from + width - 1;
+
+ // logical container
+ var container = document.createElementNS(xmlns,"svg");
+ container.setAttribute("id", "cell-container-" + from + "-" + to);
+ chart.appendChild( container );
+ var transform = document.createElementNS(xmlns,"g");
+ transform.setAttribute("id", "cell-" + from + "-" + to);
+ container.appendChild( transform );
+
+ // yellow box for the cell
+ var cell = document.createElementNS(xmlns,"rect");
+ cell.setAttribute("id", "cellbox-" + from + "-" + to);
+ cell.setAttribute("x", CELL_MARGIN);
+ cell.setAttribute("y", CELL_MARGIN);
+ cell.setAttribute("rx", CELL_BORDER);
+ cell.setAttribute("ry", CELL_BORDER);
+ cell.setAttribute("width", CELL_WIDTH-2*CELL_MARGIN);
+ cell.setAttribute("height", CELL_HEIGHT-2*CELL_MARGIN);
+ cell.setAttribute("opacity", .75);
+ cell.setAttribute("fill", get_cell_color(from,to));
+ cell.setAttribute("stroke", "black");
+ cell.setAttribute("stroke-width", "1");
+ cell.setAttribute("onmouseover","hover_cell(" + from + "," + to + ");")
+ cell.setAttribute("onclick","click_cell(" + from + "," + to + ");")
+ transform.appendChild( cell );
+ }
+
+ // box for the input word
+ var input_box = document.createElementNS(xmlns,"rect");
+ input_box.setAttribute("id", "inputbox-" + from);
+ input_box.setAttribute("x", CELL_MARGIN+from*CELL_WIDTH);
+ input_box.setAttribute("y", CELL_MARGIN+(length)*CELL_HEIGHT);
+ input_box.setAttribute("rx", 3);
+ input_box.setAttribute("ry", 3);
+ input_box.setAttribute("width", CELL_WIDTH-2*CELL_MARGIN);
+ input_box.setAttribute("height", CELL_HEIGHT/2);
+ //cell.setAttribute("opacity", .75);
+ input_box.setAttribute("fill", INPUT_REGULAR_COLOR);
+ chart.appendChild( input_box );
+
+ // input word
+ input_word = document.createElementNS(xmlns,"text");
+ input_word.setAttribute("id", "input-" + from);
+ input_word.setAttribute("x", (from+0.5)*CELL_WIDTH);
+ input_word.setAttribute("y", 10+(length+0.25)*CELL_HEIGHT);
+ input_word.setAttribute("style", "font-size:18;");
+ input_word.setAttribute("text-anchor", "middle");
+ var content = document.createTextNode( input[from] );
+ input_word.appendChild( content );
+ chart.appendChild( input_word );
+ }
+ assign_chart_coordinates();
+}
+
+function assign_chart_coordinates() {
+ for (var from=0;from<length;from++) {
+ for(var width=1; width<=length-from; width++) {
+ var to = from + width - 1;
+
+ var x = from*CELL_WIDTH + (width-1)*CELL_WIDTH/2;
+ var y = (length-width)*CELL_HEIGHT*(1-ZOOM);
+ //alert("(x,y) = (" + length + "," + width + "), width = " + ZOOM + ", height = " + (1-ZOOM));
+ var cell_width = CELL_WIDTH;
+ var cell_height = CELL_HEIGHT;
+ if (ZOOM > 0) {
+ // adjust (x,y)
+ if (width > ZOOM_WIDTH) { // above
+ }
+ else if (width == ZOOM_WIDTH) { // same level
+ x = from*CELL_WIDTH*(1-ZOOM) + (width-1)*CELL_WIDTH*(1-ZOOM)/2
+ if (from < ZOOM_FROM) { // left
+ y += (CHART_HEIGHT-2*CELL_HEIGHT)*ZOOM/2;
+ }
+ else if (from == ZOOM_FROM) { // the focus
+ }
+ else { // right
+ x += CHART_WIDTH*ZOOM;
+ y += (CHART_HEIGHT-2*CELL_HEIGHT)*ZOOM/2;
+ }
+ }
+ else { // below
+ y += CHART_HEIGHT*ZOOM-CELL_HEIGHT*(1-ZOOM);
+ }
+
+ // adjust width and height
+ if (width == ZOOM_WIDTH) { // same level
+ cell_width *= 1-ZOOM;
+ if (from < ZOOM_FROM) { // left
+ }
+ else if (from == ZOOM_FROM) { // the focus
+ cell_width += CHART_WIDTH*ZOOM;
+ cell_height = CHART_HEIGHT*ZOOM;
+ }
+ }
+ else {
+ cell_height *= 1-ZOOM;
+ }
+ }
+
+ var container = document.getElementById("cell-container-" + from + "-" + to);
+ container.setAttribute("x", x);
+ container.setAttribute("y", y);
+ var transform = document.getElementById("cell-" + from + "-" + to);
+ transform.setAttribute("transform", "scale(" + (cell_width/CELL_WIDTH) + "," + (cell_height/CELL_HEIGHT) + ")");
+ }
+ }
+}
+
+function remove_chart() {
+ for (var from=0;from<length;from++) {
+ for(var width=1; width<=length-from; width++) {
+ var to = from + width - 1;
+ var container = document.getElementById("cell-" + from + "-" + to);
+ chart.removeChild(container);
+ var cell = document.getElementById("cellbox-" + from + "-" + to);
+ chart.removeChild(cell);
+ }
+ var input_word = document.getElementById("input-" + from);
+ chart.removeChild(input_word);
+ var input_box = document.getElementById("inputbox-" + from);
+ chart.removeChild(input_box);
+ }
+}
+
+var current_from = -1;
+var current_to;
+function hover_cell( from, to ) {
+ if (current_from >= 0) {
+ highlight_input( current_from, current_to, 0)
+ }
+ highlight_input( from, to, 1)
+ current_from = from;
+ current_to = to;
+}
+
+function click_cell( from, to ) {
+ if (from == current_rule_from && to == current_rule_to) {
+ unshow_rules();
+ current_rule_from = -1;
+ ZOOM = 0;
+ }
+ else {
+ show_rules( from, to );
+ ZOOM_FROM = current_rule_from;
+ ZOOM_TO = current_rule_to;
+ ZOOM_WIDTH = to-from+1;
+ }
+ assign_chart_coordinates();
+}
+
+function highlight_input( from, to, on_off ) {
+ for(var i=from; i<=to; i++) {
+ var input_box = document.getElementById("inputbox-" + i);
+ input_box.setAttribute("fill", on_off ? INPUT_HIGHLIGHT_COLOR : INPUT_REGULAR_COLOR);
+ }
+}
+
+//
+// VISUALIZATION OF CHART CELLS
+//
+
+// BASIC ANNOTATION WITH NUMBERS
+
+function annotate_cells_with_hypcount() {
+ for (var from=0;from<length;from++) {
+ for(var width=1; width<=length-from; width++) {
+ var to = from + width - 1;
+ annotate_cell( from, to, cell_hyps[from][to].length, 20 )
+ }
+ }
+}
+
+function annotate_cells_with_rulecount() {
+ for (var from=0;from<length;from++) {
+ for(var width=1; width<=length-from; width++) {
+ var to = from + width - 1;
+ var rule_hash = Array();
+ var rule_count = 0;
+ for (var i=0;i<cell_hyps[from][to].length;i++) {
+ var rule = get_rule( cell_hyps[from][to][i] );
+ if (rule_hash[rule] === undefined) {
+ rule_hash[rule] = 1;
+ rule_count++;
+ }
+ }
+ annotate_cell( from, to, rule_count, 20 )
+ }
+ }
+}
+
+function annotate_cells_with_derivation_score() {
+ for (var from=0;from<length;from++) {
+ for(var width=1; width<=length-from; width++) {
+ var to = from + width - 1;
+ var score = cell_derivation_score[from][to];
+ if (score < -9e9) { score = "dead end"; }
+ annotate_cell( from, to, score, 15 )
+ }
+ }
+}
+
+function annotate_cell( from, to, label, font_size ) {
+ var cell_label_group = document.createElementNS(xmlns,"svg");
+ cell_label_group.setAttribute("id", "celllabel-" + from + "-" + to);
+ cell_label_group.setAttribute("x", 0);
+ cell_label_group.setAttribute("y", -3);
+ cell_label_group.setAttribute("pointer-events", "none");
+
+ label = "" + label; // make it a string, if not already
+ var line = label.split("<br>");
+ for(var i=0; i<line.length; i++) {
+ var cell_label = document.createElementNS(xmlns,"text");
+ cell_label.setAttribute("id", "celllabelline-" + from + "-" + to + "-" + i);
+ cell_label.setAttribute("x", CELL_WIDTH/2);
+ cell_label.setAttribute("y", CELL_HEIGHT/2 + font_size * (1 - line.length/2 + i));
+ cell_label.setAttribute("style", "font-size: " + font_size + ";font-family: Verdana, Arial;");
+ cell_label.setAttribute("pointer-events", "none");
+ cell_label.setAttribute("text-anchor", "middle");
+ var content = document.createTextNode(line[i]);
+ cell_label.appendChild( content );
+ cell_label_group.appendChild( cell_label );
+ }
+
+ var cell = document.getElementById("cell-" + from + "-" + to);
+ cell.appendChild( cell_label_group );
+}
+
+function unannotate_cells() {
+ for (var from=0;from<length;from++) {
+ for(var width=1; width<=length-from; width++) {
+ var to = from + width - 1;
+ unannotate_cell( from, to );
+ }
+ }
+}
+
+function unannotate_cell( from, to ) {
+ var cell = document.getElementById("cell-" + from + "-" + to);
+ var cell_label = document.getElementById("celllabel-" + from + "-" + to);
+ cell.removeChild(cell_label);
+}
+
+// NON-TERMINAL TREEMAP
+
+function non_terminal_treemap( with_hyps ) {
+ for (var from=0;from<length;from++) {
+ for(var width=1; width<=length-from; width++) {
+ var to = from + width - 1;
+ // get nt counts
+ var lhs = new Array();
+ var lhs_list = new Array();
+ for (var i=0;i<cell_hyps[from][to].length;i++) {
+ var id = cell_hyps[from][to][i];
+ var nt = edge[id][LHS];
+ if (lhs[nt] === undefined) {
+ lhs[nt] = 1;
+ lhs_list.push(nt);
+ }
+ else {
+ lhs[nt]++;
+ }
+ }
+ // sort
+ function sortByCount(a,b) {
+ return lhs[b] - lhs[a];
+ }
+ lhs_list.sort(sortByCount);
+ treemap_squarify( from, to, lhs_list, lhs, cell_hyps[from][to].length, with_hyps );
+ }
+ }
+}
+
+function remove_non_terminal_treemap() {
+ for (var from=0;from<length;from++) {
+ for(var width=1; width<=length-from; width++) {
+ var to = from + width - 1;
+ var cell = document.getElementById("cell-" + from + "-" + to);
+ var done = false;
+ var j=0;
+ while(!done) {
+ var rect = document.getElementById("rect-" + from + "-" + to + "-" + j);
+ if (rect == null) {
+ done = true;
+ }
+ else {
+ cell.removeChild(rect);
+ var rect_label = document.getElementById("rect-label-" + from + "-" + to + "-" + j);
+ if (rect_label != null) {
+ cell.removeChild(rect_label);
+ }
+ }
+ j++;
+ }
+ }
+ }
+}
+
+function treemap_cell( from, to, label, count, total, with_hyps ) {
+ var cell = document.getElementById("cell-" + from + "-" + to);
+ var x = CELL_MARGIN;
+ var y = CELL_MARGIN;
+ var width = CELL_WIDTH - 2*CELL_MARGIN;
+ var height = CELL_HEIGHT - 2*CELL_MARGIN;
+ // TO DO
+ for (var i=0;i<label.length;i++) {
+ var rect = document.createElementNS(xmlns,"rect");
+ rect.setAttribute("id", "-" + id);
+ rect.setAttribute("x", x);
+ rect.setAttribute("y", y);
+ rect.setAttribute("width", width * count[label[i]] / total);
+ rect.setAttribute("height", height);
+ rect.setAttribute("opacity",.75);
+ rect.setAttribute("fill", "#c0c0ff");
+ rect.setAttribute("stroke", "black");
+ rect.setAttribute("stroke-width", "0.5");
+ rect.setAttribute("onclick","click_menu(" + id + ",0);")
+ cell.appendChild( rect );
+ x += width * count[label[i]] / total;
+ }
+}
+
+function treemap_squarify( from, to, label, count, total, with_hyps ) {
+ var cell = document.getElementById("cell-" + from + "-" + to);
+ // conversion of counts to area
+ var width = CELL_WIDTH - 2*CELL_MARGIN;
+ var height = CELL_HEIGHT - 2*CELL_MARGIN;
+ var area_factor = width*height / total;
+ var scale_factor = Math.sqrt( area_factor );
+ width /= scale_factor;
+ height /= scale_factor;
+ var offset_x = 0;
+ var offset_y = 0;
+
+ // main algorithm
+ var extend = Math.min(width,height);
+ var current_worst = squarify_worst( label, count, 0, 0, extend );
+ var start = 0;
+ for(var i=1; i<=label.length; i++) {
+ // add to sequence or start new one?
+ var next_worst = 0;
+ if (i != label.length) {
+ next_worst = squarify_worst( label, count, start, i, extend );
+ }
+ if (i != label.length && current_worst >= next_worst) {
+ current_worst = next_worst; // ... and keep going
+ }
+ else {
+ // compute rectangles...
+ var sum = 0;
+ for(var j=start; j<i; j++) {
+ sum += count[label[j]];
+ }
+ var cum_x = 0;
+ var cum_y = 0;
+ var remaining_ratio = sum / ((width - offset_x) * (height - offset_y));
+ var this_width = (width - offset_x) * remaining_ratio;
+ var this_height = (height - offset_y) * remaining_ratio;
+ var adding_on_left = height-offset_y < width-offset_x;
+ for(var j=start; j<i; j++) {
+ if (adding_on_left) { this_height = count[label[j]] / sum * (height - offset_y); }
+ else { this_width = count[label[j]] / sum * (width - offset_x); }
+ // rectangle
+ var rect = document.createElementNS(xmlns,"rect");
+ rect.setAttribute("id", "rect-" + from + "-" + to + "-" + j);
+ rect.setAttribute("x", CELL_MARGIN + (offset_x + cum_x) * scale_factor);
+ rect.setAttribute("y", CELL_MARGIN + (offset_y + cum_y) * scale_factor);
+ rect.setAttribute("width", this_width * scale_factor);
+ rect.setAttribute("height", this_height * scale_factor);
+ rect.setAttribute("fill-opacity",0);
+ rect.setAttribute("pointer-events", "none");
+ rect.setAttribute("stroke", "black");
+ rect.setAttribute("stroke-width", "0.5");
+ cell.appendChild( rect );
+ // hypotheses
+ if (with_hyps) {
+ var hyp_list = Array();
+ for(var k=0; k<cell_hyps[from][to].length; k++) {
+ var id = cell_hyps[from][to][k];
+ var nt = edge[id][LHS];
+ if (nt == label[j]) {
+ hyp_list.push( id );
+ }
+ }
+ hypothesis_in_rect( this_width * scale_factor - 2,
+ this_height * scale_factor - 2,
+ CELL_MARGIN + (offset_x + cum_x) * scale_factor + 1,
+ CELL_MARGIN + (offset_y + cum_y) * scale_factor + 1,
+ cell, hyp_list );
+ }
+ // label
+ var font_size = Math.min( Math.round(this_width * scale_factor / label[j].length * 1.3),
+ Math.round(this_height * scale_factor ));
+ if (font_size > 20) { font_size = 20; }
+ if (font_size >= 3) {
+ var rect_label = document.createElementNS(xmlns,"text");
+ rect_label.setAttribute("id", "rect-label-" + from + "-" + to + "-" + j);
+ rect_label.setAttribute("x", CELL_MARGIN + (offset_x + cum_x + this_width/2) * scale_factor);
+ rect_label.setAttribute("y", CELL_MARGIN + (offset_y + cum_y + this_height/2) * scale_factor + font_size/2 -2);
+ rect_label.setAttribute("style", "font-size: " + font_size + "; font-family: Verdana, Arial; font-weight:900;");
+ rect_label.setAttribute("fill", "#00f");
+ rect_label.setAttribute("opacity", .3);
+ rect_label.setAttribute("text-anchor", "middle");
+ rect_label.setAttribute("pointer-events", "none");
+ var content = document.createTextNode( label[j] );
+ rect_label.appendChild( content );
+ cell.appendChild( rect_label );
+ }
+ if (adding_on_left) { cum_y += this_height; }
+ else { cum_x += this_width; }
+ }
+ if (adding_on_left) { offset_x += this_width; }
+ else { offset_y += this_height; }
+
+ // move to next sequence
+ if (i != label.length) {
+ start = i;
+ extend = Math.min( width-offset_x, height-offset_y );
+ current_worst = squarify_worst( label, count, i, i, extend );
+ }
+ }
+ }
+}
+
+function squarify_worst( label, count, start, end, extend ) {
+ var sum = 0;
+ for(var i=start; i<=end; i++) {
+ sum += count[label[i]];
+ }
+ var max_ratio = 0;
+ for(var i=start; i<=end; i++) {
+ var ratio = count[label[i]] * extend*extend /sum/sum;
+ if (ratio < 1) { ratio = 1/ratio; }
+ max_ratio = Math.max( ratio, max_ratio );
+ }
+ return max_ratio;
+}
+
+// HIGHLIGHT BEST DERIVATION
+
+function best_derivation( on_off ) {
+ var best_score = -9e9;
+ var best_id = -1;
+ for (var i=0;i<cell_hyps[0][length-1].length;i++) {
+ id = cell_hyps[0][length-1][i];
+ if (edge[id][HYP_SCORE] > best_score) {
+ best_score = edge[id][HYP_SCORE];
+ best_id = id;
+ }
+ }
+ best_derivation_recurse( best_id, on_off, -1, -1, 0 );
+}
+
+function best_derivation_recurse( id, on_off, parent_from, parent_to, child_pos ) {
+ var from = edge[id][FROM];
+ var to = edge[id][TO];
+
+ // highlight cell and annotate with rule
+ highlight_cell( from, to, on_off );
+ if (on_off) {
+ var annotation = "";
+ if (show_id) { annotation += id + "<br>"; }
+ annotation += edge[id][LHS] + "\u2192";
+ annotation += edge[id][OUTPUT];
+ if (show_scores) { annotation += "<br>" + edge[id][HYP_SCORE]; }
+ annotate_cell( from, to, annotation, 10 );
+ }
+ else {
+ unannotate_cell( from, to );
+ }
+
+ // highlight hyp
+ highlight_hyp( id, on_off );
+
+ // arrow to parent
+ if (parent_from >= 0) {
+ if (on_off) {
+ make_arrow( id, parent_from, parent_to, from, to, 0, child_pos );
+ }
+ else {
+ var arrow = document.getElementById("arrow-" + id);
+ chart.removeChild(arrow);
+ }
+ }
+
+ var child_order = Array();
+ if (edge[id][ALIGNMENT] != "") {
+ var alignment = edge[id][ALIGNMENT].split(" ");
+ // sorting: array position is source nonterminal pos
+ alignment.sort();
+ // alignment target sympol pos -> source nonterminal pos
+ var reversed_alignment = Array();
+ for(var i=0; i<alignment.length; i++) {
+ var source_target = alignment[i].split("-");
+ reversed_alignment.push(source_target[1]+"-"+i);
+ }
+ // sorting by symbols pos: array position is nonterminal pos
+ reversed_alignment.sort();
+ // mapping child -> target nonterminal pos
+ for(var i=0; i<reversed_alignment.length; i++) {
+ var target_source = reversed_alignment[i].split("-");
+ child_order[target_source[1]] = i;
+ }
+ }
+
+ // recurse
+ var covered = new Array;
+ var children = get_children( id );
+ for(var c=0;c<children.length;c++) {
+ var child = children[c];
+ for( var i=edge[child][FROM]; i<=edge[child][TO]; i++ ) {
+ covered[i] = 1;
+ }
+ best_derivation_recurse( child, on_off, from, to, children.length == 1 ? 0.5 : child_order[c]/(children.length-1.0) );
+ }
+
+ // arrows to words
+ for( var i=from; i<=to; i++ ) {
+ if (covered[i] === undefined) {
+ if (on_off) {
+ make_arrow( "word-" + i, from, to, i, i, 1, 0.5 );
+ }
+ else {
+ var arrow = document.getElementById("arrow-word-" + i);
+ chart.removeChild(arrow);
+ }
+ }
+ }
+}
+
+function make_arrow( id, parent_from, parent_to, from, to, word_flag, position ) {
+ var arrow = document.createElementNS(xmlns,"line");
+ arrow.setAttribute("id", "arrow-" + id);
+
+ var parent = get_cellbox_coordinates( parent_from, parent_to );
+ arrow.setAttribute("x1", parent.x+(0.5+position)/2*CELL_WIDTH*parent.scale_x);
+ arrow.setAttribute("y1", parent.y+(CELL_HEIGHT-CELL_MARGIN)*parent.scale_y);
+
+ if (word_flag) {
+ arrow.setAttribute("x2", (from+.5)*CELL_WIDTH);
+ arrow.setAttribute("y2", CELL_MARGIN+length*CELL_HEIGHT);
+ }
+ else {
+ var child = get_cellbox_coordinates( from, to );
+ arrow.setAttribute("x2", child.x+child.scale_x*CELL_WIDTH/2);
+ arrow.setAttribute("y2", child.y+child.scale_y*CELL_MARGIN+word_flag*(CELL_HEIGHT+5));
+ }
+
+ arrow.setAttribute("stroke", word_flag ? "#808080" : "#008000");
+ arrow.setAttribute("stroke-width", "3");
+ chart.appendChild( arrow );
+}
+
+function get_cellbox_coordinates(from, to) {
+ var container = document.getElementById("cell-container-" + from + "-" + to);
+ var transform = document.getElementById("cell-" + from + "-" + to);
+ var scale = transform.getAttribute("transform").split(/[\(\),]/g);
+ var scale_x = scale[1];
+ var scale_y = scale[2];
+ return { x: Math.round(container.getAttribute("x")),
+ y: Math.round(container.getAttribute("y")),
+ scale_x: scale[1],
+ scale_y: scale[2]
+ }
+}
+
+function highlight_cell( from, to, on_off ) {
+ var cell = document.getElementById("cellbox-" + from + "-" + to);
+ cell.setAttribute("fill", on_off ? CELL_HIGHLIGHT_COLOR : get_cell_color(from,to) );
+}
+
+function color_cells() {
+ for (var from=0;from<length;from++) {
+ for(var width=1; width<=length-from; width++) {
+ var to = from+width-1;
+ highlight_cell(from,to,0);
+ }
+ }
+}
+
+function get_cell_color( from, to ) {
+ if (!show_derivation) {
+ return CELL_REGULAR_COLOR;
+ }
+ var score_diff = cell_derivation_score[from][to] - cell_derivation_score[0][length-1];
+ var dec = 128 - (score_diff*8);
+ if (dec>255) { dec = 255; }
+ var color = Math.round(dec).toString(16);
+ return "#ffff"+color;
+}
+
+function get_children( id ) {
+ if (edge[id][CHILDREN] == "") {
+ return [];
+ }
+ return edge[id][CHILDREN].split(" ");
+}
+
+// OVERVIEW ALL HYPOTHESES
+function hypothesis_overview() {
+ for (var from=0;from<length;from++) {
+ for(var width=1; width<=length-from; width++) {
+ var to = from + width - 1;
+ hypothesis_overview_cell( from, to );
+ }
+ }
+ draw_hypothesis_sort_buttons();
+}
+
+function draw_hypothesis_sort_buttons() {
+ // draw sort buttons
+ draw_sort_button(0,"sort by");
+ draw_sort_button(1,"id");
+ draw_sort_button(2,"score");
+ draw_sort_button(3,"lhs");
+}
+var SORT_BUTTON_COUNT = 4; // how many in total (incl. "sort by")?
+
+function hypothesis_overview_cell( from, to ) {
+ var width = CELL_WIDTH-2*(CELL_BORDER+CELL_MARGIN+CELL_PADDING);
+ var height = CELL_HEIGHT-2*(CELL_BORDER+CELL_MARGIN+CELL_PADDING);
+ var cell = document.getElementById("cell-" + from + "-" + to);
+ hypothesis_in_rect( width, height, CELL_BORDER+CELL_MARGIN+CELL_PADDING, CELL_BORDER+CELL_MARGIN+CELL_PADDING, cell, cell_hyps[from][to] );
+}
+
+function hypothesis_in_rect( width, height, offset_x, offset_y, parent_element, hyp_list ) {
+
+ // diameter, based on perfect fill
+ var diameter = Math.sqrt( width * height / hyp_list.length );
+ // if it does not fit the discrete objects, increase
+ while( Math.floor( width/diameter ) * Math.floor( height/diameter ) < hyp_list.length ) {
+ diameter = Math.max( width / Math.ceil( width/diameter + 0.0001 ), // fitting one more in row
+ height / Math.ceil( height/diameter + 0.0001 ) ); // fitting one more in column
+ }
+ var row_size = Math.floor( width / diameter );
+ var column_size = Math.floor( height / diameter );
+
+ // sort hypotheses
+ function sortByScore(a,b) {
+ return edge[b][HYP_SCORE] - edge[a][HYP_SCORE];
+ }
+ function sortById(a,b) {
+ return a-b;
+ }
+ if (SORT_OPTION == 1) {
+ hyp_list.sort(sortById);
+ }
+ else {
+ hyp_list.sort(sortByScore);
+ }
+
+ // draw hypothesis
+ var x=0
+ var y=0;
+ var column = 0;
+
+ for (var i=0; i<hyp_list.length;i++) {
+ id = hyp_list[i];
+
+ //alert("adding circle (" + (x + diameter/2) + "," + (y + diameter/2) + ") - " + (diameter/2) );
+ var hyp = document.createElementNS(xmlns,"circle");
+ hyp.setAttribute("id", "hyp-" + id);
+ hyp.setAttribute("cx", x + diameter/2 + offset_x);
+ hyp.setAttribute("cy", y + diameter/2 + offset_y);
+ hyp.setAttribute("r", diameter/2);
+ hyp.setAttribute("fill", hyp_color(id, 0));
+ hyp.setAttribute("onmouseover","hover_hyp(" + id + ");")
+ hyp.setAttribute("onmouseout","unhover_hyp(" + id + ");")
+ parent_element.appendChild( hyp );
+
+ x += diameter;
+ if (++column >= row_size) {
+ column = 0;
+ y += diameter;
+ x = 0;
+ }
+ }
+}
+
+function remove_hypothesis_overview() {
+ for (var id in edge) {
+ var cell = document.getElementById("cell-" + edge[id][FROM] + "-" + edge[id][TO]);
+ var hyp = document.getElementById("hyp-" + id);
+ cell.removeChild(hyp);
+ }
+ // remove sort buttons
+ for(var i=0; i<4; i++) {
+ var old = document.getElementById("sort-" + i);
+ chart.removeChild( old );
+ var old = document.getElementById("sort-label-" + i);
+ chart.removeChild( old );
+ }
+}
+
+function hover_hyp( id ) {
+ best_derivation_recurse( id, 1, -1, -1 );
+}
+
+function unhover_hyp( id ) {
+ best_derivation_recurse( id, 0, -1, -1 );
+}
+
+function hover_rule_hyp( id ) {
+ highlight_rule_hyp( id, 1 );
+ if (current_menu_selection == 1) {
+ best_derivation( 0 );
+ }
+ if (current_menu_selection <= 2) {
+ best_derivation_recurse( id, 1, -1, -1 );
+ }
+}
+
+function unhover_rule_hyp( id ) {
+ highlight_rule_hyp( id, 0 );
+ if (current_menu_selection <= 2) {
+ best_derivation_recurse( id, 0, -1, -1 );
+ }
+ if (current_menu_selection == 1) {
+ best_derivation( 1 );
+ }
+}
+
+function highlight_hyp( id, on_off ) {
+ var hyp = document.getElementById("hyp-" + id);
+ if (hyp == null) { return; }
+ hyp.setAttribute("fill", hyp_color(id, on_off));
+}
+
+function highlight_rule_hyp( id, on_off ) {
+ var hyp = document.getElementById("rule-hyp-" + id);
+ if (hyp == null) { return; }
+ hyp.setAttribute("fill", rule_hyp_color(id, on_off));
+}
+
+function hyp_color( id, on_off ) {
+ if (on_off) {
+ var color = "#ff0000";
+ if (edge[id][RECOMBINED]>0) { color = "#808080"; }
+ else if (id in reachable) { color = "#00c000"; }
+ return color;
+ }
+ var color = "#ffc0c0";
+ if (edge[id][RECOMBINED]>0) { color = "#c0c0c0"; }
+ else if (id in reachable) { color = "#80ff80"; }
+ return color;
+}
+
+// RULES
+
+function get_rule( id ) {
+ // get non-terminal labels
+ if (edge[id] === undefined) { alert("unknown edge "+id); return ""; }
+ var output = edge[id][OUTPUT].split(" ");
+ var alignment = edge[id][ALIGNMENT].split(" ");
+ alignment.sort();
+ var nt_label = Array();
+ for(var i=0;i<alignment.length;i++) {
+ var source_target = alignment[i].split("-");
+ nt_label.push(output[source_target[1]]);
+ }
+
+ var rule = edge[id][LHS]+"\u2192";
+ var children = get_children(id);
+ var pos = edge[id][FROM];
+ for (var i=0; i<children.length; i++) {
+ if (pos != edge[id][FROM]) { rule += " "; }
+ var child = children[i];
+ for(;pos<edge[child][FROM];pos++) {
+ rule += (input[pos].length <= 10) ? input[pos] : input[pos].substr(0,8) + ".";
+ rule += " ";
+ }
+ rule += nt_label[i];
+ rule += (edge[child][FROM] == edge[child][TO]) ?
+ "[" + edge[child][FROM] + "]" :
+ "[" + edge[child][FROM] + "-" + edge[child][TO] + "]";
+ pos = edge[child][TO]+1;
+ }
+ for(;pos<=edge[id][TO];pos++) {
+ if (pos != edge[id][FROM]) { rule += " "; }
+ rule += (input[pos].length <= 10) ? input[pos] : input[pos].substr(0,8) + ".";
+ }
+
+ return rule;
+}
+
+var rule_list;
+var edge2rule;
+var current_rule_from = -1;
+var current_rule_to;
+var RULE_HEIGHT;
+var RULE_FONT_SIZE;
+var best_hyp_score;
+var best_derivation_score;
+function show_rules( from, to ) {
+ unshow_rules();
+ var cell = document.getElementById("cellbox-" + from + "-" + to);
+ cell.setAttribute("stroke", "#800000");
+ cell.setAttribute("stroke-width", "3");
+ current_rule_from = from;
+ current_rule_to = to;
+
+ best_hyp_score = -9e9;
+ best_derivation_score = cell_derivation_score[from][to];
+
+ var rule_hash = Array();
+ var rule_count = Array();
+ rule_list = Array();
+ edge2rule = Array();
+ for (var i=0;i<cell_hyps[from][to].length;i++) {
+ var id = cell_hyps[from][to][i];
+ var rule = get_rule( id );
+ if (rule_hash[rule] === undefined) {
+ rule_hash[rule] = rule_list.length;
+ rule_count[rule_list.length] = 1;
+ rule_list.push(rule);
+ }
+ else {
+ rule_count[rule_hash[rule]]++;
+ }
+ edge2rule[id] = rule_hash[rule];
+
+ if (edge[id][HYP_SCORE] > best_hyp_score) {
+ best_hyp_score = edge[id][HYP_SCORE];
+ }
+ }
+ function sortByRuleCount( a, b ) {
+ return rule_count[rule_hash[b]] - rule_count[rule_hash[a]];
+ }
+ rule_list = rule_list.sort(sortByRuleCount);
+
+ RULE_HEIGHT = 15;
+ RULE_FONT_SIZE = 11;
+ // squeeze if too many rules
+ if (rule_list.length * RULE_HEIGHT > (CHART_HEIGHT-50)) {
+ var factor = (CHART_HEIGHT-50)/rule_list.length/RULE_HEIGHT;
+ RULE_HEIGHT = Math.floor( RULE_HEIGHT * factor );
+ RULE_FONT_SIZE = Math.ceil( RULE_FONT_SIZE * factor );
+ }
+
+ draw_rule_options();
+ for(var i=-1; i<rule_list.length; i++) {
+ draw_rule(from, to, i);
+ }
+ if (rule_list.length > 0) {
+ click_rule( from, to, 0 );
+ }
+}
+
+function unshow_rules() {
+ if (current_rule_from >= 0) {
+ var cell = document.getElementById("cellbox-" + current_rule_from + "-" + current_rule_to);
+ cell.setAttribute("stroke", "black");
+ cell.setAttribute("stroke-width", "1");
+ }
+ var finished = 0;
+ for(var i=-1; !finished; i++) {
+ var old = document.getElementById("rule-" + i);
+ if (old != null) { chart.removeChild( old ); }
+ else { finished = 1; }
+ }
+ var old = document.getElementById("rule-message");
+ if (old != null) { chart.removeChild( old ); }
+ old = document.getElementById("rule-cube");
+ if (old != null) { chart.removeChild( old ); }
+ finished = 0;
+ for(var i=1; !finished; i++) {
+ var old = document.getElementById("rule-option-" + i);
+ if (old != null) {
+ chart.removeChild( old );
+ var old = document.getElementById("rule-option-label-" + i);
+ chart.removeChild( old );
+ }
+ else { finished = 1; }
+ }
+}
+
+function draw_rule( from, to, rule_id ) {
+ var rule_label = document.createElementNS(xmlns,"text");
+ rule_label.setAttribute("id", "rule-" + rule_id);
+ rule_label.setAttribute("x", CHART_WIDTH-120);
+ rule_label.setAttribute("y", 10 + RULE_HEIGHT*(rule_id+1));
+ rule_label.setAttribute("text-anchor", "middle");
+ if (rule_id>-1) {
+ rule_label.setAttribute("style", "font-size: "+RULE_FONT_SIZE+"; font-family: Verdana, Arial;");
+ rule_label.setAttribute("onclick","click_rule(" + from + "," + to + "," + rule_id + ");");
+ var content = document.createTextNode( rule_list[rule_id] );
+ rule_label.appendChild( content );
+ }
+ else {
+ rule_label.setAttribute("style", "font-size: "+(RULE_FONT_SIZE-2)+"; font-family: Verdana, Arial; font-weight: bold;");
+ var content = document.createTextNode( rule_list.length == 0 ? "NO RULES" : "RULES" );
+ rule_label.appendChild( content );
+ }
+ chart.appendChild( rule_label );
+}
+
+function draw_rule_message( message ) {
+ var old = document.getElementById("rule-message");
+ if (old != null) { chart.removeChild( old ); }
+
+ var rule_message_group = document.createElementNS(xmlns,"svg");
+ rule_message_group.setAttribute("id","rule-message");
+ rule_message_group.setAttribute("x", 0);
+ rule_message_group.setAttribute("y", 250);
+ var line = message.split("<br>");
+ for(var i=0;i<line.length;i++) {
+ var line_label = document.createElementNS(xmlns,"text");
+ line_label.setAttribute("id", "rule-message-line" + id);
+ line_label.setAttribute("x", 0);
+ line_label.setAttribute("y", RULE_HEIGHT*(i+1));
+ line_label.setAttribute("style", "font-size: 9; font-family: Verdana, Arial;");
+ var content = document.createTextNode( line[i] );
+ line_label.appendChild( content );
+ rule_message_group.appendChild( line_label );
+ }
+ chart.appendChild( rule_message_group );
+}
+
+var output_list;
+var children_list;
+var current_edge;
+var current_rule_id = -1;
+var axis;
+var dimension_order;
+var RULE_CUBE_HYP_SIZE;
+var RULE_CUBE_FONT_SIZE;
+function click_rule( from, to, rule_id ) {
+ // highlight current rule
+ if (current_rule_id>=0) {
+ var rule_label = document.getElementById("rule-"+current_rule_id);
+ rule_label.setAttribute("style", "font-size: "+RULE_FONT_SIZE+"; font-family: Verdana, Arial;");
+ }
+ var rule_label = document.getElementById("rule-"+rule_id);
+ rule_label.setAttribute("style", "font-size: "+RULE_FONT_SIZE+"; font-family: Verdana, Arial; font-weight: bold;");
+ current_rule_id = rule_id;
+
+ // first get all the data
+ output_list = Array();
+ var output_hash = Array();
+ children_list = Array();
+ var children_hash = Array();
+ current_edge = Array();
+ for (var i=0;i<cell_hyps[from][to].length;i++) {
+ var id = cell_hyps[from][to][i];
+ var rule = get_rule( id );
+ if (rule == rule_list[rule_id]) {
+ current_edge.push( id );
+ // create index for output (target rhs)
+ var output = edge[id][OUTPUT]+"|"+edge[id][HEURISTIC_RULE_SCORE];
+ if (output_hash[output] === undefined) {
+ output_hash[output] = output_list.length;
+ output_list.push(output);
+ }
+ // create index for children
+ var children = get_children( id );
+ for(var j=0;j<children.length;j++) {
+ // init children indices if needed
+ if (j > children_list.length-1) {
+ children_hash.push([]);
+ children_list.push([]);
+ }
+ // build index
+ var child = ""+children[j];
+ if (children_hash[j][child] === undefined) {
+ children_hash[j][child] = children_list[j].length;
+ children_list[j].push(parseInt(child));
+ }
+ }
+ }
+ }
+
+ // sort
+ function sortBySecond(a,b) {
+ asplit = a.split("|");
+ bsplit = b.split("|");
+ return bsplit[1] - asplit[1];
+ }
+ output_list = output_list.sort(sortBySecond);
+
+ function sortHypByScore(a,b) {
+ return edge[b][HYP_SCORE] - edge[a][HYP_SCORE];
+ }
+ for(var i=0;i<children.length;i++) {
+ children_list[i].sort(sortHypByScore);
+ }
+
+ // select dimensions of rule cube
+ axis = Array();
+ axis.push(output_list);
+ for(var i=0;i<children_list.length;i++) {
+ axis.push(children_list[i]);
+ }
+
+ // determine order
+ var dimension_size = Array();
+ for(var i=0;i<axis.length;i++) {
+ dimension_size.push(i+"|"+(axis[i].length - i/10));
+ }
+ dimension_size.sort(sortBySecond);
+ dimension_order = Array();
+ for(var i=0;i<dimension_size.length;i++) {
+ id_size = dimension_size[i].split("|");
+ dimension_order.push(id_size[0]);
+ }
+
+ var z_pos = Array();
+ for(i=2;i<axis.length;i++) { z_pos.push(0); }
+ var z_pos_string = z_pos.join(",");
+ draw_rule_cube(z_pos.join(","));
+}
+
+var current_z_pos_string = "";
+function draw_rule_cube(z_pos_string) {
+ current_z_pos_string = z_pos_string;
+ var z_pos = Array();
+ if (z_pos_string != "") {
+ z_pos = z_pos_string.split(",");
+ }
+
+ // draw rube cube
+ var old = document.getElementById("rule-cube");
+ if (old != null) { chart.removeChild( old ); }
+
+ // dimensions of the 2x2 view
+ var max_length = axis[dimension_order[0]].length;
+ //if (axis.length>1 && axis[dimension_order[1]].length > max_length) {
+ // max_length = axis[dimension_order[1]].length;
+ //}
+
+ // space for additional dimensions
+ var z_dimension_length = 0;
+ if (dimension_order.length > 2) {
+ z_dimension_length = -2;
+ for(var i=2; i<dimension_order.length; i++ ) {
+ z_dimension_length += axis[dimension_order[i]].length + 2;
+ max_length += axis[dimension_order[i]].length + 2;
+ }
+ }
+ //if (dimension_order.length > 2) {
+ // for(var i=2; i<dimension_order.length; i++ ) {
+ // if (axis[dimension_order[i]].length > max_z_dimension_length) {
+ // max_z_dimension_length = axis[dimension_order[i]].length;
+ // }
+ // }
+ //}
+ //if (max_z_dimension_length > 10) {
+ // max_z_dimension_length = 10;
+ //}
+ //var y_length = axis[dimension_order[0]].length;
+ //if (max_z_dimension_length > 0) {
+ // y_length += max_z_dimension_length + 2;
+ // if (y_length > max_length) {
+ // max_length = y_length;
+ // }
+ //}
+
+ // calculate table cell and font size
+ if (max_length+8 <= CHART_HEIGHT/15) {
+ RULE_CUBE_HYP_SIZE = 15;
+ RULE_CUBE_FONT_SIZE = 11;
+ }
+ else if (max_length+8 > CHART_HEIGHT/9) {
+ RULE_CUBE_HYP_SIZE = 9;
+ RULE_CUBE_FONT_SIZE = 7;
+ }
+ else {
+ RULE_CUBE_HYP_SIZE = CHART_HEIGHT/(max_length+8);
+ RULE_CUBE_FONT_SIZE = (RULE_CUBE_HYP_SIZE * 12/15).toFixed(0);
+ }
+ var Z_HEIGHT = 0;
+ if (dimension_order.length > 2) {
+ Z_HEIGHT = (z_dimension_length + 2) * RULE_CUBE_HYP_SIZE;
+ }
+
+ var rule_cube = document.createElementNS(xmlns,"svg");
+ rule_cube.setAttribute("id","rule-cube");
+ rule_cube.setAttribute("x", CHART_WIDTH - 30);
+ rule_cube.setAttribute("y", 0);
+ chart.appendChild( rule_cube );
+
+ // draw y axis
+ var label = get_rule_axis_name(dimension_order[0]);
+ draw_rule_row(-1,label);
+ for(var y=0; y<axis[dimension_order[0]].length; y++) {
+ var label = get_rule_axis_label(dimension_order[0], y);
+ draw_rule_row(y,label);
+ }
+ if (axis[dimension_order[0]].length > (CHART_HEIGHT-Z_HEIGHT)/9-10) {
+ draw_rule_row(Math.ceil(CHART_HEIGHT/9-10),"(more, "+axis[dimension_order[0]].length+" total)");
+ }
+
+ // draw x axis
+ if (axis.length > 1) {
+ var label = get_rule_axis_name(dimension_order[1]);
+ draw_rule_column(-1,label);
+ for(var x=0; x<axis[dimension_order[1]].length && x<CHART_HEIGHT/9-10; x++) {
+ var label = get_rule_axis_label(dimension_order[1], x);
+ draw_rule_column(x,label);
+ }
+ if (axis[dimension_order[1]].length > CHART_HEIGHT/9-10) {
+ draw_rule_column(Math.ceil(CHART_HEIGHT/9-10),"(more, "+axis[dimension_order[1]].length+" total)");
+ }
+ }
+
+ // draw hyps
+ for(var y=0; y<axis[dimension_order[0]].length && y<(CHART_HEIGHT-Z_HEIGHT)/9-10; y++) {
+ if (axis.length == 1) {
+ var hyp = find_hyp_by_rule([y],dimension_order);
+ draw_rule_hyp(0,y,hyp);
+ }
+ else {
+ for(var x=0; x<axis[dimension_order[1]].length && x<CHART_HEIGHT/9-10; x++) {
+ var hyp = find_hyp_by_rule([y,x].concat(z_pos),dimension_order);
+ draw_rule_hyp(x,y,hyp);
+ }
+ }
+ }
+
+
+ // draw z-axes
+ var pos_offset = axis[dimension_order[0]].length+2;
+ for(var z=2;z<dimension_order.length;z++) {
+ var label = get_rule_axis_name(dimension_order[z]);
+ draw_rule_z(z-2,dimension_order.length-2, z_pos, -1, pos_offset, label);
+ for(var i=0;i<axis[dimension_order[z]].length && i<z_dimension_length; i++) {
+ var label = get_rule_axis_label(dimension_order[z], i);
+ draw_rule_z(z-2,dimension_order.length-2, z_pos, i, pos_offset, label);
+ }
+ pos_offset += axis[dimension_order[z]].length+2;
+ }
+
+ // report summary statistics
+ var message = output_list.length + " output phrases";
+ message += "<br>DEBUG: " + axis.length;
+ message += "<br>" + dimension_order.length;
+ for(var i=0;i<children_list.length;i++) {
+ message += "<br>" + children_list[i].length + " hyps for NT" + (i+1);
+ }
+ //draw_rule_message(message);
+}
+
+function find_hyp_by_rule(position, dimension_order) {
+ for(var e=0;e<current_edge.length;e++) {
+ var id = current_edge[e];
+ var children = get_children( id );
+ var match = 1;
+ for(var p=0; p<position.length; p++) {
+ if (dimension_order[p] == 0) {
+ if (output_list[position[p]] != edge[id][OUTPUT]+"|"+edge[id][HEURISTIC_RULE_SCORE]) {
+ match = 0;
+ }
+ }
+ else {
+ var nt_number = dimension_order[p]-1;
+ if (children_list[nt_number][position[p]] != children[nt_number]) {
+ match = 0;
+ }
+ }
+ }
+ if (match) { return id; }
+ }
+ return -1;
+}
+
+function get_rule_axis_label( dimension, i ) {
+ if (dimension == 0) {
+ var output_score = output_list[i].split("|");
+ var score = 1 * output_score[1];
+ return output_score[0]+" "+score.toFixed(1);
+ }
+ var id = children_list[dimension-1][i];
+ return get_display_output( id ) + " " + edge[id][HYP_SCORE].toFixed(1);
+}
+
+function get_rule_axis_name( dimension ) {
+ if (dimension == 0) {
+ return "TARGET";
+ }
+ return "NT" + dimension;
+}
+
+
+function get_display_output( id ) {
+ var output_string = get_full_output( id );
+ var output = output_string.split(" ");
+ if (output.length <= 2) {
+ return output_string;
+ }
+ else {
+ return output[0] + "\u203B" + output[output.length-1];
+ }
+}
+
+function get_full_output( id ) {
+ var output = edge[id][OUTPUT].split(" ");
+
+ var alignment = edge[id][ALIGNMENT].split(" ");
+ var children = get_children( id );
+ alignment.sort();
+ var nonterminal = Array();
+ for(var i=0; i<alignment.length; i++) {
+ var source_target = alignment[i].split("-");
+ nonterminal[source_target[1]] = children[i];
+ }
+
+ var full_output = "";
+ for(var i=0;i<output.length;i++) {
+ if (nonterminal[i] === undefined) {
+ full_output += " " + output[i];
+ }
+ else {
+ full_output += " " + get_full_output( nonterminal[i] );
+ }
+ }
+ return full_output.substr(1);
+}
+
+function draw_rule_row( pos, label ) {
+ var rule_label = document.createElementNS(xmlns,"text");
+ rule_label.setAttribute("id", "rule-row-" + pos);
+ rule_label.setAttribute("y", RULE_CUBE_FONT_SIZE*10 + RULE_CUBE_HYP_SIZE*pos);
+ if (pos>=0) {
+ rule_label.setAttribute("style", "font-size: "+RULE_CUBE_FONT_SIZE+"; font-family: Verdana, Arial;");
+ rule_label.setAttribute("x", RULE_CUBE_FONT_SIZE*10+5);
+ }
+ else {
+ rule_label.setAttribute("style", "font-size: "+(RULE_CUBE_FONT_SIZE-2)+"; font-family: Verdana, Arial; font-weight: bold;");
+ rule_label.setAttribute("x", RULE_CUBE_FONT_SIZE*10-30);
+ }
+ rule_label.setAttribute("text-anchor", "end");
+ var content = document.createTextNode( label );
+ rule_label.appendChild( content );
+ var rule_cube = document.getElementById("rule-cube");
+ rule_cube.appendChild( rule_label );
+}
+
+function draw_rule_column( pos, label ) {
+ var rule_label = document.createElementNS(xmlns,"text");
+ rule_label.setAttribute("id", "rule-column-" + pos);
+ rule_label.setAttribute("x", RULE_CUBE_FONT_SIZE*10 -3 + RULE_CUBE_HYP_SIZE*(1+pos) );
+ rule_label.setAttribute("y", RULE_CUBE_FONT_SIZE*10 -12);
+ rule_label.setAttribute("transform", "rotate(60 "+ (RULE_CUBE_FONT_SIZE*10-3+RULE_CUBE_HYP_SIZE*(1+pos)) +" "+(RULE_CUBE_FONT_SIZE*10 - 12)+")")
+ if (pos>=0) {
+ rule_label.setAttribute("style", "font-size: "+RULE_CUBE_FONT_SIZE+"; font-family: Verdana, Arial;");
+ }
+ else {
+ rule_label.setAttribute("style", "font-size: "+(RULE_CUBE_FONT_SIZE-2)+"; font-family: Verdana, Arial; font-weight: bold;");
+ }
+ rule_label.setAttribute("text-anchor", "end");
+ var content = document.createTextNode( label );
+ rule_label.appendChild( content );
+ var rule_cube = document.getElementById("rule-cube");
+ rule_cube.appendChild( rule_label );
+}
+
+function draw_rule_z( z,total_z, z_pos, pos,pos_offset, label ) {
+ var rule_label = document.createElementNS(xmlns,"text");
+ rule_label.setAttribute("id", "rule-z-" + z + "-" + pos);
+ //rule_label.setAttribute("x", RULE_CUBE_FONT_SIZE*10+10 + CHART_HEIGHT*z/(total_z+1) );
+ rule_label.setAttribute("x", RULE_CUBE_FONT_SIZE*10+10 );
+ rule_label.setAttribute("y", RULE_CUBE_FONT_SIZE*10 + RULE_CUBE_HYP_SIZE*(pos+pos_offset));
+ if (pos >= 0) {
+ rule_label.setAttribute("style", "font-size: "+RULE_CUBE_FONT_SIZE+"; font-family: Verdana, Arial;"
+ +((z_pos[z] == pos)?" font-weight: bold;":""));
+ z_pos_copy = z_pos.join(",").split(",");
+ z_pos_copy[z] = pos;
+ rule_label.setAttribute("onclick","draw_rule_cube(\"" + z_pos_copy.join(",") + "\");");
+ }
+ else {
+ rule_label.setAttribute("style", "font-size: "+(RULE_CUBE_FONT_SIZE-2)+"; font-family: Verdana, Arial; font-weight: bold;");
+ }
+
+ var content = document.createTextNode( label );
+ rule_label.appendChild( content );
+ var rule_cube = document.getElementById("rule-cube");
+ rule_cube.appendChild( rule_label );
+}
+
+function draw_rule_hyp( xpos, ypos, id ) {
+ if (id == -1) { return; }
+ var diameter = RULE_CUBE_HYP_SIZE-2;
+ var hyp = document.createElementNS(xmlns,"circle");
+ hyp.setAttribute("id", "rule-hyp-" + id);
+ hyp.setAttribute("cx", RULE_CUBE_FONT_SIZE*10+10 + RULE_CUBE_HYP_SIZE*xpos + diameter/2);
+ hyp.setAttribute("cy", RULE_CUBE_FONT_SIZE*10-2 + RULE_CUBE_HYP_SIZE*(ypos-0.5) + diameter/2);
+ hyp.setAttribute("r", diameter/2);
+ hyp.setAttribute("fill", rule_hyp_color(id, 0));
+ //hyp.setAttribute("opacity",.5);
+ hyp.setAttribute("onmouseover","hover_rule_hyp(" + id + ");")
+ hyp.setAttribute("onmouseout","unhover_rule_hyp(" + id + ");")
+ var rule_cube = document.getElementById("rule-cube");
+ rule_cube.appendChild( hyp );
+}
+
+function rule_hyp_color( id, on_off ) {
+ if (!show_hyp_score && !show_derivation_score) {
+ return hyp_color( id, on_off );
+ }
+ var inactive_color = on_off ? "80" : "00";
+ var hyp_score_color = inactive_color;
+ var derivation_score_color = inactive_color;
+ if (show_hyp_score) {
+ hyp_score_color = get_score_from_color(best_hyp_score-edge[id][HYP_SCORE]);
+ }
+ if (show_derivation_score) {
+ if (edge[id][DERIVATION_SCORE] == null) {
+ derivation_score_color = "00";
+ }
+ else {
+ derivation_score_color = get_score_from_color(best_derivation_score-edge[id][DERIVATION_SCORE]);
+ }
+ }
+ return "#" + inactive_color + derivation_score_color + hyp_score_color;
+}
+
+function get_score_from_color( score, on_off ) {
+ if (score == null) { return "00"; }
+ var dec = 255 - 255 * (score/8);
+ if (dec < 0) { dec = 0; }
+ if (on_off) { dec = dec/2+128; }
+ dec = Math.floor(dec/16)*16+15;
+ var color = dec.toString(16);
+ if (dec < 16) { color = "0"+color; }
+ return color;
+}
diff --git a/scripts/ems/web/sgviz.php b/scripts/ems/web/sgviz.php
new file mode 100644
index 000000000..a2a4f7fc8
--- /dev/null
+++ b/scripts/ems/web/sgviz.php
@@ -0,0 +1,65 @@
+<?php
+function sgviz($sentence) {
+ global $setup,$dir,$id,$set;
+?><html><head><title>Search Graph Visualization, Sentence <?php $sentence ?></title>
+<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
+<script language="javascript" src="/javascripts/prototype.js"></script></head>
+<body><svg id="sg" height="500" width="900" xmlns="http://www.w3.org/2000/svg"><g id="chart"></g></svg>
+<script>
+var sg = document.getElementById("sg");
+sg.setAttribute("width", window.innerWidth-20);
+sg.setAttribute("height",window.innerHeight-20);
+<?php
+// read input sentence
+$handle = fopen(get_current_analysis_filename("coverage","input-annotation"),"r");
+for($i=0;$i<$sentence;$i++) { $line = fgets($handle); }
+$line = fgets($handle);
+fclose($handle);
+$l = explode("\t",$line);
+print "input=[\"<s>\",\"".join("\",\"",explode(" ",addslashes($l[0])))."\",\"</s>\"];\n";
+?>
+</script>
+<script language="javascript" src="sgviz.js"></script>
+<script>
+var edge = new Array();
+function test() {
+ alert("test");
+}
+new Ajax.Request('?analysis=sgviz_data'
+ + '&setup=<?php print $setup ?>'
+ + '&id=<?php print $id ?>'
+ + '&set=<?php print $set ?>'
+ + '&sentence=<?php print $sentence; ?>',
+ {
+ onSuccess: function(transport) {
+ var json = transport.responseText.evalJSON();
+ edge = json.edge;
+ process_hypotheses();
+ },
+ method: "post"
+ });
+</script></body></html>
+<?php
+// read graph
+//$file = get_current_analysis_filename("basic","search-graph")."/graph.$sentence";
+//$handle = fopen($file,"r");
+//while (($line = fgets($handle)) !== false) {
+// $e = explode("\t",addslashes(chop($line)));
+// print "edge[$e[0]]=new Array($e[1],$e[2],$e[3],\"$e[4]\",\"$e[5]\",\"$e[6]\",$e[7],$e[8],$e[9],\"$e[10]\");\n";
+//}
+//fclose($handle);
+}
+
+function sgviz_data($sentence) {
+ header('Content-type: application/json');
+ $file = get_current_analysis_filename("basic","search-graph")."/graph.$sentence";
+
+ $handle = fopen($file,"r");
+ while (($line = fgets($handle)) !== false) {
+ $e = explode("\t",addslashes(chop($line)));
+ $edge[$e[0]] = array($e[1],$e[2],$e[3],$e[4],$e[5],$e[6],$e[7],$e[8],$e[9],$e[10]);
+ }
+ $return['edge'] = $edge;
+ print json_encode($return);
+ exit();
+}
diff --git a/scripts/generic/moses-parallel.pl b/scripts/generic/moses-parallel.pl
index 0a3354183..d1840fc55 100755
--- a/scripts/generic/moses-parallel.pl
+++ b/scripts/generic/moses-parallel.pl
@@ -965,7 +965,7 @@ sub safesystem {
sub getPwdCmd(){
my $pwdcmd="pwd";
my $a;
- chomp($a=`which pawd | head -1 | awk '{print $1}'`);
+ chomp($a=`which pawd 2> /dev/null | head -1 | awk '{print $1}'`);
if ($a && -e $a){ $pwdcmd=$a; }
return $pwdcmd;
}
diff --git a/scripts/generic/multi-bleu.perl b/scripts/generic/multi-bleu.perl
index 137117647..94da1504f 100755
--- a/scripts/generic/multi-bleu.perl
+++ b/scripts/generic/multi-bleu.perl
@@ -25,6 +25,7 @@ while(-e "$stem$ref") {
$ref++;
}
&add_to_ref($stem,\@REF) if -e $stem;
+die("ERROR: could not find reference file $stem") unless scalar @REF;
sub add_to_ref {
my ($file,$REF) = @_;
diff --git a/scripts/generic/qsub-wrapper.pl b/scripts/generic/qsub-wrapper.pl
index 65158c00f..e34c84a74 100755
--- a/scripts/generic/qsub-wrapper.pl
+++ b/scripts/generic/qsub-wrapper.pl
@@ -248,7 +248,7 @@ sub safesystem {
sub getPwdCmd(){
my $pwdcmd="pwd";
my $a;
- chomp($a=`which pawd | head -1 | awk '{print $1}'`);
+ chomp($a=`which pawd 2> /dev/null | head -1 | awk '{print $1}'`);
if ($a && -e $a){ $pwdcmd=$a; }
return $pwdcmd;
}
diff --git a/scripts/training/absolutize_moses_model.pl b/scripts/training/absolutize_moses_model.pl
index 1b485a01f..99efafe8e 100755
--- a/scripts/training/absolutize_moses_model.pl
+++ b/scripts/training/absolutize_moses_model.pl
@@ -98,7 +98,7 @@ sub ensure_absolute {
my $target = shift;
my $originfile = shift;
- my $cwd = `pawd`;
+ my $cwd = `pawd 2> /dev/null`;
$cwd = `pwd` if ! defined $cwd; # not everyone has pawd!
die "Failed to absolutize $target. Failing to get cwd!" if ! defined $cwd;
chomp $cwd;
diff --git a/scripts/training/wrappers/parse-de-bitpar.perl b/scripts/training/wrappers/parse-de-bitpar.perl
index bbcccf877..370187d32 100755
--- a/scripts/training/wrappers/parse-de-bitpar.perl
+++ b/scripts/training/wrappers/parse-de-bitpar.perl
@@ -9,6 +9,9 @@ use File::Temp qw/tempfile/;
my $BITPAR = "/exports/home/s0565741/work/bin/bitpar";
my $TMPDIR = "tmp";
+my $SCRIPTS_ROOT_DIR = "$RealBin/../..";
+my $DEESCAPE = "$SCRIPTS_ROOT_DIR/tokenizer/deescape-special-chars.perl";
+
my $DEBUG = 0;
my $BASIC = 0;
my $OLD_BITPAR = 0;
@@ -27,11 +30,11 @@ my ($scriptname, $directories) = fileparse($0);
my ($TMP, $tmpfile) = tempfile("$scriptname-XXXXXXXXXX", DIR=>$TMPDIR, UNLINK=>1);
if ($OLD_BITPAR)
{
- open(INPUT,"iconv -c -f UTF-8 -t iso-8859-1 |");
+ open(INPUT,"$DEESCAPE | iconv -c -f UTF-8 -t iso-8859-1 |");
}
else
{
- open (INPUT,"cat |");
+ open (INPUT,"$DEESCAPE |");
}
while(<INPUT>)
{
@@ -162,7 +165,12 @@ sub is_aux_label {
sub escape {
my ($text) = @_;
$text =~ s/&/&amp;/g;
+ $text =~ s/\|/&#124;/g;
$text =~ s/</&lt;/g;
$text =~ s/>/&gt;/g;
+ $text =~ s/'/&apos;/g;
+ $text =~ s/"/&quot;/g;
+ $text =~ s/\[/&#91;/g;
+ $text =~ s/\]/&#93;/g;
return $text;
}
diff --git a/util/ersatz_progress.cc b/util/ersatz_progress.cc
index 07b14e26d..eb635ad8a 100644
--- a/util/ersatz_progress.cc
+++ b/util/ersatz_progress.cc
@@ -9,16 +9,16 @@ namespace util {
namespace { const unsigned char kWidth = 100; }
-ErsatzProgress::ErsatzProgress() : current_(0), next_(std::numeric_limits<std::size_t>::max()), complete_(next_), out_(NULL) {}
+ErsatzProgress::ErsatzProgress() : current_(0), next_(std::numeric_limits<uint64_t>::max()), complete_(next_), out_(NULL) {}
ErsatzProgress::~ErsatzProgress() {
if (out_) Finished();
}
-ErsatzProgress::ErsatzProgress(std::size_t complete, std::ostream *to, const std::string &message)
+ErsatzProgress::ErsatzProgress(uint64_t complete, std::ostream *to, const std::string &message)
: current_(0), next_(complete / kWidth), complete_(complete), stones_written_(0), out_(to) {
if (!out_) {
- next_ = std::numeric_limits<std::size_t>::max();
+ next_ = std::numeric_limits<uint64_t>::max();
return;
}
if (!message.empty()) *out_ << message << '\n';
@@ -28,14 +28,14 @@ ErsatzProgress::ErsatzProgress(std::size_t complete, std::ostream *to, const std
void ErsatzProgress::Milestone() {
if (!out_) { current_ = 0; return; }
if (!complete_) return;
- unsigned char stone = std::min(static_cast<std::size_t>(kWidth), (current_ * kWidth) / complete_);
+ unsigned char stone = std::min(static_cast<uint64_t>(kWidth), (current_ * kWidth) / complete_);
for (; stones_written_ < stone; ++stones_written_) {
(*out_) << '*';
}
if (stone == kWidth) {
(*out_) << std::endl;
- next_ = std::numeric_limits<std::size_t>::max();
+ next_ = std::numeric_limits<uint64_t>::max();
out_ = NULL;
} else {
next_ = std::max(next_, (stone * complete_) / kWidth);
diff --git a/util/ersatz_progress.hh b/util/ersatz_progress.hh
index f709dc516..ff4d590ff 100644
--- a/util/ersatz_progress.hh
+++ b/util/ersatz_progress.hh
@@ -4,6 +4,8 @@
#include <iostream>
#include <string>
+#include <inttypes.h>
+
// Ersatz version of boost::progress so core language model doesn't depend on
// boost. Also adds option to print nothing.
@@ -14,7 +16,7 @@ class ErsatzProgress {
ErsatzProgress();
// Null means no output. The null value is useful for passing along the ostream pointer from another caller.
- explicit ErsatzProgress(std::size_t complete, std::ostream *to = &std::cerr, const std::string &message = "");
+ explicit ErsatzProgress(uint64_t complete, std::ostream *to = &std::cerr, const std::string &message = "");
~ErsatzProgress();
@@ -23,12 +25,12 @@ class ErsatzProgress {
return *this;
}
- ErsatzProgress &operator+=(std::size_t amount) {
+ ErsatzProgress &operator+=(uint64_t amount) {
if ((current_ += amount) >= next_) Milestone();
return *this;
}
- void Set(std::size_t to) {
+ void Set(uint64_t to) {
if ((current_ = to) >= next_) Milestone();
Milestone();
}
@@ -40,7 +42,7 @@ class ErsatzProgress {
private:
void Milestone();
- std::size_t current_, next_, complete_;
+ uint64_t current_, next_, complete_;
unsigned char stones_written_;
std::ostream *out_;
diff --git a/util/exception.cc b/util/exception.cc
index c4f8c04ce..3806e6de4 100644
--- a/util/exception.cc
+++ b/util/exception.cc
@@ -84,4 +84,7 @@ EndOfFileException::EndOfFileException() throw() {
}
EndOfFileException::~EndOfFileException() throw() {}
+OverflowException::OverflowException() throw() {}
+OverflowException::~OverflowException() throw() {}
+
} // namespace util
diff --git a/util/exception.hh b/util/exception.hh
index 6d6a37cb1..83f99cd6f 100644
--- a/util/exception.hh
+++ b/util/exception.hh
@@ -2,9 +2,12 @@
#define UTIL_EXCEPTION__
#include <exception>
+#include <limits>
#include <sstream>
#include <string>
+#include <inttypes.h>
+
namespace util {
template <class Except, class Data> typename Except::template ExceptionTag<Except&>::Identity operator<<(Except &e, const Data &data);
@@ -111,6 +114,25 @@ class EndOfFileException : public Exception {
~EndOfFileException() throw();
};
+class OverflowException : public Exception {
+ public:
+ OverflowException() throw();
+ ~OverflowException() throw();
+};
+
+template <unsigned len> inline std::size_t CheckOverflowInternal(uint64_t value) {
+ UTIL_THROW_IF(value > static_cast<uint64_t>(std::numeric_limits<std::size_t>::max()), OverflowException, "Integer overflow detected. This model is too big for 32-bit code.");
+ return value;
+}
+
+template <> inline std::size_t CheckOverflowInternal<8>(uint64_t value) {
+ return value;
+}
+
+inline std::size_t CheckOverflow(uint64_t value) {
+ return CheckOverflowInternal<sizeof(std::size_t)>(value);
+}
+
} // namespace util
#endif // UTIL_EXCEPTION__
diff --git a/util/file.cc b/util/file.cc
index 4899e5ac3..834237c8d 100644
--- a/util/file.cc
+++ b/util/file.cc
@@ -6,6 +6,7 @@
#include <cstdio>
#include <iostream>
+#include <assert.h>
#include <sys/types.h>
#include <sys/stat.h>
#include <fcntl.h>
@@ -111,6 +112,11 @@ void WriteOrThrow(int fd, const void *data_void, std::size_t size) {
}
}
+void WriteOrThrow(FILE *to, const void *data, std::size_t size) {
+ assert(size);
+ if (1 != std::fwrite(data, size, 1, to)) UTIL_THROW(util::ErrnoException, "Short write; requested size " << size);
+}
+
void FSyncOrThrow(int fd) {
// Apparently windows doesn't have fsync?
#if !defined(_WIN32) && !defined(_WIN64)
@@ -119,8 +125,13 @@ void FSyncOrThrow(int fd) {
}
namespace {
-void InternalSeek(int fd, off_t off, int whence) {
+void InternalSeek(int fd, int64_t off, int whence) {
+#if defined(_WIN32) || defined(_WIN64)
+ UTIL_THROW_IF((__int64)-1 == _lseeki64(fd, off, whence), ErrnoException, "Windows seek failed");
+
+#else
UTIL_THROW_IF((off_t)-1 == lseek(fd, off, whence), ErrnoException, "Seek failed");
+#endif
}
} // namespace
@@ -143,6 +154,12 @@ std::FILE *FDOpenOrThrow(scoped_fd &file) {
return ret;
}
+std::FILE *FOpenOrThrow(const char *path, const char *mode) {
+ std::FILE *ret;
+ UTIL_THROW_IF(!(ret = fopen(path, mode)), util::ErrnoException, "Could not fopen " << path << " for " << mode);
+ return ret;
+}
+
TempMaker::TempMaker(const std::string &prefix) : base_(prefix) {
base_ += "XXXXXX";
}
diff --git a/util/file.hh b/util/file.hh
index 8af1ff4ff..0108acc95 100644
--- a/util/file.hh
+++ b/util/file.hh
@@ -80,6 +80,7 @@ void ReadOrThrow(int fd, void *to, std::size_t size);
std::size_t ReadOrEOF(int fd, void *to_void, std::size_t amount);
void WriteOrThrow(int fd, const void *data_void, std::size_t size);
+void WriteOrThrow(FILE *to, const void *data, std::size_t size);
void FSyncOrThrow(int fd);
@@ -90,6 +91,8 @@ void SeekEnd(int fd);
std::FILE *FDOpenOrThrow(scoped_fd &file);
+std::FILE *FOpenOrThrow(const char *path, const char *mode);
+
class TempMaker {
public:
explicit TempMaker(const std::string &prefix);
diff --git a/util/file_piece.cc b/util/file_piece.cc
index 19a68728a..280f438c3 100644
--- a/util/file_piece.cc
+++ b/util/file_piece.cc
@@ -5,6 +5,8 @@
#include "util/mmap.hh"
#ifdef WIN32
#include <io.h>
+#else
+#include <unistd.h>
#endif // WIN32
#include <iostream>
diff --git a/util/probing_hash_table.hh b/util/probing_hash_table.hh
index 3354b68ef..770faa7e3 100644
--- a/util/probing_hash_table.hh
+++ b/util/probing_hash_table.hh
@@ -8,6 +8,7 @@
#include <functional>
#include <assert.h>
+#include <inttypes.h>
namespace util {
@@ -42,8 +43,8 @@ template <class EntryT, class HashT, class EqualT = std::equal_to<typename Entry
typedef EqualT Equal;
public:
- static std::size_t Size(std::size_t entries, float multiplier) {
- std::size_t buckets = std::max(entries + 1, static_cast<std::size_t>(multiplier * static_cast<float>(entries)));
+ static uint64_t Size(uint64_t entries, float multiplier) {
+ uint64_t buckets = std::max(entries + 1, static_cast<uint64_t>(multiplier * static_cast<float>(entries)));
return buckets * sizeof(Entry);
}