Precedence-Aware Evaluation
Categories: Java, Programming
Recently I needed to take an expression represented as a list of form (term OP term OP term OP ..) and evaluate it in memory, where some operators (OP) bind more tightly (have higher precendence) than others. While the answer I came up with isn’t terribly complicated, I didn’t find it trivial to build an efficient solution either, so I’ve documented it in case I run up against this myself in a few years time - and maybe you’ll find it useful or interesting too.