Lines Matching full:value
36 Value* v = expr->fn(expr->name, state, expr->argc, expr->argv);
39 ErrorAbort(state, "expecting string, got value type %d", v->type);
48 Value* EvaluateValue(State* state, Expr* expr) {
52 Value* StringValue(char* str) {
54 Value* v = malloc(sizeof(Value));
61 void FreeValue(Value* v) {
67 Value* ConcatFn(const char* name, State* state, int argc, Expr* argv[]) {
102 Value* IfElseFn(const char* name, State* state, int argc, Expr* argv[]) {
126 Value* AbortFn(const char* name, State* state, int argc, Expr* argv[]) {
140 Value* AssertFn(const char* name, State* state, int argc, Expr* argv[]) {
165 Value* SleepFn(const char* name, State* state, int argc, Expr* argv[]) {
175 Value* StdoutFn(const char* name, State* state, int argc, Expr* argv[]) {
188 Value* LogicalAndFn(const char* name, State* state,
200 Value* LogicalOrFn(const char* name, State* state,
212 Value* LogicalNotFn(const char* name, State* state,
221 Value* SubstringFn(const char* name, State* state,
237 Value* EqualityFn(const char* name, State* state, int argc, Expr* argv[]) {
252 Value* InequalityFn(const char* name, State* state, int argc, Expr* argv[]) {
267 Value* SequenceFn(const char* name, State* state, int argc, Expr* argv[]) {
268 Value* left = EvaluateValue(state, argv[0]);
274 Value* LessThanIntFn(const char* name, State* state, int argc, Expr* argv[]) {
308 Value* GreaterThanIntFn(const char* name, State* state,
323 Value* Literal(const char* name, State* state, int argc, Expr* argv[]) {
428 // Evaluate the expressions in argv, giving 'count' Value* (the ... is
429 // zero or more Value** to put them in). If any expression evaluates
432 Value** args = malloc(count * sizeof(Value*));
447 *(va_arg(v, Value**)) = args[i];
475 // Evaluate the expressions in argv, returning an array of Value*
479 Value** ReadValueVarArgs(State* state, int argc, Expr* argv[]) {
480 Value** args = (Value**)malloc(argc * sizeof(Value*));
498 Value* ErrorAbort(State* state, char* format, ...) {