Lines Matching refs:sym

20 struct expr *expr_alloc_symbol(struct symbol *sym)  in expr_alloc_symbol()  argument
24 e->left.sym = sym; in expr_alloc_symbol()
49 e->left.sym = s1; in expr_alloc_comp()
50 e->right.sym = s2; in expr_alloc_comp()
86 e->left.sym = org->left.sym; in expr_copy()
87 e->right.sym = org->right.sym; in expr_copy()
149 e1->left.sym == e2->left.sym && in __expr_eliminate_eq()
150 (e1->left.sym == &symbol_yes || e1->left.sym == &symbol_no)) in __expr_eliminate_eq()
204 return e1->left.sym == e2->left.sym && e1->right.sym == e2->right.sym; in expr_eq()
206 return e1->left.sym == e2->left.sym; in expr_eq()
216 e1->left.sym == e2->left.sym); in expr_eq()
246 if (e->left.expr->left.sym == &symbol_no) { in expr_eliminate_yn()
250 e->left.sym = &symbol_no; in expr_eliminate_yn()
253 } else if (e->left.expr->left.sym == &symbol_yes) { in expr_eliminate_yn()
262 if (e->right.expr->left.sym == &symbol_no) { in expr_eliminate_yn()
266 e->left.sym = &symbol_no; in expr_eliminate_yn()
269 } else if (e->right.expr->left.sym == &symbol_yes) { in expr_eliminate_yn()
282 if (e->left.expr->left.sym == &symbol_no) { in expr_eliminate_yn()
288 } else if (e->left.expr->left.sym == &symbol_yes) { in expr_eliminate_yn()
292 e->left.sym = &symbol_yes; in expr_eliminate_yn()
298 if (e->right.expr->left.sym == &symbol_no) { in expr_eliminate_yn()
304 } else if (e->right.expr->left.sym == &symbol_yes) { in expr_eliminate_yn()
308 e->left.sym = &symbol_yes; in expr_eliminate_yn()
336 if (e->left.sym->type == S_TRISTATE) { in expr_trans_bool()
337 if (e->right.sym == &symbol_no) { in expr_trans_bool()
339 e->right.sym = NULL; in expr_trans_bool()
367 sym1 = tmp->left.sym; in expr_join_or()
369 sym1 = e1->left.sym; in expr_join_or()
373 sym2 = e2->left.expr->left.sym; in expr_join_or()
375 sym2 = e2->left.sym; in expr_join_or()
382 ((e1->right.sym == &symbol_yes && e2->right.sym == &symbol_mod) || in expr_join_or()
383 (e1->right.sym == &symbol_mod && e2->right.sym == &symbol_yes))) { in expr_join_or()
388 ((e1->right.sym == &symbol_yes && e2->right.sym == &symbol_no) || in expr_join_or()
389 (e1->right.sym == &symbol_no && e2->right.sym == &symbol_yes))) { in expr_join_or()
394 ((e1->right.sym == &symbol_mod && e2->right.sym == &symbol_no) || in expr_join_or()
395 (e1->right.sym == &symbol_no && e2->right.sym == &symbol_mod))) { in expr_join_or()
431 sym1 = tmp->left.sym; in expr_join_and()
433 sym1 = e1->left.sym; in expr_join_and()
437 sym2 = e2->left.expr->left.sym; in expr_join_and()
439 sym2 = e2->left.sym; in expr_join_and()
445 if ((e1->type == E_SYMBOL && e2->type == E_EQUAL && e2->right.sym == &symbol_yes) || in expr_join_and()
446 (e2->type == E_SYMBOL && e1->type == E_EQUAL && e1->right.sym == &symbol_yes)) in expr_join_and()
450 if ((e1->type == E_SYMBOL && e2->type == E_UNEQUAL && e2->right.sym == &symbol_no) || in expr_join_and()
451 (e2->type == E_SYMBOL && e1->type == E_UNEQUAL && e1->right.sym == &symbol_no)) in expr_join_and()
455 if ((e1->type == E_SYMBOL && e2->type == E_UNEQUAL && e2->right.sym == &symbol_mod) || in expr_join_and()
456 (e2->type == E_SYMBOL && e1->type == E_UNEQUAL && e1->right.sym == &symbol_mod)) in expr_join_and()
463 sym2 = e1->right.sym; in expr_join_and()
464 if ((e2->right.sym->flags & SYMBOL_CONST) && (sym2->flags & SYMBOL_CONST)) in expr_join_and()
465 return sym2 != e2->right.sym ? expr_alloc_comp(E_EQUAL, sym1, sym2) in expr_join_and()
470 sym2 = e2->right.sym; in expr_join_and()
471 if ((e1->right.sym->flags & SYMBOL_CONST) && (sym2->flags & SYMBOL_CONST)) in expr_join_and()
472 return sym2 != e1->right.sym ? expr_alloc_comp(E_EQUAL, sym1, sym2) in expr_join_and()
476 ((e1->right.sym == &symbol_yes && e2->right.sym == &symbol_no) || in expr_join_and()
477 (e1->right.sym == &symbol_no && e2->right.sym == &symbol_yes))) in expr_join_and()
482 ((e1->right.sym == &symbol_yes && e2->right.sym == &symbol_mod) || in expr_join_and()
483 (e1->right.sym == &symbol_mod && e2->right.sym == &symbol_yes))) in expr_join_and()
488 ((e1->right.sym == &symbol_mod && e2->right.sym == &symbol_no) || in expr_join_and()
489 (e1->right.sym == &symbol_no && e2->right.sym == &symbol_mod))) in expr_join_and()
493 if ((e1->type == E_SYMBOL && e2->type == E_EQUAL && e2->right.sym == &symbol_mod) || in expr_join_and()
494 (e2->type == E_SYMBOL && e1->type == E_EQUAL && e1->right.sym == &symbol_mod) || in expr_join_and()
495 (e1->type == E_SYMBOL && e2->type == E_UNEQUAL && e2->right.sym == &symbol_yes) || in expr_join_and()
496 (e2->type == E_SYMBOL && e1->type == E_UNEQUAL && e1->right.sym == &symbol_yes)) in expr_join_and()
661 if (e->left.sym->type != S_BOOLEAN) in expr_transform()
663 if (e->right.sym == &symbol_no) { in expr_transform()
665 e->left.expr = expr_alloc_symbol(e->left.sym); in expr_transform()
666 e->right.sym = NULL; in expr_transform()
669 if (e->right.sym == &symbol_mod) { in expr_transform()
670 printf("boolean symbol %s tested for 'm'? test forced to 'n'\n", e->left.sym->name); in expr_transform()
672 e->left.sym = &symbol_no; in expr_transform()
673 e->right.sym = NULL; in expr_transform()
676 if (e->right.sym == &symbol_yes) { in expr_transform()
678 e->right.sym = NULL; in expr_transform()
683 if (e->left.sym->type != S_BOOLEAN) in expr_transform()
685 if (e->right.sym == &symbol_no) { in expr_transform()
687 e->right.sym = NULL; in expr_transform()
690 if (e->right.sym == &symbol_mod) { in expr_transform()
691 printf("boolean symbol %s tested for 'm'? test forced to 'y'\n", e->left.sym->name); in expr_transform()
693 e->left.sym = &symbol_yes; in expr_transform()
694 e->right.sym = NULL; in expr_transform()
697 if (e->right.sym == &symbol_yes) { in expr_transform()
699 e->left.expr = expr_alloc_symbol(e->left.sym); in expr_transform()
700 e->right.sym = NULL; in expr_transform()
741 if (e->left.expr->left.sym == &symbol_yes) { in expr_transform()
747 e->left.sym = &symbol_no; in expr_transform()
750 if (e->left.expr->left.sym == &symbol_mod) { in expr_transform()
756 e->left.sym = &symbol_mod; in expr_transform()
759 if (e->left.expr->left.sym == &symbol_no) { in expr_transform()
765 e->left.sym = &symbol_yes; in expr_transform()
779 int expr_contains_symbol(struct expr *dep, struct symbol *sym) in expr_contains_symbol() argument
787 return expr_contains_symbol(dep->left.expr, sym) || in expr_contains_symbol()
788 expr_contains_symbol(dep->right.expr, sym); in expr_contains_symbol()
790 return dep->left.sym == sym; in expr_contains_symbol()
793 return dep->left.sym == sym || in expr_contains_symbol()
794 dep->right.sym == sym; in expr_contains_symbol()
796 return expr_contains_symbol(dep->left.expr, sym); in expr_contains_symbol()
803 bool expr_depends_symbol(struct expr *dep, struct symbol *sym) in expr_depends_symbol() argument
810 return expr_depends_symbol(dep->left.expr, sym) || in expr_depends_symbol()
811 expr_depends_symbol(dep->right.expr, sym); in expr_depends_symbol()
813 return dep->left.sym == sym; in expr_depends_symbol()
815 if (dep->left.sym == sym) { in expr_depends_symbol()
816 if (dep->right.sym == &symbol_yes || dep->right.sym == &symbol_mod) in expr_depends_symbol()
821 if (dep->left.sym == sym) { in expr_depends_symbol()
822 if (dep->right.sym == &symbol_no) in expr_depends_symbol()
883 struct expr *expr_trans_compare(struct expr *e, enum expr_type type, struct symbol *sym) in expr_trans_compare() argument
888 e = expr_alloc_symbol(sym); in expr_trans_compare()
895 e1 = expr_trans_compare(e->left.expr, E_EQUAL, sym); in expr_trans_compare()
896 e2 = expr_trans_compare(e->right.expr, E_EQUAL, sym); in expr_trans_compare()
897 if (sym == &symbol_yes) in expr_trans_compare()
899 if (sym == &symbol_no) in expr_trans_compare()
905 e1 = expr_trans_compare(e->left.expr, E_EQUAL, sym); in expr_trans_compare()
906 e2 = expr_trans_compare(e->right.expr, E_EQUAL, sym); in expr_trans_compare()
907 if (sym == &symbol_yes) in expr_trans_compare()
909 if (sym == &symbol_no) in expr_trans_compare()
915 return expr_trans_compare(e->left.expr, type == E_EQUAL ? E_UNEQUAL : E_EQUAL, sym); in expr_trans_compare()
919 if (sym == &symbol_yes) in expr_trans_compare()
921 if (sym == &symbol_mod) in expr_trans_compare()
923 if (sym == &symbol_no) in expr_trans_compare()
926 if (sym == &symbol_yes) in expr_trans_compare()
928 if (sym == &symbol_mod) in expr_trans_compare()
930 if (sym == &symbol_no) in expr_trans_compare()
935 return expr_alloc_comp(type, e->left.sym, sym); in expr_trans_compare()
954 sym_calc_value(e->left.sym); in expr_calc_value()
955 return e->left.sym->curr.tri; in expr_calc_value()
968 sym_calc_value(e->left.sym); in expr_calc_value()
969 sym_calc_value(e->right.sym); in expr_calc_value()
970 str1 = sym_get_string_value(e->left.sym); in expr_calc_value()
971 str2 = sym_get_string_value(e->right.sym); in expr_calc_value()
974 sym_calc_value(e->left.sym); in expr_calc_value()
975 sym_calc_value(e->right.sym); in expr_calc_value()
976 str1 = sym_get_string_value(e->left.sym); in expr_calc_value()
977 str2 = sym_get_string_value(e->right.sym); in expr_calc_value()
1066 if (e->left.sym->name) in expr_print()
1067 fn(data, e->left.sym, e->left.sym->name); in expr_print()
1076 if (e->left.sym->name) in expr_print()
1077 fn(data, e->left.sym, e->left.sym->name); in expr_print()
1081 fn(data, e->right.sym, e->right.sym->name); in expr_print()
1084 if (e->left.sym->name) in expr_print()
1085 fn(data, e->left.sym, e->left.sym->name); in expr_print()
1089 fn(data, e->right.sym, e->right.sym->name); in expr_print()
1102 fn(data, e->right.sym, e->right.sym->name); in expr_print()
1110 fn(data, e->left.sym, e->left.sym->name); in expr_print()
1112 fn(data, e->right.sym, e->right.sym->name); in expr_print()
1127 static void expr_print_file_helper(void *data, struct symbol *sym, const char *str) in expr_print_file_helper() argument
1137 static void expr_print_gstr_helper(void *data, struct symbol *sym, const char *str) in expr_print_gstr_helper() argument
1142 if (sym) in expr_print_gstr_helper()
1143 sym_str = sym_get_string_value(sym); in expr_print_gstr_helper()
1163 if (sym && sym->type != S_UNKNOWN) in expr_print_gstr_helper()