static void makeLinkage(per_thread_data *ptd) { if (ptd->cur_linkage < ptd->num_linkages) { if (ptd->linkage) linkage_delete(ptd->linkage); ptd->linkage = linkage_create(ptd->cur_linkage,ptd->sent,ptd->opts); linkage_compute_union(ptd->linkage); linkage_set_current_sublinkage(ptd->linkage, linkage_get_num_sublinkages(ptd->linkage)-1); #if DO_PHRASE_TREE if (tree) linkage_free_constituent_tree(tree); tree = linkage_constituent_tree(linkage); printTree(tree); #endif } }
void process_linkage(Linkage linkage, Parse_Options opts) { char * string; int j, mode, first_sublinkage; if (parse_options_get_display_union(opts)) { linkage_compute_union(linkage); first_sublinkage = linkage_get_num_sublinkages(linkage)-1; } else { first_sublinkage = 0; } for (j=first_sublinkage; j<linkage_get_num_sublinkages(linkage); ++j) { linkage_set_current_sublinkage(linkage, j); if (parse_options_get_display_on(opts)) { string = linkage_print_diagram(linkage); fprintf(stdout, "%s", string); string_delete(string); } if (parse_options_get_display_links(opts)) { string = linkage_print_links_and_domains(linkage); fprintf(stdout, "%s", string); string_delete(string); } if (parse_options_get_display_postscript(opts)) { string = linkage_print_postscript(linkage, FALSE); fprintf(stdout, "%s\n", string); string_delete(string); } } if ((mode=parse_options_get_display_constituents(opts))) { string = linkage_print_constituent_tree(linkage, mode); if (string != NULL) { fprintf(stdout, "%s\n", string); string_delete(string); } else { fprintf(stderr, "Can't generate constituents.\n"); fprintf(stderr, "Constituent processing has been turned off.\n"); } } }
//############################################################################################## static void process_linkage(Linkage linkage, Parse_Options opts,char * tmp_path,char * file_name) //############################################################################################## { char * string; int j, mode, first_sublinkage; int nlink; if (!linkage) return; /* Can happen in timeout mode */ if (parse_options_get_display_union(opts)) { linkage_compute_union(linkage); first_sublinkage = linkage_get_num_sublinkages(linkage)-1; } else { first_sublinkage = 0; } nlink = linkage_get_num_sublinkages(linkage); for (j=first_sublinkage; j<nlink; ++j) { linkage_set_current_sublinkage(linkage, j); if (parse_options_get_display_on(opts)) { string = linkage_print_diagram(linkage); //######################################## // fprintf(stdout, "%s", string); //######################################### linkage_free_diagram(string); } if (parse_options_get_display_links(opts)) { string = linkage_print_links_and_domains(linkage); fprintf(stdout, "%s", string); linkage_free_links_and_domains(string); } if (parse_options_get_display_senses(opts)) { string = linkage_print_senses(linkage); fprintf(stdout, "%s", string); linkage_free_senses(string); } if (parse_options_get_display_disjuncts(opts)) { string = linkage_print_disjuncts(linkage); fprintf(stdout, "%s", string); linkage_free_disjuncts(string); } if (parse_options_get_display_postscript(opts)) { //######################################################################## string = linkage_print_postscript(linkage, FALSE,tmp_path,file_name); // fprintf(stdout, "%s\n", string); //######################################################################## linkage_free_postscript(string); /*string = linkage_print_postscript(linkage, FALSE); fprintf(stdout, "%s\n", string); linkage_free_postscript(string);*/ } } if ((mode = parse_options_get_display_constituents(opts))) { string = linkage_print_constituent_tree(linkage, mode); if (string != NULL) { /*###########################################*/ // fprintf(stdout, "%s\n", string); /*##########################################*/ linkage_free_constituent_tree_str(string); } else { fprintf(stderr, "Can't generate constituents.\n"); fprintf(stderr, "Constituent processing has been turned off.\n"); } } }