KJB
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
BankEdge.h
Go to the documentation of this file.
1 #ifndef BANK_EDGE_H
2 #define BANK_EDGE_H
3 
11 #include <list>
12 #include <string>
13 #include <vector>
14 
15 #include "spear/RCIPtr.h"
16 #include "spear/Wide.h"
17 
18 
19 namespace spear {
20 
21  class BankEdge : public RCObject
22  {
23  public:
24 
25  BankEdge() {};
26 
27  void setWord(const String & w) { _word = w; };
28 
29  const String & getWord() const { return _word; };
30 
31  void setLabel(const String & l) { _label = l; };
32 
33 #ifdef USE_UNICODE
34  void setLabel(const std::string & l);
35 #endif
36 
37  const String & getLabel() const { return _label; };
38 
39  const String & getLabelAugmentation() const {
40  return _labelAugmentation;
41  };
42 
43  void setLabelAugmentation(const String & la) {
44  _labelAugmentation = la;
45  };
46 
47  bool isTerminal() const {
48  return (_children.empty() && !_word.empty());
49  };
50 
51  void addChild(const RCIPtr<BankEdge> & c) { _children.push_back(c); };
52 
53  const std::list< RCIPtr<BankEdge> > & getChildren() const {
54  return _children;
55  };
56 
57  std::list< RCIPtr<BankEdge> > & getChildren() { return _children; };
58 
59  void display(OStream &,
60  bool isHead = false,
61  int offset = 0) const;
62 
63  void displayPrettyParens(OStream & os,
64  int offset = 0) const;
65 
66  void displayParens(OStream & os,
67  bool showHead = true) const;
68 
69  int countTerminals() const;
70 
71  void setHead(const RCIPtr<BankEdge> & h) { _head = h; };
72 
73  const RCIPtr<BankEdge> & getHead() const { return _head; };
74 
75  const std::list< RCIPtr<BankEdge> >::iterator & getHeadIterator() const
76  { return _headIterator; };
77 
78  const std::list< RCIPtr<BankEdge> >::reverse_iterator & getHeadReverseIterator() const
79  { return _headReverseIterator; };
80 
81  void setHead();
82 
83  void setSentenceIndex(int i) { _index = i; };
84 
85  int getSentenceIndex() const { return _index; };
86 
87  const String & getHeadWord() const;
88 
89  const String & getHeadTerminalLabel() const;
90 
91  void setNe(const String & ne) { _ne = ne; };
92 
93  const String & getNe() const { return _ne; };
94 
95  // for the bootstrapping experiments. not used in stable code
96  // void findSynonyms();
97  // const std::vector<String> & getSynonyms() const { return _synonyms; };
98  // const std::vector<String> & getHeadSynonyms() const;
99 
100  static const RCIPtr<BankEdge> & getStopPhrase();
101 
102  private:
103 
104  String _word;
105 
106  String _label;
107 
108  String _labelAugmentation;
109 
110  String _ne;
111 
116  // std::vector<String> _synonyms;
117 
118  int _index;
119 
120  RCIPtr<BankEdge> _head;
121  std::list< RCIPtr<BankEdge> >::iterator _headIterator;
122  std::list< RCIPtr<BankEdge> >::reverse_iterator _headReverseIterator;
123 
127  std::list< RCIPtr<BankEdge> > _children;
128 
129  };
130 
132 
133  typedef std::list< spear::RCIPtr<BankEdge> > BankEdgeList;
134 
135  typedef std::list< spear::RCIPtr<BankEdge> >::const_reverse_iterator
137 
138  typedef std::list< spear::RCIPtr<BankEdge> >::const_iterator
140 
141 } // end namespace spear
142 
144 
145 #endif /* BANK_EDGE_H */
int getSentenceIndex() const
Definition: BankEdge.h:85
void setHead()
Definition: BankEdge.cc:120
Reference counting pointer class This file contains the code for the classes and class templates maki...
std::list< RCIPtr< BankEdge > > & getChildren()
Definition: BankEdge.h:57
void setLabelAugmentation(const String &la)
Definition: BankEdge.h:43
const std::list< RCIPtr< BankEdge > >::iterator & getHeadIterator() const
Definition: BankEdge.h:75
void setSentenceIndex(int i)
Definition: BankEdge.h:83
void setHead(const RCIPtr< BankEdge > &h)
Definition: BankEdge.h:71
RCIPtr< BankEdge > BankEdgePtr
Definition: BankEdge.h:131
#define OStream
Definition: Wide.h:38
Definition: RCIPtr.h:67
std::list< spear::RCIPtr< BankEdge > > BankEdgeList
Definition: BankEdge.h:133
const std::list< RCIPtr< BankEdge > >::reverse_iterator & getHeadReverseIterator() const
Definition: BankEdge.h:78
void addChild(const RCIPtr< BankEdge > &c)
Definition: BankEdge.h:51
const String & getWord() const
Definition: BankEdge.h:29
void setLabel(const String &l)
Definition: BankEdge.h:31
void setNe(const String &ne)
Definition: BankEdge.h:91
const String & getHeadWord() const
Definition: BankEdge.cc:161
Definition: BankEdge.h:21
bool isTerminal() const
Definition: BankEdge.h:47
const RCIPtr< BankEdge > & getHead() const
Definition: BankEdge.h:73
void displayParens(OStream &os, bool showHead=true) const
Definition: BankEdge.cc:76
OStream & operator<<(OStream &os, const spear::BankEdgePtr &)
Definition: BankEdge.cc:245
std::list< spear::RCIPtr< BankEdge > >::const_iterator BankEdgeListConstIter
Definition: BankEdge.h:139
std::list< spear::RCIPtr< BankEdge > >::const_reverse_iterator BankEdgeListConstRevIter
Definition: BankEdge.h:136
void display(OStream &, bool isHead=false, int offset=0) const
Definition: BankEdge.cc:28
#define String
Definition: Wide.h:36
const std::list< RCIPtr< BankEdge > > & getChildren() const
Definition: BankEdge.h:53
void displayPrettyParens(OStream &os, int offset=0) const
Definition: BankEdge.cc:55
void setWord(const String &w)
Definition: BankEdge.h:27
Definition: RCIPtr.h:24
const String & getNe() const
Definition: BankEdge.h:93
get the indices of edges in each direction for i
Definition: APPgetLargeConnectedEdges.m:48
BankEdge()
Definition: BankEdge.h:25
static const RCIPtr< BankEdge > & getStopPhrase()
Definition: BankEdge.cc:189
int countTerminals() const
Definition: BankEdge.cc:106
const String & getLabelAugmentation() const
Definition: BankEdge.h:39
const String & getHeadTerminalLabel() const
Definition: BankEdge.cc:174
const String & getLabel() const
Definition: BankEdge.h:37