function expr_value($uu = 0) { global $type, $val, $subtype, $next, $nextval, $jsp_i; jsc::get(); switch ($type) { case JS_BRACE1: if (JS_DEBUG) { echo "_(\n"; } jsc::assert(JS_BRACE1, "(", "_expr_value"); $r = jsc::expr_start(); jsc::want(JS_BRACE0, ")", "_expr_value"); return $r; break; case JS_OP_PFIX: return jsc::prefix_var(); break; case JS_OP_UNARY: case JS_OP_PLUS: return jsc::expr_op_unary(); break; case JS_WORD: return jsc::var_or_func(); break; default: if (JS_DEBUG) { echo "_CONST\n"; } jsc::assert(JS_VALUE, 0, "_expr_value"); if ($subtype == JS_STR) { return array(JS_VALUE, "'{$val}'"); } return array(JS_VALUE, $val); } }