47 #define MOOT_TNT_COMPAT 1 54 #define MOOT_TOKEN_DEBUG 1 55 #undef MOOT_TOKEN_DEBUG 57 #ifdef MOOT_TOKEN_DEBUG 58 # define TOKDEBUG(x) x 127 mootTagString details;
148 Analysis(
const mootTagString &my_tag
157 Analysis(
const mootTagString &my_tag,
158 const mootTagString &my_details)
166 Analysis(
const mootTagString &my_tag,
167 const mootTagString &my_details,
184 inline void clear(
void) {
191 inline bool empty(
void)
const {
192 return tag.empty() && details.empty();
199 int tcomp = x.
tag.compare(y.
tag);
214 void dump(
const char *label=NULL, FILE *f=NULL)
const;
304 const Analyses &analyses)
307 tok_analyses(analyses),
313 const Analyses &analyses,
314 const mootTagString &besttag)
317 tok_besttag(besttag),
318 tok_analyses(analyses),
344 if (tok_location.
offset>=680307 && tok_location.
offset<=680400) {
388 inline void clear(
void) {
392 tok_analyses.clear();
393 tok_location.
clear();
400 inline const mootTokString &text(
void)
const {
404 inline mootTokString &text(
const mootTokString &text) {
409 inline mootTokString &text(
const char *s,
size_t len) {
410 tok_text.assign(s,len);
414 inline mootTokString &textAppend(
const mootTokString &text) {
415 tok_text.append(text);
419 inline mootTokString &textAppend(
const char *s,
size_t len) {
420 tok_text.append(s, len);
425 inline const mootTagString &besttag(
void)
const {
429 inline mootTagString &besttag(
const mootTagString &besttag) {
430 tok_besttag = besttag;
434 inline mootTagString &besttagAppend(
const mootTagString &text) {
435 tok_besttag.append(text);
439 inline mootTagString &besttagAppend(
const char *s,
size_t len) {
440 tok_besttag.append(s, len);
445 inline mootTokenType toktype(
void)
const {
return tok_type; }
447 inline mootTokenType toktype(
const mootTokenType type) {
453 inline const Analyses &analyses(
void)
const {
return tok_analyses; };
455 inline const Analyses &analyses(
const Analyses &analyses) {
456 tok_analyses = analyses;
460 inline void insert(
const Analysis &analysis)
463 tok_analyses.push_back(analysis);
466 inline void insert(
const mootTagString &tag,
const mootTagString &details,
ProbT p=0)
470 tok_analyses.back().tag = tag;
471 tok_analyses.back().details = details;
472 tok_analyses.back().prob = p;
475 inline void insert(
const char *tag,
const char *details,
ProbT p=0)
479 tok_analyses.back().tag = tag;
480 tok_analyses.back().details = details;
481 tok_analyses.back().prob = p;
484 inline bool has_analysis_for_tag(
const mootTagString &tag)
const 486 for (Analyses::const_iterator asi = tok_analyses.begin();
487 asi != tok_analyses.end();
490 if (asi->tag == tag)
return true;
495 inline void erase(
const Analysis &analysis)
497 for (Analyses::iterator asi = tok_analyses.begin();
498 asi != tok_analyses.end();
501 if (*asi == analysis) tok_analyses.erase(asi);
506 inline void prune(
void)
508 for (Analyses::iterator asi = tok_analyses.begin();
509 asi != tok_analyses.end();
512 if (asi->tag != tok_besttag) tok_analyses.erase(asi);
518 inline const Location &location(
void)
const 519 {
return tok_location; }
523 { tok_location=loc;
return location(); }
527 {
return location(
Location(offset,length)); };
534 { tok_location.
offset=off;
return loc_offset(); };
537 inline OffsetT loc_length(
void)
const {
return tok_location.
length; };
541 { tok_location.
length=len;
return loc_length(); };
553 inline void tokImport(
const mootTokString *src_toktext=NULL,
554 const mootTagSet *src_tagset=NULL)
556 if (src_toktext) tok_text = *src_toktext;
558 for (mootTagSet::const_iterator tsi = src_tagset->begin();
559 tsi != src_tagset->end();
577 inline void tokExport(mootTokString *dst_toktext=NULL,
578 mootTagSet *dst_tagset=NULL,
579 bool want_besttag_in_tagset =
true)
const 581 if (dst_toktext) *dst_toktext = tok_text;
583 for (Analyses::const_iterator asi = tok_analyses.begin();
584 asi != tok_analyses.end();
589 dst_tagset->insert(asi->tag);
591 if (want_besttag_in_tagset && !tok_besttag.empty())
592 dst_tagset->insert(tok_besttag);
600 void dump(
const char *label=NULL, FILE *f=NULL)
const;
Definition: mootAssocVector.h:39
Type for a single morphological analysis.
Definition: mootToken.h:106
Definition: mootToken.h:81
Definition: mootToken.h:224
mootTokenType tok_type
Definition: mootToken.h:257
Analyses tok_analyses
Definition: mootToken.h:272
mootToken & sentence_printf_append(mootSentence &s, mootTokenType typ, const char *fmt,...)
OffsetT length
(byte) length in input stream (default=0)
Definition: mootToken.h:227
void * data
Definition: mootToken.h:124
const char * mootTokenTypeNames[NTokTypes]
Definition: mootToken.h:76
Definition: mootToken.h:82
mootTokenTypeE mootTokenType
Definition: mootToken.h:85
OffsetT offset
(byte) offset in input stream (default=0)
Definition: mootToken.h:226
Definition: mootToken.h:83
Definition: mootToken.h:73
Location(const OffsetT my_offset=0, const OffsetT my_length=0)
Definition: mootToken.h:230
set< mootTagString > mootTagSet
Definition: mootToken.h:65
High-level token information object.
Definition: mootToken.h:96
float ProbT
Definition: mootTypes.h:63
Definition: mootToken.h:79
Location(const Location &x)
Definition: mootToken.h:236
mootTagString tag
Definition: mootToken.h:112
list< mootToken > mootSentence
Definition: mootToken.h:630
void * tok_data
Definition: mootToken.h:283
mootTokenTypeE
Definition: mootToken.h:71
ProbT prob
Definition: mootToken.h:118
Definition: mootToken.h:78
Definition: mootToken.h:75
float Cost
Definition: mootToken.h:103
string mootTagString
Definition: mootToken.h:59
const Location & location(void) const
Definition: mootToken.h:526
Common typedefs and constants.
Definition: mootToken.h:80
Definition: mootToken.h:77
mootTagString tok_besttag
Definition: mootToken.h:267
long unsigned int OffsetT
Definition: mootTypes.h:70
list< Analysis > Analyses
Definition: mootToken.h:221
Definition: mootToken.h:74
mootTokString tok_text
Definition: mootToken.h:262
mootTagString details
Definition: mootToken.h:115
Location tok_location
Definition: mootToken.h:277
mootToken(mootTokenType type=TokTypeVanilla)
Definition: mootToken.h:290
string mootTokString
Definition: mootToken.h:62
void clear(void)
Definition: mootToken.h:242