Lines Matching refs:sym

57 struct expr *expr_alloc_symbol(struct symbol *sym)  in expr_alloc_symbol()  argument
59 return expr_lookup(E_SYMBOL, sym, NULL); in expr_alloc_symbol()
127 (*ep1)->left.sym == (*ep2)->left.sym && in __expr_eliminate_eq()
128 ((*ep1)->left.sym == &symbol_yes || (*ep1)->left.sym == &symbol_no)) in __expr_eliminate_eq()
228 return e1->left.sym == e2->left.sym && e1->right.sym == e2->right.sym; in expr_eq()
230 return e1->left.sym == e2->left.sym; in expr_eq()
238 e1->left.sym == e2->left.sym); in expr_eq()
276 if (l->left.sym == &symbol_no) in expr_eliminate_yn()
278 else if (l->left.sym == &symbol_yes) in expr_eliminate_yn()
282 if (r->left.sym == &symbol_no) in expr_eliminate_yn()
284 else if (r->left.sym == &symbol_yes) in expr_eliminate_yn()
292 if (l->left.sym == &symbol_no) in expr_eliminate_yn()
294 else if (l->left.sym == &symbol_yes) in expr_eliminate_yn()
298 if (r->left.sym == &symbol_no) in expr_eliminate_yn()
300 else if (r->left.sym == &symbol_yes) in expr_eliminate_yn()
328 sym1 = tmp->left.sym; in expr_join_or()
330 sym1 = e1->left.sym; in expr_join_or()
334 sym2 = e2->left.expr->left.sym; in expr_join_or()
336 sym2 = e2->left.sym; in expr_join_or()
343 ((e1->right.sym == &symbol_yes && e2->right.sym == &symbol_mod) || in expr_join_or()
344 (e1->right.sym == &symbol_mod && e2->right.sym == &symbol_yes))) { in expr_join_or()
349 ((e1->right.sym == &symbol_yes && e2->right.sym == &symbol_no) || in expr_join_or()
350 (e1->right.sym == &symbol_no && e2->right.sym == &symbol_yes))) { in expr_join_or()
355 ((e1->right.sym == &symbol_mod && e2->right.sym == &symbol_no) || in expr_join_or()
356 (e1->right.sym == &symbol_no && e2->right.sym == &symbol_mod))) { in expr_join_or()
393 sym1 = tmp->left.sym; in expr_join_and()
395 sym1 = e1->left.sym; in expr_join_and()
399 sym2 = e2->left.expr->left.sym; in expr_join_and()
401 sym2 = e2->left.sym; in expr_join_and()
407 if ((e1->type == E_SYMBOL && e2->type == E_EQUAL && e2->right.sym == &symbol_yes) || in expr_join_and()
408 (e2->type == E_SYMBOL && e1->type == E_EQUAL && e1->right.sym == &symbol_yes)) in expr_join_and()
412 if ((e1->type == E_SYMBOL && e2->type == E_UNEQUAL && e2->right.sym == &symbol_no) || in expr_join_and()
413 (e2->type == E_SYMBOL && e1->type == E_UNEQUAL && e1->right.sym == &symbol_no)) in expr_join_and()
417 if ((e1->type == E_SYMBOL && e2->type == E_UNEQUAL && e2->right.sym == &symbol_mod) || in expr_join_and()
418 (e2->type == E_SYMBOL && e1->type == E_UNEQUAL && e1->right.sym == &symbol_mod)) in expr_join_and()
425 sym2 = e1->right.sym; in expr_join_and()
426 if ((e2->right.sym->flags & SYMBOL_CONST) && (sym2->flags & SYMBOL_CONST)) in expr_join_and()
427 return sym2 != e2->right.sym ? expr_alloc_comp(E_EQUAL, sym1, sym2) in expr_join_and()
432 sym2 = e2->right.sym; in expr_join_and()
433 if ((e1->right.sym->flags & SYMBOL_CONST) && (sym2->flags & SYMBOL_CONST)) in expr_join_and()
434 return sym2 != e1->right.sym ? expr_alloc_comp(E_EQUAL, sym1, sym2) in expr_join_and()
438 ((e1->right.sym == &symbol_yes && e2->right.sym == &symbol_no) || in expr_join_and()
439 (e1->right.sym == &symbol_no && e2->right.sym == &symbol_yes))) in expr_join_and()
444 ((e1->right.sym == &symbol_yes && e2->right.sym == &symbol_mod) || in expr_join_and()
445 (e1->right.sym == &symbol_mod && e2->right.sym == &symbol_yes))) in expr_join_and()
450 ((e1->right.sym == &symbol_mod && e2->right.sym == &symbol_no) || in expr_join_and()
451 (e1->right.sym == &symbol_no && e2->right.sym == &symbol_mod))) in expr_join_and()
455 if ((e1->type == E_SYMBOL && e2->type == E_EQUAL && e2->right.sym == &symbol_mod) || in expr_join_and()
456 (e2->type == E_SYMBOL && e1->type == E_EQUAL && e1->right.sym == &symbol_mod) || in expr_join_and()
457 (e1->type == E_SYMBOL && e2->type == E_UNEQUAL && e2->right.sym == &symbol_yes) || in expr_join_and()
458 (e2->type == E_SYMBOL && e1->type == E_UNEQUAL && e1->right.sym == &symbol_yes)) in expr_join_and()
614 if (e->left.sym->type != S_BOOLEAN) in expr_transform()
616 if (e->right.sym == &symbol_no) { in expr_transform()
618 e = expr_alloc_one(E_NOT, expr_alloc_symbol(e->left.sym)); in expr_transform()
621 if (e->right.sym == &symbol_mod) { in expr_transform()
623 printf("boolean symbol %s tested for 'm'? test forced to 'n'\n", e->left.sym->name); in expr_transform()
627 if (e->right.sym == &symbol_yes) { in expr_transform()
629 e = expr_alloc_symbol(e->left.sym); in expr_transform()
634 if (e->left.sym->type != S_BOOLEAN) in expr_transform()
636 if (e->right.sym == &symbol_no) { in expr_transform()
638 e = expr_alloc_symbol(e->left.sym); in expr_transform()
641 if (e->right.sym == &symbol_mod) { in expr_transform()
643 printf("boolean symbol %s tested for 'm'? test forced to 'y'\n", e->left.sym->name); in expr_transform()
647 if (e->right.sym == &symbol_yes) { in expr_transform()
663 e->left.expr->left.sym, in expr_transform()
664 e->left.expr->right.sym); in expr_transform()
670 e->left.expr->left.sym, in expr_transform()
671 e->left.expr->right.sym); in expr_transform()
677 e->left.expr->left.sym, in expr_transform()
678 e->left.expr->right.sym); in expr_transform()
693 if (e->left.expr->left.sym == &symbol_yes) in expr_transform()
696 else if (e->left.expr->left.sym == &symbol_mod) in expr_transform()
699 else if (e->left.expr->left.sym == &symbol_no) in expr_transform()
713 bool expr_contains_symbol(struct expr *dep, struct symbol *sym) in expr_contains_symbol() argument
721 return expr_contains_symbol(dep->left.expr, sym) || in expr_contains_symbol()
722 expr_contains_symbol(dep->right.expr, sym); in expr_contains_symbol()
724 return dep->left.sym == sym; in expr_contains_symbol()
731 return dep->left.sym == sym || in expr_contains_symbol()
732 dep->right.sym == sym; in expr_contains_symbol()
734 return expr_contains_symbol(dep->left.expr, sym); in expr_contains_symbol()
741 bool expr_depends_symbol(struct expr *dep, struct symbol *sym) in expr_depends_symbol() argument
748 return expr_depends_symbol(dep->left.expr, sym) || in expr_depends_symbol()
749 expr_depends_symbol(dep->right.expr, sym); in expr_depends_symbol()
751 return dep->left.sym == sym; in expr_depends_symbol()
753 if (dep->left.sym == sym) { in expr_depends_symbol()
754 if (dep->right.sym == &symbol_yes || dep->right.sym == &symbol_mod) in expr_depends_symbol()
759 if (dep->left.sym == sym) { in expr_depends_symbol()
760 if (dep->right.sym == &symbol_no) in expr_depends_symbol()
784 struct expr *expr_trans_compare(struct expr *e, enum expr_type type, struct symbol *sym) in expr_trans_compare() argument
789 e = expr_alloc_symbol(sym); in expr_trans_compare()
796 e1 = expr_trans_compare(e->left.expr, E_EQUAL, sym); in expr_trans_compare()
797 e2 = expr_trans_compare(e->right.expr, E_EQUAL, sym); in expr_trans_compare()
798 if (sym == &symbol_yes) in expr_trans_compare()
800 if (sym == &symbol_no) in expr_trans_compare()
806 e1 = expr_trans_compare(e->left.expr, E_EQUAL, sym); in expr_trans_compare()
807 e2 = expr_trans_compare(e->right.expr, E_EQUAL, sym); in expr_trans_compare()
808 if (sym == &symbol_yes) in expr_trans_compare()
810 if (sym == &symbol_no) in expr_trans_compare()
816 return expr_trans_compare(e->left.expr, type == E_EQUAL ? E_UNEQUAL : E_EQUAL, sym); in expr_trans_compare()
824 if (sym == &symbol_yes) in expr_trans_compare()
826 if (sym == &symbol_mod) in expr_trans_compare()
828 if (sym == &symbol_no) in expr_trans_compare()
831 if (sym == &symbol_yes) in expr_trans_compare()
833 if (sym == &symbol_mod) in expr_trans_compare()
835 if (sym == &symbol_no) in expr_trans_compare()
840 return expr_alloc_comp(type, e->left.sym, sym); in expr_trans_compare()
901 sym_calc_value(e->left.sym); in __expr_calc_value()
902 return e->left.sym->curr.tri; in __expr_calc_value()
926 sym_calc_value(e->left.sym); in __expr_calc_value()
927 sym_calc_value(e->right.sym); in __expr_calc_value()
928 str1 = sym_get_string_value(e->left.sym); in __expr_calc_value()
929 str2 = sym_get_string_value(e->right.sym); in __expr_calc_value()
931 if (e->left.sym->type != S_STRING || e->right.sym->type != S_STRING) { in __expr_calc_value()
932 k1 = expr_parse_string(str1, e->left.sym->type, &lval); in __expr_calc_value()
933 k2 = expr_parse_string(str2, e->right.sym->type, &rval); in __expr_calc_value()
1035 if (e->left.sym->name) in expr_print()
1036 fn(data, e->left.sym, e->left.sym->name); in expr_print()
1045 if (e->left.sym->name) in expr_print()
1046 fn(data, e->left.sym, e->left.sym->name); in expr_print()
1050 fn(data, e->right.sym, e->right.sym->name); in expr_print()
1054 if (e->left.sym->name) in expr_print()
1055 fn(data, e->left.sym, e->left.sym->name); in expr_print()
1059 fn(data, e->right.sym, e->right.sym->name); in expr_print()
1063 if (e->left.sym->name) in expr_print()
1064 fn(data, e->left.sym, e->left.sym->name); in expr_print()
1068 fn(data, e->right.sym, e->right.sym->name); in expr_print()
1071 if (e->left.sym->name) in expr_print()
1072 fn(data, e->left.sym, e->left.sym->name); in expr_print()
1076 fn(data, e->right.sym, e->right.sym->name); in expr_print()
1090 fn(data, e->left.sym, e->left.sym->name); in expr_print()
1092 fn(data, e->right.sym, e->right.sym->name); in expr_print()
1107 static void expr_print_file_helper(void *data, struct symbol *sym, const char *str) in expr_print_file_helper() argument
1117 static void expr_print_gstr_helper(void *data, struct symbol *sym, const char *str) in expr_print_gstr_helper() argument
1122 if (sym) in expr_print_gstr_helper()
1123 sym_str = sym_get_string_value(sym); in expr_print_gstr_helper()
1143 if (sym && sym->type != S_UNKNOWN) in expr_print_gstr_helper()