00001 #pragma once
00002
00003 #include <istream>
00004 #include <ostream>
00005 #include <string>
00006 #include <vector>
00007
00008 #include <boost/shared_ptr.hpp>
00009 #include <boost/unordered_map.hpp>
00010
00011 #include "SyntaxTree.h"
00012
00013 #include "syntax-common/numbered_set.h"
00014 #include "syntax-common/tree.h"
00015 #include "syntax-common/tree_fragment_tokenizer.h"
00016
00017 #include "CfgFilter.h"
00018
00019 namespace MosesTraining
00020 {
00021 namespace Syntax
00022 {
00023 namespace FilterRuleTable
00024 {
00025
00026
00027
00028
00029 class TreeCfgFilter : public CfgFilter
00030 {
00031 public:
00032
00033 TreeCfgFilter(const std::vector<boost::shared_ptr<SyntaxTree> > &);
00034
00035 void Filter(std::istream &in, std::ostream &out);
00036 };
00037
00038 }
00039 }
00040 }