Hit another snag.
I’ve got relationals parsing, but the precedence is messed up when following an assignment. That may be because of how assignments are parsed. I didn’t have a problem with assignment parsing before because assignment has lower precedence than arithmetic. Relationals, however, have lower precedence than assignment. That may be the case which breaks the assignment parsing. I’ll fix it tomorrow.
Here is current test output. The test expression is at the top. This statement should return 1 (true), but if it were to run with this nesting, it might return 2 because the relational (EqTo) is nested inside the assignment (think of the precedence as parentheses around the relational).
y=6
2 + x = 4 == y
<StatementList>[
<Statement>
<Expression>
<Assign>
left_expr:
<Variable>id:y</Variable>
right_expr:
<Number>value:6</Number>
</Assign>
</Expression>
</Statement>]
</StatementList>
<StatementList>[
<Statement>
<Expression>
<Sum>
left_expr:
<Number>value:2</Number>
right_expr:
<Assign>
left_expr:
<Variable>id:x</Variable>
right_expr:
<EqTo>
left_expr:
<Number>value:4</Number>
right_expr:
<Variable>id:y</Variable>
</EqTo>
</Assign>
</Sum>
</Expression>
</Statement>]
</StatementList>```