-
Notifications
You must be signed in to change notification settings - Fork 107
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
First version of partial evaluator: support for +,-,* operators and associative rules #528
Commits on Jun 28, 2024
-
First commit for partial evaluator.
There are still some TODOs (so, this is only a partial commit): - Implementation of association rule 3 and simple algebraic rules (to be added to file algebraic.ts) described in comments of issue: #435 - Processing of structs, function calls, id lookups, ternary conditional operator. - Extensive documentation, specially in the description of what each rule does. - Extensive testing of the rewrite rules.
Configuration menu - View commit details
-
Copy full SHA for fa5bb05 - Browse repository at this point
Copy the full SHA fa5bb05View commit details
Commits on Jul 2, 2024
-
Finished associative rule 3. Refactored Rule type into an interface. …
…Priorities are no longer a property of rules, but are managed by the optimizer.
Configuration menu - View commit details
-
Copy full SHA for aae1dd0 - Browse repository at this point
Copy the full SHA aae1dd0View commit details -
Merge branch 'partial_evaluator'. Resolved conflicts in constEval. Ad…
…ded a function to call the partial evaluator in the interpreter to ease testing.
Configuration menu - View commit details
-
Copy full SHA for 4533de6 - Browse repository at this point
Copy the full SHA 4533de6View commit details
Commits on Jul 4, 2024
-
Configuration menu - View commit details
-
Copy full SHA for 34970cb - Browse repository at this point
Copy the full SHA 34970cbView commit details -
Configuration menu - View commit details
-
Copy full SHA for a109d38 - Browse repository at this point
Copy the full SHA a109d38View commit details -
Configuration menu - View commit details
-
Copy full SHA for 99b687f - Browse repository at this point
Copy the full SHA 99b687fView commit details -
Configuration menu - View commit details
-
Copy full SHA for 2688771 - Browse repository at this point
Copy the full SHA 2688771View commit details
Commits on Jul 5, 2024
-
Configuration menu - View commit details
-
Copy full SHA for 9e871ca - Browse repository at this point
Copy the full SHA 9e871caView commit details -
Configuration menu - View commit details
-
Copy full SHA for bd89e02 - Browse repository at this point
Copy the full SHA bd89e02View commit details -
Configuration menu - View commit details
-
Copy full SHA for cdb7cb2 - Browse repository at this point
Copy the full SHA cdb7cb2View commit details -
Configuration menu - View commit details
-
Copy full SHA for 15998a5 - Browse repository at this point
Copy the full SHA 15998a5View commit details -
Configuration menu - View commit details
-
Copy full SHA for bfb37af - Browse repository at this point
Copy the full SHA bfb37afView commit details -
- Changed all
Ref
in parameters forLoc
. (https://github.com/tact……-lang/tact/pull/528/files#r1666596822) - Added `dummySrcInfo` as default parameter values to functions `__evalUnaryOp` and `__evalBinaryOp`. This way I was able to eliminate them and simply leave `evalUnaryOp` and `evalBinaryOp` as exportable functions. (https://github.com/tact-lang/tact/pull/528/files#r1666598821) - Renamed ValueExpression for AstValue (https://github.com/tact-lang/tact/pull/528/files#r1666602072) - Used Dummy interval in grammar.ts (https://github.com/tact-lang/tact/pull/528/files#r1666602072) - Changed interfaces for abstract classes (https://github.com/tact-lang/tact/pull/528/files#r1666604615) - Renamed `areEqualExpressions` to `eqExpressions`, and moved it to `ast.ts`. Used `eqNames` and moved `ast1.kind === ast2.kind` check before switch. (https://github.com/tact-lang/tact/pull/528/files#r1666609433)
Configuration menu - View commit details
-
Copy full SHA for 648f188 - Browse repository at this point
Copy the full SHA 648f188View commit details -
Configuration menu - View commit details
-
Copy full SHA for 0426245 - Browse repository at this point
Copy the full SHA 0426245View commit details -
Configuration menu - View commit details
-
Copy full SHA for e207389 - Browse repository at this point
Copy the full SHA e207389View commit details -
Configuration menu - View commit details
-
Copy full SHA for 82a9873 - Browse repository at this point
Copy the full SHA 82a9873View commit details
Commits on Jul 12, 2024
-
- Added try/catch in switch of eqExpressions in ast.ts.
- Added test cases for eqExpressions function in ast.ts. - Changed if statement for conditional expressions in optimizer/util.ts. - Changed lookupID for lookupName and evalX for fullyEvalX in constEval.ts.
Configuration menu - View commit details
-
Copy full SHA for 45289f8 - Browse repository at this point
Copy the full SHA 45289f8View commit details -
Configuration menu - View commit details
-
Copy full SHA for 8d7b977 - Browse repository at this point
Copy the full SHA 8d7b977View commit details -
Configuration menu - View commit details
-
Copy full SHA for 0c77158 - Browse repository at this point
Copy the full SHA 0c77158View commit details -
Configuration menu - View commit details
-
Copy full SHA for 9405f98 - Browse repository at this point
Copy the full SHA 9405f98View commit details -
Configuration menu - View commit details
-
Copy full SHA for e10a838 - Browse repository at this point
Copy the full SHA e10a838View commit details
Commits on Jul 15, 2024
-
- Moved AstValue to ast.ts. - Removed try/catch from eqExpressions in ast.ts. - Removed `traverse` from ast.ts since it has been already moved to iterators.ts - Moved expr-equality.spec.ts and partial-eval.spec.ts to src/grammar/test - Added test cases for `isValue' function in ast.ts in src/grammar/test/expr-is-value.spec.ts.
Configuration menu - View commit details
-
Copy full SHA for 8991852 - Browse repository at this point
Copy the full SHA 8991852View commit details -
Configuration menu - View commit details
-
Copy full SHA for 2ebd128 - Browse repository at this point
Copy the full SHA 2ebd128View commit details -
Configuration menu - View commit details
-
Copy full SHA for 4204dc0 - Browse repository at this point
Copy the full SHA 4204dc0View commit details -
Configuration menu - View commit details
-
Copy full SHA for 607da81 - Browse repository at this point
Copy the full SHA 607da81View commit details