static char sccsid
[] = "@(#)parser3.c 3.3 %G%";
register struct value
*v
;
if (p_expr0(&t
, flag
) < 0)
p_error("%d: Not a variable.", t
.v_num
);
ret
= p_assign(t
.v_str
, v
, flag
);
register struct value
*v
;
if (p_expr1(v
, flag
) < 0)
p_error("Numeric value required for ?.");
if ((flag
&& true ? p_expr1(v
, 1) : p_expr1(&t
, 0)) < 0)
return flag
&& !true ? p_expr1(v
, 1) : p_expr1(&t
, 0);
register struct value
*v
;
if (p_expr2(v
, flag
) < 0)
v
->v_num
= true = true || v
->v_num
!= 0;
p_error("Numeric value required for ||.");
if (p_expr2(v
, flag
&& !true) < 0)
register struct value
*v
;
if (p_expr3_10(3, v
, flag
) < 0)
v
->v_num
= true = true && v
->v_num
!= 0;
p_error("Numeric value required for &&.");
if (p_expr3_10(3, v
, flag
&& true) < 0)