extract BinarySymbol interface from InfixSymbol
add utility methods to ScalarResult
track the current symbol across nested calls to getExpression
require the final token to be a terminator
correct SyntaxException message
add end-to-end tests
centralize throwing of exceptions on bad denotataion
upgrade Gradle to get a version of Checkstyle which supports SuppressWarnings
make `+` and `-` work as prefix operators