(expr: &str)
| 386 | |
| 387 | fn parse_term(&mut self) -> Result<(), CompileError> { |
| 388 | self.parse_power()?; |
| 389 | loop { |
| 390 | self.skip_ws(); |
| 391 | if self.eat(b'*') { |
| 392 | self.parse_power()?; |
| 393 | self.ops.push(Op::Mul); |
| 394 | } else if self.eat(b'/') { |
| 395 | self.parse_power()?; |
| 396 | self.ops.push(Op::Div); |
| 397 | } else { |
| 398 | break; |
| 399 | } |
| 400 | } |
| 401 | Ok(()) |
| 402 | } |
| 403 | |
| 404 | fn parse_power(&mut self) -> Result<(), CompileError> { |