00001 /* 00002 * Parameter.h 00003 * 00004 * Created on: 17 Feb 2014 00005 * Author: hieu 00006 */ 00007 #pragma once 00008 00009 #include <string> 00010 #include <limits> 00011 #include <vector> 00012 00013 #define UNDEFINED std::numeric_limits<int>::max() 00014 00015 class Parameter 00016 { 00017 public: 00018 Parameter(); 00019 virtual ~Parameter(); 00020 00021 int maxSpan; 00022 int minSpan; 00023 int maxNonTerm; 00024 int maxHieroNonTerm; 00025 int maxSymbolsTarget; 00026 int maxSymbolsSource; 00027 int minHoleSource; 00028 int minHoleSourceSyntax; 00029 00030 long sentenceOffset; 00031 00032 bool nonTermConsecSource; 00033 bool requireAlignedWord; 00034 bool fractionalCounting; 00035 bool gzOutput; 00036 00037 std::string hieroNonTerm; 00038 std::string gluePath; 00039 00040 bool sourceSyntax, targetSyntax; 00041 00042 int mixedSyntaxType, multiLabel; 00043 bool nonTermConsecSourceMixed; 00044 bool hieroSourceLHS; 00045 int maxSpanFreeNonTermSource; 00046 bool nieceTerminal; 00047 int maxScope, minScope; 00048 00049 // properties 00050 bool spanLength; 00051 bool ruleLength; 00052 bool nonTermContext; 00053 bool nonTermContextTarget; 00054 int nonTermContextFactor; 00055 00056 int numSourceFactors, numTargetFactors; 00057 00058 int nonTermConsecSourceMixedSyntax; 00059 00060 std::string scopeSpanStr; 00061 std::vector<std::pair<int,int> > scopeSpan; 00062 00063 void SetScopeSpan(const std::string &str); 00064 00065 }; 00066