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 F2S
00015 {
00016
00017
00018
00019
00020 class DerivationWriter
00021 {
00022 public:
00023
00024 static void Write(const SHyperedge&, std::size_t, std::ostream &);
00025
00026
00027 static void Write(const KBestExtractor::Derivation &, std::size_t,
00028 std::ostream &);
00029 private:
00030 static void WriteLine(const SHyperedge &, std::size_t, std::ostream &);
00031 static void WriteSymbol(const Word &, std::ostream &);
00032 };
00033
00034 }
00035 }
00036 }