Lines Matching refs:sym

19 struct expr *expr_alloc_symbol(struct symbol *sym)  in expr_alloc_symbol()  argument
23 e->left.sym = sym; in expr_alloc_symbol()
48 e->left.sym = s1; in expr_alloc_comp()
49 e->right.sym = s2; in expr_alloc_comp()
89 e->left.sym = org->left.sym; in expr_copy()
90 e->right.sym = org->right.sym; in expr_copy()
169 e1->left.sym == e2->left.sym && in __expr_eliminate_eq()
170 (e1->left.sym == &symbol_yes || e1->left.sym == &symbol_no)) in __expr_eliminate_eq()
266 return e1->left.sym == e2->left.sym && e1->right.sym == e2->right.sym; in expr_eq()
268 return e1->left.sym == e2->left.sym; in expr_eq()
278 e1->left.sym == e2->left.sym); in expr_eq()
319 if (e->left.expr->left.sym == &symbol_no) { in expr_eliminate_yn()
323 e->left.sym = &symbol_no; in expr_eliminate_yn()
326 } else if (e->left.expr->left.sym == &symbol_yes) { in expr_eliminate_yn()
335 if (e->right.expr->left.sym == &symbol_no) { in expr_eliminate_yn()
339 e->left.sym = &symbol_no; in expr_eliminate_yn()
342 } else if (e->right.expr->left.sym == &symbol_yes) { in expr_eliminate_yn()
355 if (e->left.expr->left.sym == &symbol_no) { in expr_eliminate_yn()
361 } else if (e->left.expr->left.sym == &symbol_yes) { in expr_eliminate_yn()
365 e->left.sym = &symbol_yes; in expr_eliminate_yn()
371 if (e->right.expr->left.sym == &symbol_no) { in expr_eliminate_yn()
377 } else if (e->right.expr->left.sym == &symbol_yes) { in expr_eliminate_yn()
381 e->left.sym = &symbol_yes; in expr_eliminate_yn()
409 if (e->left.sym->type == S_TRISTATE) { in expr_trans_bool()
410 if (e->right.sym == &symbol_no) { in expr_trans_bool()
412 e->right.sym = NULL; in expr_trans_bool()
440 sym1 = tmp->left.sym; in expr_join_or()
442 sym1 = e1->left.sym; in expr_join_or()
446 sym2 = e2->left.expr->left.sym; in expr_join_or()
448 sym2 = e2->left.sym; in expr_join_or()
455 ((e1->right.sym == &symbol_yes && e2->right.sym == &symbol_mod) || in expr_join_or()
456 (e1->right.sym == &symbol_mod && e2->right.sym == &symbol_yes))) { in expr_join_or()
461 ((e1->right.sym == &symbol_yes && e2->right.sym == &symbol_no) || in expr_join_or()
462 (e1->right.sym == &symbol_no && e2->right.sym == &symbol_yes))) { in expr_join_or()
467 ((e1->right.sym == &symbol_mod && e2->right.sym == &symbol_no) || in expr_join_or()
468 (e1->right.sym == &symbol_no && e2->right.sym == &symbol_mod))) { in expr_join_or()
504 sym1 = tmp->left.sym; in expr_join_and()
506 sym1 = e1->left.sym; in expr_join_and()
510 sym2 = e2->left.expr->left.sym; in expr_join_and()
512 sym2 = e2->left.sym; in expr_join_and()
518 if ((e1->type == E_SYMBOL && e2->type == E_EQUAL && e2->right.sym == &symbol_yes) || in expr_join_and()
519 (e2->type == E_SYMBOL && e1->type == E_EQUAL && e1->right.sym == &symbol_yes)) in expr_join_and()
523 if ((e1->type == E_SYMBOL && e2->type == E_UNEQUAL && e2->right.sym == &symbol_no) || in expr_join_and()
524 (e2->type == E_SYMBOL && e1->type == E_UNEQUAL && e1->right.sym == &symbol_no)) in expr_join_and()
528 if ((e1->type == E_SYMBOL && e2->type == E_UNEQUAL && e2->right.sym == &symbol_mod) || in expr_join_and()
529 (e2->type == E_SYMBOL && e1->type == E_UNEQUAL && e1->right.sym == &symbol_mod)) in expr_join_and()
536 sym2 = e1->right.sym; in expr_join_and()
537 if ((e2->right.sym->flags & SYMBOL_CONST) && (sym2->flags & SYMBOL_CONST)) in expr_join_and()
538 return sym2 != e2->right.sym ? expr_alloc_comp(E_EQUAL, sym1, sym2) in expr_join_and()
543 sym2 = e2->right.sym; in expr_join_and()
544 if ((e1->right.sym->flags & SYMBOL_CONST) && (sym2->flags & SYMBOL_CONST)) in expr_join_and()
545 return sym2 != e1->right.sym ? expr_alloc_comp(E_EQUAL, sym1, sym2) in expr_join_and()
549 ((e1->right.sym == &symbol_yes && e2->right.sym == &symbol_no) || in expr_join_and()
550 (e1->right.sym == &symbol_no && e2->right.sym == &symbol_yes))) in expr_join_and()
555 ((e1->right.sym == &symbol_yes && e2->right.sym == &symbol_mod) || in expr_join_and()
556 (e1->right.sym == &symbol_mod && e2->right.sym == &symbol_yes))) in expr_join_and()
561 ((e1->right.sym == &symbol_mod && e2->right.sym == &symbol_no) || in expr_join_and()
562 (e1->right.sym == &symbol_no && e2->right.sym == &symbol_mod))) in expr_join_and()
566 if ((e1->type == E_SYMBOL && e2->type == E_EQUAL && e2->right.sym == &symbol_mod) || in expr_join_and()
567 (e2->type == E_SYMBOL && e1->type == E_EQUAL && e1->right.sym == &symbol_mod) || in expr_join_and()
568 (e1->type == E_SYMBOL && e2->type == E_UNEQUAL && e2->right.sym == &symbol_yes) || in expr_join_and()
569 (e2->type == E_SYMBOL && e1->type == E_UNEQUAL && e1->right.sym == &symbol_yes)) in expr_join_and()
711 if (e->left.sym->type != S_BOOLEAN) in expr_transform()
713 if (e->right.sym == &symbol_no) { in expr_transform()
715 e->left.expr = expr_alloc_symbol(e->left.sym); in expr_transform()
716 e->right.sym = NULL; in expr_transform()
719 if (e->right.sym == &symbol_mod) { in expr_transform()
720 printf("boolean symbol %s tested for 'm'? test forced to 'n'\n", e->left.sym->name); in expr_transform()
722 e->left.sym = &symbol_no; in expr_transform()
723 e->right.sym = NULL; in expr_transform()
726 if (e->right.sym == &symbol_yes) { in expr_transform()
728 e->right.sym = NULL; in expr_transform()
733 if (e->left.sym->type != S_BOOLEAN) in expr_transform()
735 if (e->right.sym == &symbol_no) { in expr_transform()
737 e->right.sym = NULL; in expr_transform()
740 if (e->right.sym == &symbol_mod) { in expr_transform()
741 printf("boolean symbol %s tested for 'm'? test forced to 'y'\n", e->left.sym->name); in expr_transform()
743 e->left.sym = &symbol_yes; in expr_transform()
744 e->right.sym = NULL; in expr_transform()
747 if (e->right.sym == &symbol_yes) { in expr_transform()
749 e->left.expr = expr_alloc_symbol(e->left.sym); in expr_transform()
750 e->right.sym = NULL; in expr_transform()
807 if (e->left.expr->left.sym == &symbol_yes) { in expr_transform()
813 e->left.sym = &symbol_no; in expr_transform()
816 if (e->left.expr->left.sym == &symbol_mod) { in expr_transform()
822 e->left.sym = &symbol_mod; in expr_transform()
825 if (e->left.expr->left.sym == &symbol_no) { in expr_transform()
831 e->left.sym = &symbol_yes; in expr_transform()
845 int expr_contains_symbol(struct expr *dep, struct symbol *sym) in expr_contains_symbol() argument
853 return expr_contains_symbol(dep->left.expr, sym) || in expr_contains_symbol()
854 expr_contains_symbol(dep->right.expr, sym); in expr_contains_symbol()
856 return dep->left.sym == sym; in expr_contains_symbol()
863 return dep->left.sym == sym || in expr_contains_symbol()
864 dep->right.sym == sym; in expr_contains_symbol()
866 return expr_contains_symbol(dep->left.expr, sym); in expr_contains_symbol()
873 bool expr_depends_symbol(struct expr *dep, struct symbol *sym) in expr_depends_symbol() argument
880 return expr_depends_symbol(dep->left.expr, sym) || in expr_depends_symbol()
881 expr_depends_symbol(dep->right.expr, sym); in expr_depends_symbol()
883 return dep->left.sym == sym; in expr_depends_symbol()
885 if (dep->left.sym == sym) { in expr_depends_symbol()
886 if (dep->right.sym == &symbol_yes || dep->right.sym == &symbol_mod) in expr_depends_symbol()
891 if (dep->left.sym == sym) { in expr_depends_symbol()
892 if (dep->right.sym == &symbol_no) in expr_depends_symbol()
916 struct expr *expr_trans_compare(struct expr *e, enum expr_type type, struct symbol *sym) in expr_trans_compare() argument
921 e = expr_alloc_symbol(sym); in expr_trans_compare()
928 e1 = expr_trans_compare(e->left.expr, E_EQUAL, sym); in expr_trans_compare()
929 e2 = expr_trans_compare(e->right.expr, E_EQUAL, sym); in expr_trans_compare()
930 if (sym == &symbol_yes) in expr_trans_compare()
932 if (sym == &symbol_no) in expr_trans_compare()
938 e1 = expr_trans_compare(e->left.expr, E_EQUAL, sym); in expr_trans_compare()
939 e2 = expr_trans_compare(e->right.expr, E_EQUAL, sym); in expr_trans_compare()
940 if (sym == &symbol_yes) in expr_trans_compare()
942 if (sym == &symbol_no) in expr_trans_compare()
948 return expr_trans_compare(e->left.expr, type == E_EQUAL ? E_UNEQUAL : E_EQUAL, sym); in expr_trans_compare()
956 if (sym == &symbol_yes) in expr_trans_compare()
958 if (sym == &symbol_mod) in expr_trans_compare()
960 if (sym == &symbol_no) in expr_trans_compare()
963 if (sym == &symbol_yes) in expr_trans_compare()
965 if (sym == &symbol_mod) in expr_trans_compare()
967 if (sym == &symbol_no) in expr_trans_compare()
972 return expr_alloc_comp(type, e->left.sym, sym); in expr_trans_compare()
1037 sym_calc_value(e->left.sym); in expr_calc_value()
1038 return e->left.sym->curr.tri; in expr_calc_value()
1062 sym_calc_value(e->left.sym); in expr_calc_value()
1063 sym_calc_value(e->right.sym); in expr_calc_value()
1064 str1 = sym_get_string_value(e->left.sym); in expr_calc_value()
1065 str2 = sym_get_string_value(e->right.sym); in expr_calc_value()
1067 if (e->left.sym->type != S_STRING || e->right.sym->type != S_STRING) { in expr_calc_value()
1068 k1 = expr_parse_string(str1, e->left.sym->type, &lval); in expr_calc_value()
1069 k2 = expr_parse_string(str2, e->right.sym->type, &rval); in expr_calc_value()
1145 if (e->left.sym->name) in expr_print()
1146 fn(data, e->left.sym, e->left.sym->name); in expr_print()
1155 if (e->left.sym->name) in expr_print()
1156 fn(data, e->left.sym, e->left.sym->name); in expr_print()
1160 fn(data, e->right.sym, e->right.sym->name); in expr_print()
1164 if (e->left.sym->name) in expr_print()
1165 fn(data, e->left.sym, e->left.sym->name); in expr_print()
1169 fn(data, e->right.sym, e->right.sym->name); in expr_print()
1173 if (e->left.sym->name) in expr_print()
1174 fn(data, e->left.sym, e->left.sym->name); in expr_print()
1178 fn(data, e->right.sym, e->right.sym->name); in expr_print()
1181 if (e->left.sym->name) in expr_print()
1182 fn(data, e->left.sym, e->left.sym->name); in expr_print()
1186 fn(data, e->right.sym, e->right.sym->name); in expr_print()
1199 fn(data, e->right.sym, e->right.sym->name); in expr_print()
1207 fn(data, e->left.sym, e->left.sym->name); in expr_print()
1209 fn(data, e->right.sym, e->right.sym->name); in expr_print()
1224 static void expr_print_file_helper(void *data, struct symbol *sym, const char *str) in expr_print_file_helper() argument
1234 static void expr_print_gstr_helper(void *data, struct symbol *sym, const char *str) in expr_print_gstr_helper() argument
1239 if (sym) in expr_print_gstr_helper()
1240 sym_str = sym_get_string_value(sym); in expr_print_gstr_helper()
1260 if (sym && sym->type != S_UNKNOWN) in expr_print_gstr_helper()