summaryrefslogtreecommitdiff
path: root/decoder
diff options
context:
space:
mode:
authorChris Dyer <redpony@gmail.com>2015-03-03 01:14:07 -0500
committerChris Dyer <redpony@gmail.com>2015-03-03 01:14:07 -0500
commit6cbdccb1d9a62b2723b962ba4b6e66f1631e48d3 (patch)
tree686d2e294f8a69cad620fced60106fcb1f6cac8e /decoder
parent24cee877f2bb4b490495ea578564d0266b1addd3 (diff)
migration to cmake
Diffstat (limited to 'decoder')
-rw-r--r--decoder/CMakeLists.txt179
-rw-r--r--decoder/Makefile.am166
-rw-r--r--decoder/apply_models.h6
-rw-r--r--decoder/decoder.h4
-rw-r--r--decoder/factored_lexicon_helper.h2
-rw-r--r--decoder/ff_csplit.h4
-rw-r--r--decoder/ff_klm.cc1
-rw-r--r--decoder/ff_klm.h2
-rw-r--r--decoder/ff_lm.cc2
-rw-r--r--decoder/ff_lm.h3
-rw-r--r--decoder/ff_ngrams.cc8
-rw-r--r--decoder/ff_ngrams.h2
-rw-r--r--decoder/ff_spans.h1
-rw-r--r--decoder/ff_wordalign.cc2
-rw-r--r--decoder/grammar.h2
-rw-r--r--decoder/hg_union.cc4
-rw-r--r--decoder/phrasebased_translator.h2
-rw-r--r--decoder/scfg_translator.cc2
-rw-r--r--decoder/sentence_metadata.h6
-rw-r--r--decoder/translator.h8
-rw-r--r--decoder/tree_fragment.cc4
-rw-r--r--decoder/trule.h2
22 files changed, 209 insertions, 203 deletions
diff --git a/decoder/CMakeLists.txt b/decoder/CMakeLists.txt
new file mode 100644
index 00000000..591ab7b3
--- /dev/null
+++ b/decoder/CMakeLists.txt
@@ -0,0 +1,179 @@
+INCLUDE_DIRECTORIES(${CMAKE_CURRENT_SOURCE_DIR}/../utils)
+INCLUDE_DIRECTORIES(${CMAKE_CURRENT_SOURCE_DIR}/../mteval)
+INCLUDE_DIRECTORIES(${CMAKE_CURRENT_SOURCE_DIR}/../klm)
+INCLUDE_DIRECTORIES(${CMAKE_CURRENT_SOURCE_DIR}/..)
+
+PROJECT(decoder C CXX)
+
+find_package(FLEX REQUIRED)
+
+FLEX_TARGET(RuleLexer rule_lexer.ll ${CMAKE_CURRENT_BINARY_DIR}/rule_lexer.cc)
+
+set(libcdec_SRCS
+ aligner.h
+ apply_models.h
+ bottom_up_parser.h
+ bottom_up_parser-rs.h
+ csplit.h
+ decoder.h
+ earley_composer.h
+ factored_lexicon_helper.h
+ ff.h
+ ff_basic.h
+ ff_bleu.h
+ ff_charset.h
+ ff_conll.h
+ ff_const_reorder_common.h
+ ff_const_reorder.h
+ ff_context.h
+ ff_csplit.h
+ ff_external.h
+ ff_factory.h
+ ff_klm.h
+ ff_lexical.h
+ ff_lm.h
+ ff_ngrams.h
+ ff_parse_match.h
+ ff_register.h
+ ff_rules.h
+ ff_ruleshape.h
+ ff_sample_fsa.h
+ ff_soft_syn.h
+ ff_soft_syntax.h
+ ff_soft_syntax_mindist.h
+ ff_source_path.h
+ ff_source_syntax.h
+ ff_source_syntax2.h
+ ff_spans.h
+ ff_tagger.h
+ ff_wordalign.h
+ ff_wordset.h
+ ffset.h
+ forest_writer.h
+ freqdict.h
+ grammar.h
+ hg.h
+ hg_intersect.h
+ hg_io.h
+ hg_remove_eps.h
+ hg_sampler.h
+ hg_test.h
+ hg_union.h
+ incremental.h
+ inside_outside.h
+ kbest.h
+ lattice.h
+ lexalign.h
+ lextrans.h
+ nt_span.h
+ oracle_bleu.h
+ phrasebased_translator.h
+ phrasetable_fst.h
+ program_options.h
+ rule_lexer.h
+ sentence_metadata.h
+ sentences.h
+ tagger.h
+ translator.h
+ trule.h
+ viterbi.h
+ aligner.cc
+ apply_models.cc
+ bottom_up_parser.cc
+ bottom_up_parser-rs.cc
+ cdec_ff.cc
+ csplit.cc
+ decoder.cc
+ earley_composer.cc
+ factored_lexicon_helper.cc
+ ff.cc
+ ff_basic.cc
+ ff_bleu.cc
+ ff_charset.cc
+ ff_conll.cc
+ ff_context.cc
+ ff_const_reorder.cc
+ ff_csplit.cc
+ ff_external.cc
+ ff_factory.cc
+ ff_klm.cc
+ ff_lm.cc
+ ff_ngrams.cc
+ ff_parse_match.cc
+ ff_rules.cc
+ ff_ruleshape.cc
+ ff_soft_syn.cc
+ ff_soft_syntax.cc
+ ff_soft_syntax_mindist.cc
+ ff_source_path.cc
+ ff_source_syntax.cc
+ ff_source_syntax2.cc
+ ff_spans.cc
+ ff_tagger.cc
+ ff_wordalign.cc
+ ff_wordset.cc
+ ffset.cc
+ forest_writer.cc
+ fst_translator.cc
+ tree2string_translator.cc
+ grammar.cc
+ hg.cc
+ hg_intersect.cc
+ hg_io.cc
+ hg_remove_eps.cc
+ hg_sampler.cc
+ hg_union.cc
+ incremental.cc
+ lattice.cc
+ lexalign.cc
+ lextrans.cc
+ node_state_hash.h
+ tree_fragment.cc
+ tree_fragment.h
+ maxtrans_blunsom.cc
+ phrasebased_translator.cc
+ phrasetable_fst.cc
+ rescore_translator.cc
+ ${FLEX_RuleLexer_OUTPUTS}
+ scfg_translator.cc
+ tagger.cc
+ translator.cc
+ trule.cc
+ viterbi.cc)
+
+add_library(libcdec STATIC ${libcdec_SRCS})
+
+set(cdec_SRCS cdec.cc)
+add_executable(cdec ${cdec_SRCS})
+target_link_libraries(cdec libcdec mteval utils ksearch klm klm_util klm_util_double ${Boost_LIBRARIES} ${ZLIB_LIBRARIES})
+
+set(TEST_SRCS
+ grammar_test.cc
+ hg_test.cc
+ parser_test.cc
+ t2s_test.cc
+ trule_test.cc)
+
+foreach(testSrc ${TEST_SRCS})
+ #Extract the filename without an extension (NAME_WE)
+ get_filename_component(testName ${testSrc} NAME_WE)
+
+ #Add compile target
+ set_source_files_properties(${testSrc} PROPERTIES COMPILE_FLAGS "-DBOOST_TEST_DYN_LINK -DTEST_DATA=\\\"test_data/\\\"")
+ add_executable(${testName} ${testSrc})
+
+ #link to Boost libraries AND your targets and dependencies
+ target_link_libraries(${testName} libcdec mteval utils ksearch klm klm_util klm_util_double ${Boost_LIBRARIES} ${ZLIB_LIBRARIES})
+
+ #I like to move testing binaries into a testBin directory
+ set_target_properties(${testName} PROPERTIES
+ RUNTIME_OUTPUT_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR})
+
+ #Finally add it to test execution -
+ #Notice the WORKING_DIRECTORY and COMMAND
+ add_test(NAME ${testName} COMMAND ${CMAKE_CURRENT_SOURCE_DIR}/${testName}
+ WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR})
+endforeach(testSrc)
+
+
+
diff --git a/decoder/Makefile.am b/decoder/Makefile.am
deleted file mode 100644
index dbec532e..00000000
--- a/decoder/Makefile.am
+++ /dev/null
@@ -1,166 +0,0 @@
-bin_PROGRAMS = cdec
-
-noinst_PROGRAMS = \
- trule_test \
- hg_test \
- parser_test \
- t2s_test \
- grammar_test
-
-TESTS = trule_test parser_test grammar_test hg_test
-t2s_test_SOURCES = t2s_test.cc
-t2s_test_LDADD = $(BOOST_UNIT_TEST_FRAMEWORK_LDFLAGS) $(BOOST_UNIT_TEST_FRAMEWORK_LIBS) libcdec.a ../mteval/libmteval.a ../utils/libutils.a
-parser_test_SOURCES = parser_test.cc
-parser_test_LDADD = $(BOOST_UNIT_TEST_FRAMEWORK_LDFLAGS) $(BOOST_UNIT_TEST_FRAMEWORK_LIBS) libcdec.a ../mteval/libmteval.a ../utils/libutils.a
-grammar_test_SOURCES = grammar_test.cc
-grammar_test_LDADD = $(BOOST_UNIT_TEST_FRAMEWORK_LDFLAGS) $(BOOST_UNIT_TEST_FRAMEWORK_LIBS) libcdec.a ../mteval/libmteval.a ../utils/libutils.a
-hg_test_SOURCES = hg_test.cc
-hg_test_LDADD = $(BOOST_UNIT_TEST_FRAMEWORK_LDFLAGS) $(BOOST_UNIT_TEST_FRAMEWORK_LIBS) libcdec.a ../mteval/libmteval.a ../utils/libutils.a
-trule_test_SOURCES = trule_test.cc
-trule_test_LDADD = $(BOOST_UNIT_TEST_FRAMEWORK_LDFLAGS) $(BOOST_UNIT_TEST_FRAMEWORK_LIBS) libcdec.a ../mteval/libmteval.a ../utils/libutils.a
-
-cdec_SOURCES = cdec.cc
-cdec_LDFLAGS= -rdynamic $(STATIC_FLAGS)
-cdec_LDADD = libcdec.a ../mteval/libmteval.a ../utils/libutils.a ../klm/search/libksearch.a ../klm/lm/libklm.a ../klm/util/libklm_util.a ../klm/util/double-conversion/libklm_util_double.a
-
-AM_CPPFLAGS = -DTEST_DATA=\"$(top_srcdir)/decoder/test_data\" -DBOOST_TEST_DYN_LINK -W -Wno-sign-compare -I$(top_srcdir) -I$(top_srcdir)/mteval -I$(top_srcdir)/utils -I$(top_srcdir)/klm
-
-rule_lexer.cc: rule_lexer.ll
- $(LEX) -s -CF -8 -o$@ $<
-
-noinst_LIBRARIES = libcdec.a
-
-EXTRA_DIST = test_data rule_lexer.ll
-
-libcdec_a_SOURCES = \
- aligner.h \
- apply_models.h \
- bottom_up_parser.h \
- bottom_up_parser-rs.h \
- csplit.h \
- decoder.h \
- earley_composer.h \
- factored_lexicon_helper.h \
- ff.h \
- ff_basic.h \
- ff_bleu.h \
- ff_charset.h \
- ff_conll.h \
- ff_const_reorder_common.h \
- ff_const_reorder.h \
- ff_context.h \
- ff_csplit.h \
- ff_external.h \
- ff_factory.h \
- ff_klm.h \
- ff_lexical.h \
- ff_lm.h \
- ff_ngrams.h \
- ff_parse_match.h \
- ff_register.h \
- ff_rules.h \
- ff_ruleshape.h \
- ff_sample_fsa.h \
- ff_soft_syn.h \
- ff_soft_syntax.h \
- ff_soft_syntax_mindist.h \
- ff_source_path.h \
- ff_source_syntax.h \
- ff_source_syntax2.h \
- ff_spans.h \
- ff_tagger.h \
- ff_wordalign.h \
- ff_wordset.h \
- ffset.h \
- forest_writer.h \
- freqdict.h \
- grammar.h \
- hg.h \
- hg_intersect.h \
- hg_io.h \
- hg_remove_eps.h \
- hg_sampler.h \
- hg_test.h \
- hg_union.h \
- incremental.h \
- inside_outside.h \
- kbest.h \
- lattice.h \
- lexalign.h \
- lextrans.h \
- nt_span.h \
- oracle_bleu.h \
- phrasebased_translator.h \
- phrasetable_fst.h \
- program_options.h \
- rule_lexer.h \
- sentence_metadata.h \
- sentences.h \
- tagger.h \
- translator.h \
- trule.h \
- viterbi.h \
- aligner.cc \
- apply_models.cc \
- bottom_up_parser.cc \
- bottom_up_parser-rs.cc \
- cdec.cc \
- cdec_ff.cc \
- csplit.cc \
- decoder.cc \
- earley_composer.cc \
- factored_lexicon_helper.cc \
- ff.cc \
- ff_basic.cc \
- ff_bleu.cc \
- ff_charset.cc \
- ff_conll.cc \
- ff_context.cc \
- ff_const_reorder.cc \
- ff_csplit.cc \
- ff_external.cc \
- ff_factory.cc \
- ff_klm.cc \
- ff_lm.cc \
- ff_ngrams.cc \
- ff_parse_match.cc \
- ff_rules.cc \
- ff_ruleshape.cc \
- ff_soft_syn.cc \
- ff_soft_syntax.cc \
- ff_soft_syntax_mindist.cc \
- ff_source_path.cc \
- ff_source_syntax.cc \
- ff_source_syntax2.cc \
- ff_spans.cc \
- ff_tagger.cc \
- ff_wordalign.cc \
- ff_wordset.cc \
- ffset.cc \
- forest_writer.cc \
- fst_translator.cc \
- tree2string_translator.cc \
- grammar.cc \
- hg.cc \
- hg_intersect.cc \
- hg_io.cc \
- hg_remove_eps.cc \
- hg_sampler.cc \
- hg_union.cc \
- incremental.cc \
- lattice.cc \
- lexalign.cc \
- lextrans.cc \
- node_state_hash.h \
- tree_fragment.cc \
- tree_fragment.h \
- maxtrans_blunsom.cc \
- phrasebased_translator.cc \
- phrasetable_fst.cc \
- rescore_translator.cc \
- rule_lexer.cc \
- scfg_translator.cc \
- tagger.cc \
- translator.cc \
- trule.cc \
- viterbi.cc
diff --git a/decoder/apply_models.h b/decoder/apply_models.h
index f03c973a..bfb37df1 100644
--- a/decoder/apply_models.h
+++ b/decoder/apply_models.h
@@ -3,9 +3,9 @@
#include <iostream>
-struct ModelSet;
-struct Hypergraph;
-struct SentenceMetadata;
+class ModelSet;
+class Hypergraph;
+class SentenceMetadata;
struct exhaustive_t {};
diff --git a/decoder/decoder.h b/decoder/decoder.h
index a545206b..6250d1eb 100644
--- a/decoder/decoder.h
+++ b/decoder/decoder.h
@@ -25,7 +25,7 @@ private:
class SentenceMetadata;
class Hypergraph;
-class DecoderImpl;
+struct DecoderImpl;
class DecoderObserver {
public:
@@ -38,7 +38,7 @@ class DecoderObserver {
virtual void NotifyDecodingComplete(const SentenceMetadata& smeta);
};
-class Grammar; // TODO once the decoder interface is cleaned up,
+struct Grammar; // TODO once the decoder interface is cleaned up,
// this should be somewhere else
class Decoder {
public:
diff --git a/decoder/factored_lexicon_helper.h b/decoder/factored_lexicon_helper.h
index 460bdebb..8e89f473 100644
--- a/decoder/factored_lexicon_helper.h
+++ b/decoder/factored_lexicon_helper.h
@@ -7,7 +7,7 @@
#include <map>
#include "tdict.h"
-struct SentenceMetadata;
+class SentenceMetadata;
// when computing features, it can be advantageous to:
// 1) back off to less specific forms (e.g., less highly inflected forms, POS tags, etc)
diff --git a/decoder/ff_csplit.h b/decoder/ff_csplit.h
index 227f2a14..1721ed38 100644
--- a/decoder/ff_csplit.h
+++ b/decoder/ff_csplit.h
@@ -6,7 +6,7 @@
#include "ff.h"
#include "klm/lm/model.hh"
-class BasicCSplitFeaturesImpl;
+struct BasicCSplitFeaturesImpl;
class BasicCSplitFeatures : public FeatureFunction {
public:
BasicCSplitFeatures(const std::string& param);
@@ -22,7 +22,7 @@ class BasicCSplitFeatures : public FeatureFunction {
boost::shared_ptr<BasicCSplitFeaturesImpl> pimpl_;
};
-template <class M> class ReverseCharLMCSplitFeatureImpl;
+template <class M> struct ReverseCharLMCSplitFeatureImpl;
class ReverseCharLMCSplitFeature : public FeatureFunction {
public:
ReverseCharLMCSplitFeature(const std::string& param);
diff --git a/decoder/ff_klm.cc b/decoder/ff_klm.cc
index 339a10c3..d395fb47 100644
--- a/decoder/ff_klm.cc
+++ b/decoder/ff_klm.cc
@@ -347,7 +347,6 @@ void KLanguageModel<Model>::TraversalFeaturesImpl(const SentenceMetadata& /* sme
SparseVector<double>* features,
SparseVector<double>* /*estimated_features*/,
void* state) const {
- double est = 0;
double oovs = 0;
double emit = 0;
features->set_value(fid_, pimpl_->LookupWords(*edge.rule_, ant_states, &oovs, &emit, state));
diff --git a/decoder/ff_klm.h b/decoder/ff_klm.h
index c8350623..7a0b92ec 100644
--- a/decoder/ff_klm.h
+++ b/decoder/ff_klm.h
@@ -7,7 +7,7 @@
#include "ff_factory.h"
#include "ff.h"
-template <class Model> struct KLanguageModelImpl;
+template <class Model> class KLanguageModelImpl;
// the supported template types are instantiated explicitly
// in ff_klm.cc.
diff --git a/decoder/ff_lm.cc b/decoder/ff_lm.cc
index bc51076f..0780b266 100644
--- a/decoder/ff_lm.cc
+++ b/decoder/ff_lm.cc
@@ -211,7 +211,7 @@ class LanguageModelImpl : public LanguageModelInterface {
// may be shorter than actual null-terminated length. context must be null terminated. len is just to save effort for subclasses that don't support contextID
virtual int ContextSize(WordID const* context,int len) {
- unsigned ret;
+ unsigned ret = 0;
//ngram_.contextID((VocabIndex*)context,ret);
return ret;
}
diff --git a/decoder/ff_lm.h b/decoder/ff_lm.h
index 83a2e186..740cc492 100644
--- a/decoder/ff_lm.h
+++ b/decoder/ff_lm.h
@@ -44,8 +44,7 @@ class LanguageModelInterface {
}
};
-struct LanguageModelImpl;
-
+class LanguageModelImpl;
class LanguageModel : public FeatureFunction {
public:
// param = "filename.lm [-o n]"
diff --git a/decoder/ff_ngrams.cc b/decoder/ff_ngrams.cc
index 38e1a60a..a45bd27d 100644
--- a/decoder/ff_ngrams.cc
+++ b/decoder/ff_ngrams.cc
@@ -33,11 +33,12 @@ struct State {
}
const State& operator=(const State<MAX_ORDER>& other) {
memcpy(state, other.state, sizeof(state));
+ return *this;
}
explicit State(const State<MAX_ORDER>& other, unsigned order, WordID extend) {
- char om1 = order - 1;
+ unsigned om1 = order - 1;
if (!om1) { memset(state, 0, sizeof(state)); return; }
- for (char i = 1; i < om1; ++i) state[i - 1]= other.state[i];
+ for (unsigned i = 1; i < om1; ++i) state[i - 1]= other.state[i];
state[om1 - 1] = extend;
}
const WordID& operator[](size_t i) const { return state[i]; }
@@ -249,8 +250,6 @@ class NgramDetectorImpl {
public:
void LookupWords(const TRule& rule, const vector<const void*>& ant_states, SparseVector<double>* feats, SparseVector<double>* est_feats, void* remnant) {
- double sum = 0.0;
- double est_sum = 0.0;
int num_scored = 0;
int num_estimated = 0;
bool saw_eos = false;
@@ -264,7 +263,6 @@ class NgramDetectorImpl {
int unscored_ant_len = UnscoredSize(astate);
for (int k = 0; k < unscored_ant_len; ++k) {
const WordID cur_word = IthUnscoredWord(k, astate);
- const bool is_oov = (cur_word == 0);
SparseVector<double> p;
if (cur_word == kSOS_) {
state = BeginSentenceState();
diff --git a/decoder/ff_ngrams.h b/decoder/ff_ngrams.h
index 5dea9a7d..05b25974 100644
--- a/decoder/ff_ngrams.h
+++ b/decoder/ff_ngrams.h
@@ -7,7 +7,7 @@
#include "ff.h"
-struct NgramDetectorImpl;
+class NgramDetectorImpl;
class NgramDetector : public FeatureFunction {
public:
// param = "filename.lm [-o <order>] [-U <unigram-prefix>] [-B <bigram-prefix>] [-T <trigram-prefix>] [-4 <4-gram-prefix>] [-5 <5-gram-prefix>] [-S <separator>]
diff --git a/decoder/ff_spans.h b/decoder/ff_spans.h
index e2475491..d0036340 100644
--- a/decoder/ff_spans.h
+++ b/decoder/ff_spans.h
@@ -62,7 +62,6 @@ class CMR2008ReorderingFeatures : public FeatureFunction {
// collapsed feature values
bool use_collapsed_features_;
- int fid_reorder_;
std::pair<double, double> uncoditioned_vals_;
std::vector<std::pair<double, double> > fvals_;
};
diff --git a/decoder/ff_wordalign.cc b/decoder/ff_wordalign.cc
index dcb80110..5d4c80c7 100644
--- a/decoder/ff_wordalign.cc
+++ b/decoder/ff_wordalign.cc
@@ -28,8 +28,6 @@ namespace std { using std::tr1::unordered_map; }
#include "tdict.h" // Blunsom hack
#include "filelib.h" // Blunsom hack
-static const int MAX_SENTENCE_SIZE = 100;
-
static const int kNULL_i = 255; // -1 as an unsigned char
using namespace std;
diff --git a/decoder/grammar.h b/decoder/grammar.h
index add1a235..37c7276d 100644
--- a/decoder/grammar.h
+++ b/decoder/grammar.h
@@ -61,7 +61,7 @@ struct Grammar {
typedef boost::shared_ptr<Grammar> GrammarPtr;
-class TGImpl;
+struct TGImpl;
struct TextGrammar : public Grammar {
TextGrammar();
explicit TextGrammar(const std::string& file);
diff --git a/decoder/hg_union.cc b/decoder/hg_union.cc
index a659b6bc..da9f2624 100644
--- a/decoder/hg_union.cc
+++ b/decoder/hg_union.cc
@@ -64,9 +64,9 @@ void Union(const Hypergraph& in, Hypergraph* out) {
double n_created = 0;
for (const auto& in_node : in.nodes_) {
HG::Node& out_node = out->nodes_[h2n[in_node.node_hash]];
- for (const auto oeid : out_node.in_edges_) {
+ //for (const auto oeid : out_node.in_edges_) {
// TODO hash currently existing edges for quick check for duplication
- }
+ //}
for (const auto ieid : in_node.in_edges_) {
const HG::Edge& in_edge = in.edges_[ieid];
// TODO: replace slow N^2 check with hashing
diff --git a/decoder/phrasebased_translator.h b/decoder/phrasebased_translator.h
index 10790d0d..85dc0a26 100644
--- a/decoder/phrasebased_translator.h
+++ b/decoder/phrasebased_translator.h
@@ -3,7 +3,7 @@
#include "translator.h"
-class PhraseBasedTranslatorImpl;
+struct PhraseBasedTranslatorImpl;
class PhraseBasedTranslator : public Translator {
public:
PhraseBasedTranslator(const boost::program_options::variables_map& conf);
diff --git a/decoder/scfg_translator.cc b/decoder/scfg_translator.cc
index 538f82ec..9831a3c3 100644
--- a/decoder/scfg_translator.cc
+++ b/decoder/scfg_translator.cc
@@ -62,7 +62,7 @@ PassThroughGrammar::PassThroughGrammar(const Lattice& input, const string& cat,
for (int i = 0; i < input.size(); ++i) {
const vector<LatticeArc>& alts = input[i];
for (int k = 0; k < alts.size(); ++k) {
- const int j = alts[k].dist2next + i;
+ // const int j = alts[k].dist2next + i;
const string& src = TD::Convert(alts[k].label);
if (ss.count(alts[k].label) == 0) {
if (num_pt_features > 0) {
diff --git a/decoder/sentence_metadata.h b/decoder/sentence_metadata.h
index e13c2ca5..27fcac38 100644
--- a/decoder/sentence_metadata.h
+++ b/decoder/sentence_metadata.h
@@ -7,8 +7,8 @@
#include "lattice.h"
#include "tree_fragment.h"
-struct DocScorer; // deprecated, will be removed
-struct Score; // deprecated, will be removed
+class DocScorer; // deprecated, will be removed
+class Score; // deprecated, will be removed
namespace cdec {
enum InputType { kSEQUENCE, kTREE, kLATTICE, kFOREST, kUNKNOWN };
@@ -17,7 +17,7 @@ class TreeFragment;
class SentenceMetadata {
public:
- friend class DecoderImpl;
+ friend struct DecoderImpl;
SentenceMetadata(int id, const Lattice& ref) :
sent_id_(id),
src_len_(-1),
diff --git a/decoder/translator.h b/decoder/translator.h
index 096cf191..37070cda 100644
--- a/decoder/translator.h
+++ b/decoder/translator.h
@@ -54,7 +54,7 @@ class Translator {
State state_;
};
-class SCFGTranslatorImpl;
+struct SCFGTranslatorImpl;
class SCFGTranslator : public Translator {
public:
SCFGTranslator(const boost::program_options::variables_map& conf);
@@ -72,7 +72,7 @@ class SCFGTranslator : public Translator {
boost::shared_ptr<SCFGTranslatorImpl> pimpl_;
};
-class FSTTranslatorImpl;
+struct FSTTranslatorImpl;
class FSTTranslator : public Translator {
public:
FSTTranslator(const boost::program_options::variables_map& conf);
@@ -85,7 +85,7 @@ class FSTTranslator : public Translator {
boost::shared_ptr<FSTTranslatorImpl> pimpl_;
};
-class RescoreTranslatorImpl;
+struct RescoreTranslatorImpl;
class RescoreTranslator : public Translator {
public:
RescoreTranslator(const boost::program_options::variables_map& conf);
@@ -98,7 +98,7 @@ class RescoreTranslator : public Translator {
boost::shared_ptr<RescoreTranslatorImpl> pimpl_;
};
-class Tree2StringTranslatorImpl;
+struct Tree2StringTranslatorImpl;
class Tree2StringTranslator : public Translator {
public:
Tree2StringTranslator(const boost::program_options::variables_map& conf,
diff --git a/decoder/tree_fragment.cc b/decoder/tree_fragment.cc
index 5f717c5b..ff406adf 100644
--- a/decoder/tree_fragment.cc
+++ b/decoder/tree_fragment.cc
@@ -79,7 +79,7 @@ void TreeFragment::ParseRec(const StringPiece& tree, bool afs, unsigned cp, unsi
cerr << "Expected ( at " << cp << endl;
abort();
}
- const unsigned i = symp;
+ // const unsigned i = symp;
vector<unsigned> rhs; // w | 0 = terminal, w | NT_BIT, index | FRONTIER_BIT
++cp;
while(tree[cp] == ' ') { ++cp; }
@@ -119,7 +119,7 @@ void TreeFragment::ParseRec(const StringPiece& tree, bool afs, unsigned cp, unsi
}
}
} // continuent has completed, cp is at ), build node
- const unsigned j = symp; // span from (i,j)
+ // const unsigned j = symp; // span from (i,j)
// add an internal non-terminal symbol
const unsigned nt = TD::Convert(tree.substr(nt_start, nt_end - nt_start).as_string()) | RHS_BIT;
nodes[np] = TreeFragmentProduction(nt, rhs);
diff --git a/decoder/trule.h b/decoder/trule.h
index 7af46747..dda85cef 100644
--- a/decoder/trule.h
+++ b/decoder/trule.h
@@ -16,7 +16,7 @@
class TRule;
typedef boost::shared_ptr<TRule> TRulePtr;
-namespace cdec { struct TreeFragment; }
+namespace cdec { class TreeFragment; }
struct AlignmentPoint {
AlignmentPoint() : s_(), t_() {}