Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Evaluator #28

Merged
merged 36 commits into from
Nov 19, 2021
Merged

Evaluator #28

merged 36 commits into from
Nov 19, 2021

Conversation

izrik
Copy link
Member

@izrik izrik commented Nov 19, 2021

This PR changes the SolusEngine class into Evaluator. In the future, the evaluator will be the primary way of evaluating expressions, instead of recursively calling Eval on the nodes in an expression tree. This will allow for new optimizations to be used to speed up evaluation.

Also, this PR adds a lot of tests. Most of the Functions are getting tested for the first time.

This PR also renames PreliminaryEval to Simplify, and changes the simplification of VariableAccess so that it doesn't involve variable substitution, which is outside the scope. A new class, ApplyVariablesTransformer, has been added to do that.

@izrik izrik merged commit 5f53b8f into master Nov 19, 2021
@izrik izrik deleted the evaluator branch November 19, 2021 05:14
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant