Add support for all left-associative binary ops
This commit is contained in:
parent
04e390c6f9
commit
0691c22487
2 changed files with 33 additions and 1 deletions
|
@ -27,7 +27,14 @@ fn parse_expression<'source>(
|
|||
pos: &mut usize,
|
||||
tokens: &[Token<'source>],
|
||||
) -> Expression<'source> {
|
||||
const LEFT_ASSOC_BIN_OPS: [&[&str]; 2] = [&["+", "-"], &["*", "/"]];
|
||||
const LEFT_ASSOC_BIN_OPS: [&[&str]; 6] = [
|
||||
&["or"],
|
||||
&["and"],
|
||||
&["==", "!="],
|
||||
&["<", "<=", "=>", ">"],
|
||||
&["+", "-"],
|
||||
&["*", "/", "%"],
|
||||
];
|
||||
|
||||
if level == LEFT_ASSOC_BIN_OPS.len() {
|
||||
parse_term(pos, tokens)
|
||||
|
|
Reference in a new issue