void init_preprocess(void) { int i; char *cp; init_symtbl(); for (i = 0; predefs[i]; i++) { cp = copyofstr("1"); check_os_malloc(cp); define(predefs[i], -1, (unsigned char *) cp, DEF_PREDEF); } init_include(); keep_comments = 0; no_line_lines = 0; do_at_ctrls = 0; incldep = 0; willbefirst = 1; quote = 0; ifstack = 0; n_skipped_ifs = 0; }
int main(int argc, char **argv) { int c; extern int optind; int brute_force = 0; int verbose = 0; serializable input = serializableNIL; serializable output = serializableNIL; print_state st; while ((c = getopt(argc, argv, "Vfh?v")) != -1) { switch (c) { case 0: break; case 'V': verbose = 1; break; case 'f': brute_force = 1; break; case '?': case 'h': usage(stdout); return EXIT_SUCCESS; case 'v': version(stdout); return EXIT_SUCCESS; default: fprintf(stderr, "Try `wff2obdd -h' for more information.\n"); return EXIT_FAILURE; } } infile = stdin; outfile = stdout; if (optind < argc) { infilename = strdup(argv[optind++]); } if (optind < argc) { outfilename = strdup(argv[optind++]); } if (infilename != NULL && 0 != strcmp(infilename, "-")) { infile = ckfopen(infilename, "r"); } if (outfilename != NULL) { outfile = ckfopen(outfilename, "w"); } init_symtbl(); if (!fscan_serializable(infile, &input)) { fprintf(stderr, "wff2obdd: %d: %s\n", lineno, errmsg); destroy_symtbl(); return EXIT_FAILURE; } st = set_print(outfile, 1, 75, 8); if (serializableNIL == input) { fprint_serializable(st, serializableNIL); destroy_symtbl(); return EXIT_SUCCESS; } if (input->tag != TAGtv_wff_flat_kb && input->tag != TAGtv_wff_hierarchy) { fprintf(stderr, "wff2obdd: input is not in propositional Wff\n"); rfre_serializable(input); destroy_symtbl(); return EXIT_FAILURE; } wff2obdd_init(); wff2obdd(input, &output, brute_force); if (verbose) { display_stat_items(stderr); } wff2obdd_destroy(); rfre_serializable(input); fprint_serializable(st, output); rfre_serializable(output); end_print(st); destroy_symtbl(); return EXIT_SUCCESS; }
int main(int argc, char *argv[]) { tv_clause_list clauses; variable_list variables; tv_term solution = NULL; tv_dnf result; int c; extern int optind; while ((c = getopt(argc, argv, "Vah?v")) != -1) { switch (c) { case 0: break; case 'a': findall = 1; break; case 'V': trace_solver = 1; break; case '?': case 'h': usage(stdout); return 1; /* exit failure */ case 'v': version(stdout); return 0; /* exit failure */ default: fprintf(stderr, "Try `cnf2dnf -h' for more information.\n"); return 1; /* exit failure */ } } infile = stdin; outfile = stdout; if (optind < argc) { infilename = strdup(argv[optind++]); } if (optind < argc) { outfilename = strdup(argv[optind++]); } if (infilename != NULL && 0 != strcmp(infilename, "-")) { infile = ckfopen(infilename, "r"); } if (outfilename != NULL) { outfile = ckfopen(outfilename, "w"); } init_symtbl(); if (!parse_DIMACS_file(infile, &clauses, &variables)) { fprintf(stderr, "Giving up\n"); destroy_symtbl(); return EXIT_FAILURE; } fprintf(outfile, "Problem has %u variables and %u clauses\n", variables->sz, clauses->sz); result = new_tv_dnf(new_values_set_list(), rdup_variable_list(variables), new_variable_list(), new_constant_list(), ENCODING_NONE, new_tv_term_list()); if (findall) { lsss_get_all_solutions(clauses, variables->sz, result->terms); } else { if (lsss_get_solution(clauses, variables->sz, &solution)) { result->terms = append_tv_term_list(result->terms, solution); } } pp_dimacs_dnf(outfile, result); rfre_variable_list(variables); rfre_tv_clause_list(clauses); rfre_tv_dnf(result); destroy_symtbl(); return EXIT_SUCCESS; }
int main(int argc, char **argv) { extern int optind; extern char *optarg; print_state st; serializable input, output; char *p = NULL; int simplify = 1; int verbose = 0; int hier = 0; int c; unsigned int depth = 1; while ((c = getopt(argc, argv, "s:h?vVS")) != -1) { switch (c) { case 0: break; case 's': hier = 1; if (NULL == optarg) { fprintf(stderr, "Missing inlining depth. Try `smoothy -h' for more information.\n"); } depth = strtol(optarg, &p, 10); if (p == NULL || *p != '\0') { fprintf(stderr, "Bad inlining depth. Try `smoothy -h' for more information.\n"); } break; case 'S': simplify = 0; break; case 'V': verbose = 1; break; case '?': case 'h': usage(stdout); return EXIT_FAILURE; case 'v': version(stdout); return EXIT_SUCCESS; default: fprintf(stderr, "Try `smoothy -h' for more information.\n"); return EXIT_FAILURE; } } infile = stdin; outfile = stdout; if (optind < argc) { infilename = strdup(argv[optind++]); } if (optind < argc) { outfilename = strdup(argv[optind++]); } if (infilename != NULL && 0 != strcmp(infilename, "-")) { infile = ckfopen(infilename, "r"); } if (outfilename != NULL) { outfile = ckfopen(outfilename, "w"); } st = set_print(outfile, 1, 75, 8); init_symtbl(); input = serializableNIL; if (!fscan_serializable(infile, &input)) { fprintf(stderr, "smoothy: %d: %s\n", lineno, errmsg); destroy_symtbl(); return EXIT_FAILURE; } output = serializableNIL; smoothy_init(); if (!smoothy(input, hier, depth, verbose, simplify, &output)) { destroy_symtbl(); return EXIT_FAILURE; } if (verbose) { display_stat_items(stderr); } smoothy_destroy(); rfre_serializable(input); fprint_serializable(st, output); rfre_serializable(output); end_print(st); destroy_symtbl(); return EXIT_SUCCESS; }
int main(int argc, char **argv) { FILE *infile; FILE *outfile; char *infilename = NULL; char *outfilename = NULL; serializable input = serializableNIL; serializable output = serializableNIL; print_state st; int option_index = 0; int c; struct option long_options[] = { {"help", 0, 0, 'h'}, {"version", 0, 0, 'v'}, {0, 0, 0, 0} }; while ((c = getopt_long(argc, argv, "h?v", long_options, &option_index)) != -1) { switch (c) { case 0: break; case 'h': usage(stdout); return EXIT_SUCCESS; case 'v': version(stdout); return EXIT_SUCCESS; default: help(stderr); return EXIT_FAILURE; } } infile = stdin; outfile = stdout; if (optind < argc) { infilename = strdup(argv[optind++]); } if (optind < argc) { outfilename = strdup(argv[optind++]); } if (infilename != NULL && 0 != strcmp(infilename, "-")) { infile = ckfopen(infilename, "r"); } if (outfilename != NULL) { outfile = ckfopen(outfilename, "w"); } init_symtbl(); if (!fscan_serializable(infile, &input)) { fprintf(stderr, "Error parsing `%s': %s in line %d.\n", infilename, errmsg, lineno); destroy_symtbl(); return EXIT_FAILURE; } st = set_print(outfile, 1, 75, 8); if (serializableNIL == input) { fprint_serializable(st, serializableNIL); end_print(st); destroy_symtbl(); return EXIT_SUCCESS; } if (input->tag != TAGtv_cnf_flat_kb && input->tag != TAGtv_cnf_hierarchy) { fprintf(stderr, "Input is not in CNF.\n"); rfre_serializable(input); destroy_symtbl(); return EXIT_FAILURE; } cnf2horn_init(); cnf2horn(input, &output); cnf2horn_destroy(); rfre_serializable(input); fprint_serializable(st, output); rfre_serializable(output); end_print(st); destroy_symtbl(); return EXIT_SUCCESS; }
int main(int argc, char **argv) { print_state st; tv_wff_hierarchy output; csp_hierarchy input = csp_hierarchyNIL; int c; extern int optind; while ((c = getopt(argc, argv, "h?v")) != -1) { switch (c) { case 0: break; case '?': case 'h': usage(stdout); return EXIT_FAILURE; case 'v': version(stdout); return EXIT_SUCCESS; default: fprintf(stderr, "Try `lcm2wff -h' for more information.\n"); return EXIT_FAILURE; } } infile = stdin; outfile = stdout; if (optind < argc) { infilename = strdup(argv[optind++]); } if (optind < argc) { outfilename = strdup(argv[optind++]); } if (infilename != NULL && 0 != strcmp(infilename, "-")) { infile = ckfopen(infilename, "r"); } if (outfilename != NULL) { outfile = ckfopen(outfilename, "w"); } init_symtbl(); if (!fscan_csp_hierarchy(infile, &input)) { fprintf(stderr, "lcm2wff: %d: %s\n", lineno, errmsg); destroy_symtbl(); return EXIT_FAILURE; } if (!lcm2wff(input, &output)) { fprintf(stderr, "lcm2wff: Not a propositional model.\n"); destroy_symtbl(); return EXIT_FAILURE; } st = set_print(outfile, 1, 75, 8); fprint_tv_wff_hierarchy(st, output); end_print(st); rfre_tv_wff_hierarchy(output); rfre_csp_hierarchy(input); destroy_symtbl(); return EXIT_SUCCESS; }
int main(int argc, char **argv) { print_state st; tv_wff_hierarchy input = tv_wff_hierarchyNIL; tv_nnf_hierarchy output; unsigned int i, j; int c; extern int optind; while ((c = getopt(argc, argv, "h?v")) != -1) { switch (c) { case 0: break; case '?': case 'h': usage(stdout); return EXIT_SUCCESS; case 'v': version(stdout); return EXIT_SUCCESS; default: fprintf(stderr, "Try `wff2nnf -h' for more information.\n"); return EXIT_FAILURE; } } infile = stdin; outfile = stdout; if (optind < argc) { infilename = strdup(argv[optind++]); } if (optind < argc) { outfilename = strdup(argv[optind++]); } if (infilename != NULL && 0 != strcmp(infilename, "-")) { infile = ckfopen(infilename, "r"); } if (outfilename != NULL) { outfile = ckfopen(outfilename, "w"); } st = set_print(outfile, 1, 75, 8); init_symtbl(); if (!fscan_tv_wff_hierarchy(infile, &input)) { fprintf(stderr, "wff2nnf: %d: %s\n", lineno, errmsg); return EXIT_FAILURE; } output = new_tv_nnf_hierarchy(new_node_list()); for (i = 0; i < input->nodes->sz; i++) { tv_wff node_input = to_tv_wff(input->nodes->arr[i]->constraints); tv_nnf node_output = new_tv_nnf(rdup_values_set_list(node_input->domains), rdup_variable_list(node_input->variables), rdup_variable_list(node_input->encoded_variables), rdup_constant_list(node_input->constants), node_input->encoding, new_tv_nnf_expr_list()); node result; for (j = 0; j < node_input->e->sz; j++) { tv_nnf_expr nnf = convert_nnf(&(node_input->e->arr[j])); append_tv_nnf_expr_list(node_output->e, nnf); } result = new_node(rdup_lydia_symbol(input->nodes->arr[i]->type), rdup_edge_list(input->nodes->arr[i]->edges), to_kb(node_output)); output->nodes = append_node_list(output->nodes, result); } fprint_tv_nnf_hierarchy(st, output); rfre_tv_nnf_hierarchy(output); rfre_tv_wff_hierarchy(input); end_print(st); destroy_symtbl(); return EXIT_SUCCESS; }