Lines Matching defs:doEval
208 ParseWord(const char **pp, bool doEval)
224 VarEvalMode emode = doEval ? VARE_EVAL : VARE_PARSE;
246 ParseFuncArg(CondParser *par, const char **pp, bool doEval, const char *func)
254 res = ParseWord(&p, doEval);
388 bool doEval, bool quoted,
395 emode = doEval && quoted ? VARE_EVAL
396 : doEval ? VARE_EVAL_DEFINED_LOUD
427 CondParser_Leaf(CondParser *par, bool doEval, bool unquotedOK,
471 start, doEval, quoted, &buf, &str))
593 CondParser_Comparison(CondParser *par, bool doEval)
600 lhs = CondParser_Leaf(par, doEval, par->leftUnquotedOK, &lhsQuoted);
607 t = ToToken(doEval && EvalTruthy(par, lhs.str, lhsQuoted));
620 rhs = CondParser_Leaf(par, doEval, true, &rhsQuoted);
622 : !doEval ? TOK_FALSE
636 CondParser_FuncCallEmpty(CondParser *par, bool doEval, Token *out_token)
650 val = Var_Parse(&p, SCOPE_CMDLINE, doEval ? VARE_EVAL : VARE_PARSE);
657 tok = ToToken(doEval && val.str[0] == '\0');
668 CondParser_FuncCall(CondParser *par, bool doEval, Token *out_token)
692 arg = ParseFuncArg(par, &p, doEval, fn_name);
693 *out_token = ToToken(doEval &&
709 CondParser_ComparisonOrLeaf(CondParser *par, bool doEval)
717 return CondParser_Comparison(par, doEval);
731 arg = ParseWord(&p, doEval);
737 return CondParser_Comparison(par, doEval);
747 t = ToToken(doEval && par->evalBare(arg) != par->negateEvalBare);
754 CondParser_Token(CondParser *par, bool doEval)
810 return CondParser_Comparison(par, doEval);
813 if (CondParser_FuncCallEmpty(par, doEval, &t))
815 if (CondParser_FuncCall(par, doEval, &t))
817 return CondParser_ComparisonOrLeaf(par, doEval);
844 CondParser_Term(CondParser *par, bool doEval)
850 while ((t = CondParser_Token(par, doEval)) == TOK_NOT)
857 res = CondParser_Or(par, doEval);
860 if (CondParser_Token(par, doEval) != TOK_RPAREN)
872 CondParser_And(CondParser *par, bool doEval)
878 if ((rhs = CondParser_Term(par, doEval)) == CR_ERROR)
882 doEval = false;
893 CondParser_Or(CondParser *par, bool doEval)
899 if ((rhs = CondParser_And(par, doEval)) == CR_ERROR)
903 doEval = false;