179 lines
6.2 KiB
Diff
179 lines
6.2 KiB
Diff
|
---
|
||
|
expr.c | 42 +++++++++++++++++++++---------------------
|
||
|
1 file changed, 21 insertions(+), 21 deletions(-)
|
||
|
|
||
|
Index: config.clean/expr.c
|
||
|
===================================================================
|
||
|
--- config.clean.orig/expr.c
|
||
|
+++ config.clean/expr.c
|
||
|
@@ -331,7 +331,7 @@
|
||
|
e->right.expr = expr_trans_bool(e->right.expr);
|
||
|
break;
|
||
|
case E_UNEQUAL:
|
||
|
- // FOO!=n -> FOO
|
||
|
+ /* FOO!=n -> FOO */
|
||
|
if (e->left.sym->type == S_TRISTATE) {
|
||
|
if (e->right.sym == &symbol_no) {
|
||
|
e->type = E_SYMBOL;
|
||
|
@@ -380,19 +380,19 @@
|
||
|
if (e1->type == E_EQUAL && e2->type == E_EQUAL &&
|
||
|
((e1->right.sym == &symbol_yes && e2->right.sym == &symbol_mod) ||
|
||
|
(e1->right.sym == &symbol_mod && e2->right.sym == &symbol_yes))) {
|
||
|
- // (a='y') || (a='m') -> (a!='n')
|
||
|
+ /* (a='y') || (a='m') -> (a!='n') */
|
||
|
return expr_alloc_comp(E_UNEQUAL, sym1, &symbol_no);
|
||
|
}
|
||
|
if (e1->type == E_EQUAL && e2->type == E_EQUAL &&
|
||
|
((e1->right.sym == &symbol_yes && e2->right.sym == &symbol_no) ||
|
||
|
(e1->right.sym == &symbol_no && e2->right.sym == &symbol_yes))) {
|
||
|
- // (a='y') || (a='n') -> (a!='m')
|
||
|
+ /* (a='y') || (a='n') -> (a!='m') */
|
||
|
return expr_alloc_comp(E_UNEQUAL, sym1, &symbol_mod);
|
||
|
}
|
||
|
if (e1->type == E_EQUAL && e2->type == E_EQUAL &&
|
||
|
((e1->right.sym == &symbol_mod && e2->right.sym == &symbol_no) ||
|
||
|
(e1->right.sym == &symbol_no && e2->right.sym == &symbol_mod))) {
|
||
|
- // (a='m') || (a='n') -> (a!='y')
|
||
|
+ /* (a='m') || (a='n') -> (a!='y') */
|
||
|
return expr_alloc_comp(E_UNEQUAL, sym1, &symbol_yes);
|
||
|
}
|
||
|
}
|
||
|
@@ -443,29 +443,29 @@
|
||
|
|
||
|
if ((e1->type == E_SYMBOL && e2->type == E_EQUAL && e2->right.sym == &symbol_yes) ||
|
||
|
(e2->type == E_SYMBOL && e1->type == E_EQUAL && e1->right.sym == &symbol_yes))
|
||
|
- // (a) && (a='y') -> (a='y')
|
||
|
+ /* (a) && (a='y') -> (a='y') */
|
||
|
return expr_alloc_comp(E_EQUAL, sym1, &symbol_yes);
|
||
|
|
||
|
if ((e1->type == E_SYMBOL && e2->type == E_UNEQUAL && e2->right.sym == &symbol_no) ||
|
||
|
(e2->type == E_SYMBOL && e1->type == E_UNEQUAL && e1->right.sym == &symbol_no))
|
||
|
- // (a) && (a!='n') -> (a)
|
||
|
+ /* (a) && (a!='n') -> (a) */
|
||
|
return expr_alloc_symbol(sym1);
|
||
|
|
||
|
if ((e1->type == E_SYMBOL && e2->type == E_UNEQUAL && e2->right.sym == &symbol_mod) ||
|
||
|
(e2->type == E_SYMBOL && e1->type == E_UNEQUAL && e1->right.sym == &symbol_mod))
|
||
|
- // (a) && (a!='m') -> (a='y')
|
||
|
+ /* (a) && (a!='m') -> (a='y') */
|
||
|
return expr_alloc_comp(E_EQUAL, sym1, &symbol_yes);
|
||
|
|
||
|
if (sym1->type == S_TRISTATE) {
|
||
|
if (e1->type == E_EQUAL && e2->type == E_UNEQUAL) {
|
||
|
- // (a='b') && (a!='c') -> 'b'='c' ? 'n' : a='b'
|
||
|
+ /* (a='b') && (a!='c') -> 'b'='c' ? 'n' : a='b' */
|
||
|
sym2 = e1->right.sym;
|
||
|
if ((e2->right.sym->flags & SYMBOL_CONST) && (sym2->flags & SYMBOL_CONST))
|
||
|
return sym2 != e2->right.sym ? expr_alloc_comp(E_EQUAL, sym1, sym2)
|
||
|
: expr_alloc_symbol(&symbol_no);
|
||
|
}
|
||
|
if (e1->type == E_UNEQUAL && e2->type == E_EQUAL) {
|
||
|
- // (a='b') && (a!='c') -> 'b'='c' ? 'n' : a='b'
|
||
|
+ /* (a='b') && (a!='c') -> 'b'='c' ? 'n' : a='b' */
|
||
|
sym2 = e2->right.sym;
|
||
|
if ((e1->right.sym->flags & SYMBOL_CONST) && (sym2->flags & SYMBOL_CONST))
|
||
|
return sym2 != e1->right.sym ? expr_alloc_comp(E_EQUAL, sym1, sym2)
|
||
|
@@ -474,19 +474,19 @@
|
||
|
if (e1->type == E_UNEQUAL && e2->type == E_UNEQUAL &&
|
||
|
((e1->right.sym == &symbol_yes && e2->right.sym == &symbol_no) ||
|
||
|
(e1->right.sym == &symbol_no && e2->right.sym == &symbol_yes)))
|
||
|
- // (a!='y') && (a!='n') -> (a='m')
|
||
|
+ /* (a!='y') && (a!='n') -> (a='m') */
|
||
|
return expr_alloc_comp(E_EQUAL, sym1, &symbol_mod);
|
||
|
|
||
|
if (e1->type == E_UNEQUAL && e2->type == E_UNEQUAL &&
|
||
|
((e1->right.sym == &symbol_yes && e2->right.sym == &symbol_mod) ||
|
||
|
(e1->right.sym == &symbol_mod && e2->right.sym == &symbol_yes)))
|
||
|
- // (a!='y') && (a!='m') -> (a='n')
|
||
|
+ /* (a!='y') && (a!='m') -> (a='n') */
|
||
|
return expr_alloc_comp(E_EQUAL, sym1, &symbol_no);
|
||
|
|
||
|
if (e1->type == E_UNEQUAL && e2->type == E_UNEQUAL &&
|
||
|
((e1->right.sym == &symbol_mod && e2->right.sym == &symbol_no) ||
|
||
|
(e1->right.sym == &symbol_no && e2->right.sym == &symbol_mod)))
|
||
|
- // (a!='m') && (a!='n') -> (a='m')
|
||
|
+ /* (a!='m') && (a!='n') -> (a='m') */
|
||
|
return expr_alloc_comp(E_EQUAL, sym1, &symbol_yes);
|
||
|
|
||
|
if ((e1->type == E_SYMBOL && e2->type == E_EQUAL && e2->right.sym == &symbol_mod) ||
|
||
|
@@ -579,7 +579,7 @@
|
||
|
switch (e1->type) {
|
||
|
case E_OR:
|
||
|
expr_eliminate_dups2(e1->type, &e1, &e1);
|
||
|
- // (FOO || BAR) && (!FOO && !BAR) -> n
|
||
|
+ /* (FOO || BAR) && (!FOO && !BAR) -> n */
|
||
|
tmp1 = expr_transform(expr_alloc_one(E_NOT, expr_copy(e1)));
|
||
|
tmp2 = expr_copy(e2);
|
||
|
tmp = expr_extract_eq_and(&tmp1, &tmp2);
|
||
|
@@ -594,7 +594,7 @@
|
||
|
break;
|
||
|
case E_AND:
|
||
|
expr_eliminate_dups2(e1->type, &e1, &e1);
|
||
|
- // (FOO && BAR) || (!FOO || !BAR) -> y
|
||
|
+ /* (FOO && BAR) || (!FOO || !BAR) -> y */
|
||
|
tmp1 = expr_transform(expr_alloc_one(E_NOT, expr_copy(e1)));
|
||
|
tmp2 = expr_copy(e2);
|
||
|
tmp = expr_extract_eq_or(&tmp1, &tmp2);
|
||
|
@@ -703,7 +703,7 @@
|
||
|
case E_NOT:
|
||
|
switch (e->left.expr->type) {
|
||
|
case E_NOT:
|
||
|
- // !!a -> a
|
||
|
+ /* !!a -> a */
|
||
|
tmp = e->left.expr->left.expr;
|
||
|
free(e->left.expr);
|
||
|
free(e);
|
||
|
@@ -712,14 +712,14 @@
|
||
|
break;
|
||
|
case E_EQUAL:
|
||
|
case E_UNEQUAL:
|
||
|
- // !a='x' -> a!='x'
|
||
|
+ /* !a='x' -> a!='x' */
|
||
|
tmp = e->left.expr;
|
||
|
free(e);
|
||
|
e = tmp;
|
||
|
e->type = e->type == E_EQUAL ? E_UNEQUAL : E_EQUAL;
|
||
|
break;
|
||
|
case E_OR:
|
||
|
- // !(a || b) -> !a && !b
|
||
|
+ /* !(a || b) -> !a && !b */
|
||
|
tmp = e->left.expr;
|
||
|
e->type = E_AND;
|
||
|
e->right.expr = expr_alloc_one(E_NOT, tmp->right.expr);
|
||
|
@@ -728,7 +728,7 @@
|
||
|
e = expr_transform(e);
|
||
|
break;
|
||
|
case E_AND:
|
||
|
- // !(a && b) -> !a || !b
|
||
|
+ /* !(a && b) -> !a || !b */
|
||
|
tmp = e->left.expr;
|
||
|
e->type = E_OR;
|
||
|
e->right.expr = expr_alloc_one(E_NOT, tmp->right.expr);
|
||
|
@@ -738,7 +738,7 @@
|
||
|
break;
|
||
|
case E_SYMBOL:
|
||
|
if (e->left.expr->left.sym == &symbol_yes) {
|
||
|
- // !'y' -> 'n'
|
||
|
+ /* !'y' -> 'n' */
|
||
|
tmp = e->left.expr;
|
||
|
free(e);
|
||
|
e = tmp;
|
||
|
@@ -747,7 +747,7 @@
|
||
|
break;
|
||
|
}
|
||
|
if (e->left.expr->left.sym == &symbol_mod) {
|
||
|
- // !'m' -> 'm'
|
||
|
+ /* !'m' -> 'm' */
|
||
|
tmp = e->left.expr;
|
||
|
free(e);
|
||
|
e = tmp;
|
||
|
@@ -756,7 +756,7 @@
|
||
|
break;
|
||
|
}
|
||
|
if (e->left.expr->left.sym == &symbol_no) {
|
||
|
- // !'n' -> 'y'
|
||
|
+ /* !'n' -> 'y' */
|
||
|
tmp = e->left.expr;
|
||
|
free(e);
|
||
|
e = tmp;
|