Initial stab at implementing parsing
Add expressions. Clarify Accept/Expect method names
Show useful error information
Fix term (use Accept() instead of Expect()]
Implement arithmetic nodes (multiplicative and additive). Add a bunch of other nodes (untested) to deal with circular Expression in PrimaryExpression
Add number node and update arithemetic tests to clarify operator precedences
Add date type. Tidy project organisation and tweak some tests
Eliminate a bunch of left recursion in higher expression nodes
Add simple tests in for logical nodes. Rename all LHS + RHS properties from node name
Refactor ExpectNode<> to massively improve readability
Don't add nodes with single child to tree. Implement basic GetValue() method on nodes (needs type checking)
Add some tests for boolean expressions. Add tidier (+more efficient) dectection of multiple tokens
Add data sources and identifier node
Commit file deletions
Add if and return statments. Add if checks back into many ExpectNode<>() checks (makes code a bit less clear but helps guard against errors)
Add assignment statement
Move data source out of parsing and into evaluation
Strip out assignment/if/return statements so can focus solely on expression evaluation for now
Don't make user select node type, parse everything as PrimaryExpression. Return ParseResult from main Jello class with results of parsing stage
Add basic execute method to parseresult (temp fix, want to add typechecking and specify return type)