The invention provides a pattern matching technique based on the
symmetrical construction of the code structures representing the matching
expression and the filter to be matched. The method of the invention is
for determining whether a computer-storable expression matches a filter.
A first code structure representing the expression is evaluated for
determining a value of the expression. A second code structure
representing the filter is analyzed for determining the characteristics
of the filter. Then, the value is filtered according to the filter
characteristics. The first code structure is constructed from a plurality
of first programming language code structure elements and the second code
structure is constructed from a plurality of second programming language
code structure elements. Each second structure element corresponds to one
of the first structure elements. This symmetrical construction of both
code structures enables an arbitrary level of structural complexity. The
matching operation may be invoked explicitly.