void setup_pp(int k) { int i, d, q; k0 = k; setup_inverse(); setup_walker(); pppp = calloc(k + 1, sizeof(pp_pp)); pplist = (pp_pp**)NULL; pplistsize = 0; pplistmax = 0; ZINIT(&z_no_previous, "z_no_previous"); mpz_set_si(z_no_previous, -1); for (i = 1; i <= k; ++i) { int prime, power; power = greatest_prime_power(i, &prime); pp_save_r(i, prime, power); } }
int main(int argc, char **argv) { FILE *input = 0; stable_Init(1024, &my_symbols); setup_parser(); setup_walker(); if (argc > 1) { printf("input = %s\n", argv[1]); input = fopen(argv[1], "r"); } if (input) { run_parser(input); } else { push_tree("Value", 0); push_tree("Symbol", 0); push_tree("ParameterName", 1); push_tree("LetAssign", 2); stack_Dup(&the_trees); push_tree("Statement", 0); push_tree("Let", 3); stack_Dup(&the_trees); push_tree("Block", 2); } if (!the_trees.top) return 0; Node_test value = the_trees.top->value; node_Print(0, value); if (!run_walker(value)) return 1; return 0; }