File size: 1,155 Bytes
158b61b
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
/*
 * Parameter.h
 *
 *  Created on: 17 Feb 2014
 *      Author: hieu
 */
#pragma once

#include <string>
#include <limits>
#include <vector>

#define UNDEFINED	std::numeric_limits<int>::max()

class Parameter
{
public:
  Parameter();
  virtual ~Parameter();

  int maxSpan;
  int minSpan;
  int maxNonTerm;
  int maxHieroNonTerm;
  int maxSymbolsTarget;
  int maxSymbolsSource;
  int minHoleSource;
  int minHoleSourceSyntax;

  long sentenceOffset;

  bool nonTermConsecSource;
  bool requireAlignedWord;
  bool fractionalCounting;
  bool gzOutput;

  std::string hieroNonTerm;
  std::string gluePath;

  bool sourceSyntax, targetSyntax;

  int mixedSyntaxType, multiLabel;
  bool nonTermConsecSourceMixed;
  bool hieroSourceLHS;
  int maxSpanFreeNonTermSource;
  bool nieceTerminal;
  int maxScope, minScope;

  // properties
  bool spanLength;
  bool ruleLength;
  bool nonTermContext;
  bool nonTermContextTarget;
  int nonTermContextFactor;

  int numSourceFactors, numTargetFactors;

  int nonTermConsecSourceMixedSyntax;

  std::string scopeSpanStr;
  std::vector<std::pair<int,int> > scopeSpan;

  void SetScopeSpan(const std::string &str);

};