| 299 | } |
| 300 | |
| 301 | static AVExpr * parse_factor(Parser *p){ |
| 302 | int sign, sign2; |
| 303 | AVExpr * e = parse_pow(p, &sign); |
| 304 | while(p->s[0]=='^'){ |
| 305 | p->s++; |
| 306 | e= new_eval_expr(e_pow, 1, e, parse_pow(p, &sign2)); |
| 307 | if (!e) |
| 308 | return NULL; |
| 309 | if (e->param[1]) e->param[1]->value *= (sign2|1); |
| 310 | } |
| 311 | if (e) e->value *= (sign|1); |
| 312 | return e; |
| 313 | } |
| 314 | |
| 315 | static AVExpr * parse_term(Parser *p){ |
| 316 | AVExpr * e = parse_factor(p); |
no test coverage detected