Add support for nd_vars and Merge pattern matchers #91
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This changeset adds two new features -
Added basic support for nd_vars a new type for sampling and constraining non-deterministic values. The use case is for implementing backward data-flow analyses. Currently support for nd_vars has been added. bool supports a basic requires_equal function. Sample 61 has been added to test the same.
Merged support for pattern matches: A new type matcher::pattern has been introduced that allows expressing patterns with arbitrary level of abstraction. Two interfaces for matchers and replacers have been introduced. patterns support captures of named expressions and common overloads for simplifying pattern creation. Support for statement matching will be added later. Sample 62 has been added to test the same.