Exemple #1
0
static void gen(NODEPTR p) {
	if (burm_label(p) == 0)
		std::cerr << "no cover\n";
	else {
		stmt_action(p->x.state,0);
		if (shouldCover != 0)
			dumpCover(p, 1, 0);
	}
}
Exemple #2
0
/* dumpCover - print the matched cover for p */
static void dumpCover(Tree p, int goalnt, int indent) {
	int eruleno = burm_rule(p->x.state, goalnt);
	short *nts = burm_nts[eruleno];
	Tree kids[10];
	int i;

	for (i = 0; i < indent; i++)
		fprintf(stderr, " ");
	fprintf(stderr, "%s\n", burm_string[eruleno]);
	burm_kids(p, eruleno, kids);
	for (i = 0; nts[i]; i++)
		dumpCover(kids[i], nts[i], indent + 1);
}
Exemple #3
0
void dumpCover(NODEPTR p, int goalnt, int indent)
{
  int eruleno = burm_rule(STATE_LABEL(p), goalnt);
  short *nts = burm_nts[eruleno];
  NODEPTR kids[10];
  int i;

  std::cerr << "\t\t";
  for (i = 0; i < indent; i++)
    std::cerr << " ";
  std::cerr << burm_string[eruleno] << "\n";
  burm_kids(p, eruleno, kids);
  for (i = 0; nts[i]; i++)
    dumpCover(kids[i], nts[i], indent + 1);
}
Exemple #4
0
static void gen(NODEPTR_TYPE p) {
	if (burm_label(p) == 0)
		fprintf(stderr, "no cover\n");
	else
		dumpCover(p, 1, 0);
}