Ejemplo n.º 1
0
PT_Tree ASC_set_anno(ATerm type, ATerm aterm, ATerm akey, ATerm avalue)
{
  PT_Tree term = muASFToTree(aterm);
  PT_Tree key = muASFToTree(akey);
  PT_Tree value = muASFToTree(avalue);

  return set_anno(term, key, value);
}
Ejemplo n.º 2
0
int
cha_parse_segment(cha_lat_t *lat, cha_seg_t *seg)
{
    int last_idx;
    int l, mblen = 0;
    char *text;
    int mrph_idx;

    text = lat->text + lat->offset;
    memcpy(text, seg->text, seg->len);

    switch (seg->type) {
    case SEGTYPE_UNSPECIFIED:
	mrph_idx = mrph_last_idx() + 1;
	if (collect_mrphs_for_pos(lat)) {
	    last_idx = exact_lookup_dic(lat, text, seg->len);
	    set_unknownword(lat, text, seg->len, mrph_idx, last_idx);
	}
	lat->cursor = (lat->offset += seg->len);
	break;
    case SEGTYPE_MORPH:
	if (collect_mrphs_for_pos(lat)) {
	    if (seg->is_undef) {
		int no;
		for (no = 0; no < Cha_undef_info_num; no++)
		    register_undef_mrph(lat, text, seg->len, no);
	    } else
		register_specified_morph(lat, seg);
	}
	lat->cursor = (lat->offset += seg->len);
	break;
    case SEGTYPE_NORMAL:
	for (l = 0; l < seg->len;
	     l += mblen, lat->cursor = (lat->offset += mblen)) {
	    unsigned char *t;

	    if (!collect_mrphs_for_pos(lat))
		continue;
	    t = text + l;
	    mrph_idx = mrph_last_idx() + 1;
	    last_idx = lookup_dic(lat, t, seg->len - l);
	    last_idx = set_unknownword(lat, t, seg->char_type[l],
				       mrph_idx, last_idx);
	    mblen = cha_tok_mblen(Cha_tokenizer, t, seg->len - l);
	}
	break;
    case SEGTYPE_ANNOTATION:
	set_anno(lat, seg);
	lat->offset += seg->len;
	break;
    default:
	last_idx = mrph_last_idx();
	lat->cursor += seg->len;
	break;
    }

    return lat->cursor;
}
Ejemplo n.º 3
0
PT_Tree ASFE_set_anno(PT_Symbol type, PT_Tree term, PT_Tree key, PT_Tree value)
{
  return set_anno(term, key, value);
}