if (e) {
switch (e->type) {
case E_NONE:
- printf("NONE\n");
break;
case E_OR:
print_oper(f, e, parent, "|");
break;
case E_SYMBOL: {
if (e->left.sym->name) {
- fprintf(f, "\"%s\" -> \"%s\" [%s]\n", parent, e->left.sym->name, edge_opts);
+ fprintf(f, "\"%s\" -> \"%s\" [%s];\n", parent, e->left.sym->name, edge_opts);
print_symbol(f, e->left.sym);
}
break;
opts = " [color=blue,fontcolor=blue]";
fprintf(f, "\"%s\"%s;\n", sym->name, opts);
print_expr(f, sym->dir_dep.expr, sym->name, "", "");
+ if (sym->rev_dep.expr) {
+ // TODO: revese dependencies
+ // printf("REVDEP %s: %s\n", sym->name, sym->rev_dep.expr->id);
+ // print_expr(f, sym->rev_dep.expr, sym->name, "", "color=green");
+ }
}
if (e) {
switch (e->type) {
case E_NONE:
- printf("NONE not implemented\n");
break;
case E_OR:
generate_expr_id_oper(e, "||");
break;
case E_NOT:
generate_expr_id(e->left.expr);
- asprintf(&e->id, "not_%s", e->left.expr->id);
+ asprintf(&e->id, "!%s", e->left.expr->id);
break;
case E_EQUAL:
generate_expr_id_oper(e, "==");
printf("LIST not implemented\n");
break;
case E_SYMBOL: {
- if (e->left.sym->name) {
+ if (e->left.sym->name && !e->id) {
asprintf(&e->id, e->left.sym->name);
generate_expr_id(e->left.sym->dir_dep.expr);
+ generate_expr_id(e->left.sym->rev_dep.expr);
}
break;
}
&& sym->name != NULL) {
if (is_interesting(sym)) {
generate_expr_id(sym->dir_dep.expr);
+ generate_expr_id(sym->rev_dep.expr);
}
}
}
printf
(" --inv Generate configuration of missing configratuon options.\n");
}
+
+/* Local Variables: */
+/* c-basic-offset: 4 */
+/* End: */