mirror of
https://github.com/tiffany352/rink-rs
synced 2024-09-20 22:21:57 +00:00
Fix parser bug with terms after a suffix operator
This commit is contained in:
parent
353f82804d
commit
888313e7e2
1 changed files with 7 additions and 1 deletions
|
@ -440,7 +440,7 @@ fn parse_mul(mut iter: &mut Iter) -> Expr {
|
|||
|
||||
fn parse_suffix(mut iter: &mut Iter) -> Expr {
|
||||
let left = parse_mul(iter);
|
||||
match iter.peek().cloned().unwrap() {
|
||||
let res = match iter.peek().cloned().unwrap() {
|
||||
Token::DegC => {
|
||||
iter.next();
|
||||
Expr::Suffix(SuffixOp::Celsius, Box::new(left))
|
||||
|
@ -466,6 +466,12 @@ fn parse_suffix(mut iter: &mut Iter) -> Expr {
|
|||
Expr::Suffix(SuffixOp::Newton, Box::new(left))
|
||||
},
|
||||
_ => left
|
||||
};
|
||||
match iter.peek().cloned().unwrap() {
|
||||
Token::Comma | Token::Equals | Token::Plus | Token::Minus | Token::DashArrow |
|
||||
Token::TriplePipe | Token::RPar | Token::Newline | Token::Comment(_) | Token::Eof =>
|
||||
return res,
|
||||
_ => Expr::Mul(vec![res, parse_mul(iter)])
|
||||
}
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in a new issue