00001
00002 #ifndef STANFORD_PARSER_MSGS_MESSAGE_PARSE_H
00003 #define STANFORD_PARSER_MSGS_MESSAGE_PARSE_H
00004 #include <string>
00005 #include <vector>
00006 #include <map>
00007 #include <ostream>
00008 #include "ros/serialization.h"
00009 #include "ros/builtin_message_traits.h"
00010 #include "ros/message_operations.h"
00011 #include "ros/time.h"
00012
00013 #include "ros/macros.h"
00014
00015 #include "ros/assert.h"
00016
00017 #include "stanford_parser_msgs/SquashedParseTreeNode.h"
00018 #include "stanford_parser_msgs/Dependency.h"
00019
00020 namespace stanford_parser_msgs
00021 {
00022 template <class ContainerAllocator>
00023 struct Parse_ {
00024 typedef Parse_<ContainerAllocator> Type;
00025
00026 Parse_()
00027 : nodes()
00028 , dependencies()
00029 , words()
00030 , tags()
00031 {
00032 }
00033
00034 Parse_(const ContainerAllocator& _alloc)
00035 : nodes(_alloc)
00036 , dependencies(_alloc)
00037 , words(_alloc)
00038 , tags(_alloc)
00039 {
00040 }
00041
00042 typedef std::vector< ::stanford_parser_msgs::SquashedParseTreeNode_<ContainerAllocator> , typename ContainerAllocator::template rebind< ::stanford_parser_msgs::SquashedParseTreeNode_<ContainerAllocator> >::other > _nodes_type;
00043 std::vector< ::stanford_parser_msgs::SquashedParseTreeNode_<ContainerAllocator> , typename ContainerAllocator::template rebind< ::stanford_parser_msgs::SquashedParseTreeNode_<ContainerAllocator> >::other > nodes;
00044
00045 typedef std::vector< ::stanford_parser_msgs::Dependency_<ContainerAllocator> , typename ContainerAllocator::template rebind< ::stanford_parser_msgs::Dependency_<ContainerAllocator> >::other > _dependencies_type;
00046 std::vector< ::stanford_parser_msgs::Dependency_<ContainerAllocator> , typename ContainerAllocator::template rebind< ::stanford_parser_msgs::Dependency_<ContainerAllocator> >::other > dependencies;
00047
00048 typedef std::vector<std::basic_string<char, std::char_traits<char>, typename ContainerAllocator::template rebind<char>::other > , typename ContainerAllocator::template rebind<std::basic_string<char, std::char_traits<char>, typename ContainerAllocator::template rebind<char>::other > >::other > _words_type;
00049 std::vector<std::basic_string<char, std::char_traits<char>, typename ContainerAllocator::template rebind<char>::other > , typename ContainerAllocator::template rebind<std::basic_string<char, std::char_traits<char>, typename ContainerAllocator::template rebind<char>::other > >::other > words;
00050
00051 typedef std::vector<std::basic_string<char, std::char_traits<char>, typename ContainerAllocator::template rebind<char>::other > , typename ContainerAllocator::template rebind<std::basic_string<char, std::char_traits<char>, typename ContainerAllocator::template rebind<char>::other > >::other > _tags_type;
00052 std::vector<std::basic_string<char, std::char_traits<char>, typename ContainerAllocator::template rebind<char>::other > , typename ContainerAllocator::template rebind<std::basic_string<char, std::char_traits<char>, typename ContainerAllocator::template rebind<char>::other > >::other > tags;
00053
00054
00055 typedef boost::shared_ptr< ::stanford_parser_msgs::Parse_<ContainerAllocator> > Ptr;
00056 typedef boost::shared_ptr< ::stanford_parser_msgs::Parse_<ContainerAllocator> const> ConstPtr;
00057 boost::shared_ptr<std::map<std::string, std::string> > __connection_header;
00058 };
00059 typedef ::stanford_parser_msgs::Parse_<std::allocator<void> > Parse;
00060
00061 typedef boost::shared_ptr< ::stanford_parser_msgs::Parse> ParsePtr;
00062 typedef boost::shared_ptr< ::stanford_parser_msgs::Parse const> ParseConstPtr;
00063
00064
00065 template<typename ContainerAllocator>
00066 std::ostream& operator<<(std::ostream& s, const ::stanford_parser_msgs::Parse_<ContainerAllocator> & v)
00067 {
00068 ros::message_operations::Printer< ::stanford_parser_msgs::Parse_<ContainerAllocator> >::stream(s, "", v);
00069 return s;}
00070
00071 }
00072
00073 namespace ros
00074 {
00075 namespace message_traits
00076 {
00077 template<class ContainerAllocator> struct IsMessage< ::stanford_parser_msgs::Parse_<ContainerAllocator> > : public TrueType {};
00078 template<class ContainerAllocator> struct IsMessage< ::stanford_parser_msgs::Parse_<ContainerAllocator> const> : public TrueType {};
00079 template<class ContainerAllocator>
00080 struct MD5Sum< ::stanford_parser_msgs::Parse_<ContainerAllocator> > {
00081 static const char* value()
00082 {
00083 return "094e3dbdff171c4bff80579d73b3ed1b";
00084 }
00085
00086 static const char* value(const ::stanford_parser_msgs::Parse_<ContainerAllocator> &) { return value(); }
00087 static const uint64_t static_value1 = 0x094e3dbdff171c4bULL;
00088 static const uint64_t static_value2 = 0xff80579d73b3ed1bULL;
00089 };
00090
00091 template<class ContainerAllocator>
00092 struct DataType< ::stanford_parser_msgs::Parse_<ContainerAllocator> > {
00093 static const char* value()
00094 {
00095 return "stanford_parser_msgs/Parse";
00096 }
00097
00098 static const char* value(const ::stanford_parser_msgs::Parse_<ContainerAllocator> &) { return value(); }
00099 };
00100
00101 template<class ContainerAllocator>
00102 struct Definition< ::stanford_parser_msgs::Parse_<ContainerAllocator> > {
00103 static const char* value()
00104 {
00105 return "SquashedParseTreeNode[] nodes\n\
00106 Dependency[] dependencies\n\
00107 string[] words\n\
00108 string[] tags\n\
00109 \n\
00110 \n\
00111 ================================================================================\n\
00112 MSG: stanford_parser_msgs/SquashedParseTreeNode\n\
00113 # tag is a part-of-speech tag from the list of constants below.\n\
00114 int32 tag\n\
00115 # parent_id is the location of the node pointing to this one in the tree, or -1 if root.\n\
00116 int32 parent_id\n\
00117 # score is a measure of confidence\n\
00118 float64 score\n\
00119 # word is the location of the word in the words array, or -1 if none.\n\
00120 int32 word_index\n\
00121 \n\
00122 # Constants below, using descriptions from http://bulba.sdsu.edu/jeanette/thesis/PennTags.html\n\
00123 # To make code-safe, we use the following substitutions:\n\
00124 # '-' -> '_'\n\
00125 # '$' -> '_S'\n\
00126 int32 ROOT=-100\n\
00127 int32 ADJP=-101\n\
00128 int32 _ADV=-102\n\
00129 int32 ADVP=-103\n\
00130 int32 _BNF=-104\n\
00131 int32 CC=-105\n\
00132 int32 CD=-106\n\
00133 int32 _CLF=-107\n\
00134 int32 _CLR=-108\n\
00135 int32 CONJP=-109\n\
00136 int32 _DIR=-110\n\
00137 int32 DT=-111\n\
00138 int32 _DTV=-112\n\
00139 int32 EX=-113\n\
00140 int32 _EXT=-114\n\
00141 int32 FRAG=-115\n\
00142 int32 FW=-116\n\
00143 int32 _HLN=-117\n\
00144 int32 IN=-118\n\
00145 int32 INTJ=-119\n\
00146 int32 JJ=-120\n\
00147 int32 JJR=-121\n\
00148 int32 JJS=-122\n\
00149 int32 _LGS=-123\n\
00150 int32 _LOC=-124\n\
00151 int32 LS=-125\n\
00152 int32 LST=-126\n\
00153 int32 MD=-127\n\
00154 int32 _MNR=-128\n\
00155 int32 NAC=-129\n\
00156 int32 NN=-130\n\
00157 int32 NNS=-131\n\
00158 int32 NNP=-132\n\
00159 int32 NNPS=-133\n\
00160 int32 _NOM=-134\n\
00161 int32 NP=-135\n\
00162 int32 NX=-136\n\
00163 int32 PDT=-137\n\
00164 int32 POS=-138\n\
00165 int32 PP=-139\n\
00166 int32 _PRD=-140\n\
00167 int32 PRN=-141\n\
00168 int32 PRP=-142\n\
00169 int32 _PRP=-143\n\
00170 int32 PRP_S=-144\n\
00171 int32 PRT=-145\n\
00172 int32 _PUT=-146\n\
00173 int32 QP=-147\n\
00174 int32 RB=-148\n\
00175 int32 RBR=-149\n\
00176 int32 RBS=-150\n\
00177 int32 RP=-151\n\
00178 int32 RRC=-152\n\
00179 int32 S=-153\n\
00180 int32 SBAR=-154\n\
00181 int32 SBARQ=-155\n\
00182 int32 _SBJ=-156\n\
00183 int32 SINV=-157\n\
00184 int32 SQ=-158\n\
00185 int32 SYM=-159\n\
00186 int32 _TMP=-160\n\
00187 int32 TO=-161\n\
00188 int32 _TPC=-162\n\
00189 int32 _TTL=-163\n\
00190 int32 UCP=-164\n\
00191 int32 UH=-165\n\
00192 int32 VB=-166\n\
00193 int32 VBD=-167\n\
00194 int32 VBG=-168\n\
00195 int32 VBN=-169\n\
00196 int32 VBP=-170\n\
00197 int32 VBZ=-171\n\
00198 int32 _VOC=-172\n\
00199 int32 VP=-173\n\
00200 int32 WDT=-174\n\
00201 int32 WHADJP=-175\n\
00202 int32 WHADVP=-176\n\
00203 int32 WHNP=-177\n\
00204 int32 WHPP=-178\n\
00205 int32 WP=-179\n\
00206 int32 WP_S=-180\n\
00207 int32 WRB=-181\n\
00208 int32 X=-182\n\
00209 # These stay out for testing purposes. We want to make sure tags[] is working properly.\n\
00210 # # int32 SENTENCE_CLOSER=183 # .;?\n\
00211 # # int32 COMMA=184\n\
00212 # # int32 COLON=185\n\
00213 # # int32 LPAREN=186\n\
00214 # # int32 RPAREN=187\n\
00215 \n\
00216 # .\n\
00217 # ,\n\
00218 # :\n\
00219 # (\n\
00220 # )\n\
00221 \n\
00222 \n\
00223 # # Pound sign\n\
00224 # $ Dollar sign\n\
00225 # . Sentence-final punctuation\n\
00226 # , Comma\n\
00227 # : Colon, semi-colon\n\
00228 # ( Left bracket character\n\
00229 # ) Right bracket character\n\
00230 # \" Straight double quote\n\
00231 # ` Left open single quote\n\
00232 # \" Left open double quote\n\
00233 # ' Right close single quote\n\
00234 # \" Right close double quote\n\
00235 # ``\n\
00236 # ''\n\
00237 \n\
00238 \n\
00239 ================================================================================\n\
00240 MSG: stanford_parser_msgs/Dependency\n\
00241 string relation\n\
00242 int32 governor_index\n\
00243 int32 dependent_index\n\
00244 \n\
00245 # TODO: put all the relations here\n\
00246 ";
00247 }
00248
00249 static const char* value(const ::stanford_parser_msgs::Parse_<ContainerAllocator> &) { return value(); }
00250 };
00251
00252 }
00253 }
00254
00255 namespace ros
00256 {
00257 namespace serialization
00258 {
00259
00260 template<class ContainerAllocator> struct Serializer< ::stanford_parser_msgs::Parse_<ContainerAllocator> >
00261 {
00262 template<typename Stream, typename T> inline static void allInOne(Stream& stream, T m)
00263 {
00264 stream.next(m.nodes);
00265 stream.next(m.dependencies);
00266 stream.next(m.words);
00267 stream.next(m.tags);
00268 }
00269
00270 ROS_DECLARE_ALLINONE_SERIALIZER;
00271 };
00272 }
00273 }
00274
00275 namespace ros
00276 {
00277 namespace message_operations
00278 {
00279
00280 template<class ContainerAllocator>
00281 struct Printer< ::stanford_parser_msgs::Parse_<ContainerAllocator> >
00282 {
00283 template<typename Stream> static void stream(Stream& s, const std::string& indent, const ::stanford_parser_msgs::Parse_<ContainerAllocator> & v)
00284 {
00285 s << indent << "nodes[]" << std::endl;
00286 for (size_t i = 0; i < v.nodes.size(); ++i)
00287 {
00288 s << indent << " nodes[" << i << "]: ";
00289 s << std::endl;
00290 s << indent;
00291 Printer< ::stanford_parser_msgs::SquashedParseTreeNode_<ContainerAllocator> >::stream(s, indent + " ", v.nodes[i]);
00292 }
00293 s << indent << "dependencies[]" << std::endl;
00294 for (size_t i = 0; i < v.dependencies.size(); ++i)
00295 {
00296 s << indent << " dependencies[" << i << "]: ";
00297 s << std::endl;
00298 s << indent;
00299 Printer< ::stanford_parser_msgs::Dependency_<ContainerAllocator> >::stream(s, indent + " ", v.dependencies[i]);
00300 }
00301 s << indent << "words[]" << std::endl;
00302 for (size_t i = 0; i < v.words.size(); ++i)
00303 {
00304 s << indent << " words[" << i << "]: ";
00305 Printer<std::basic_string<char, std::char_traits<char>, typename ContainerAllocator::template rebind<char>::other > >::stream(s, indent + " ", v.words[i]);
00306 }
00307 s << indent << "tags[]" << std::endl;
00308 for (size_t i = 0; i < v.tags.size(); ++i)
00309 {
00310 s << indent << " tags[" << i << "]: ";
00311 Printer<std::basic_string<char, std::char_traits<char>, typename ContainerAllocator::template rebind<char>::other > >::stream(s, indent + " ", v.tags[i]);
00312 }
00313 }
00314 };
00315
00316
00317 }
00318 }
00319
00320 #endif // STANFORD_PARSER_MSGS_MESSAGE_PARSE_H
00321