00001 #pragma once
00002
00003 #include <ostream>
00004
00005 #include "moses/Syntax/KBestExtractor.h"
00006 #include "moses/Word.h"
00007
00008 namespace Moses
00009 {
00010 namespace Syntax
00011 {
00012 struct SHyperedge;
00013
00014 namespace S2T
00015 {
00016
00017
00018
00019
00020
00021
00022 class DerivationWriter
00023 {
00024 public:
00025
00026 static void Write(const SHyperedge&, std::size_t, std::ostream &);
00027
00028
00029 static void Write(const KBestExtractor::Derivation &, std::size_t,
00030 std::ostream &);
00031 private:
00032 static void WriteLine(const SHyperedge &, std::size_t, std::ostream &);
00033 static void WriteSymbol(const Word &, std::ostream &);
00034 };
00035
00036 }
00037 }
00038 }