You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
XYZMatcher : Matcher<XYZ> is a node with the same features as XYZ but with the following properties, used to express search patterns over the AST:
attributes are of type AttributeMatcher<PrimitiveType> where possible subclasses include ExactMatch ("=" in SQL), IsPresent ("is not null" in SQL), IsAbsent ("is null" in SQL), comparison matchers for numbers (and dates and whatever is comparable), string matchers for strings (contains, not contains, regex)
References match against their target, so we need special targets (or special ReferenceByName subclasses) to match "no reference specified" and "reference specified but not resolved" (see below)
Contained nodes are matchers, recursively (again we need a special canary node to mean "Containment absent" as opposed to null, see below)
Note that in all cases above a null value (for an attribute, reference, etc.) means "ignore this feature". E.g. a Matcher<Person> node with features "name" and "surname", where "name" is ExactMatch("Alessio") and "surname" is null, would match all people named "Alessio" regardless of their surname. This requires special sentinel nodes as described above. The alternative would be to have a sentinel node meaning "ignore this feature for comparison".
The text was updated successfully, but these errors were encountered:
XYZMatcher : Matcher<XYZ>
is a node with the same features as XYZ but with the following properties, used to express search patterns over the AST:AttributeMatcher<PrimitiveType>
where possible subclasses include ExactMatch ("=" in SQL), IsPresent ("is not null" in SQL), IsAbsent ("is null" in SQL), comparison matchers for numbers (and dates and whatever is comparable), string matchers for strings (contains, not contains, regex)null
, see below)null
value (for an attribute, reference, etc.) means "ignore this feature". E.g. aMatcher<Person>
node with features "name" and "surname", where "name" isExactMatch("Alessio")
and "surname" isnull
, would match all people named "Alessio" regardless of their surname. This requires special sentinel nodes as described above. The alternative would be to have a sentinel node meaning "ignore this feature for comparison".The text was updated successfully, but these errors were encountered: