Andrew Poelstra wrote:
So here is my proposal for structuring DRC rules.
. .
Each rule is composed of a Filter, to choose which parts the rule applies to,
and a Rule, to specify the parameters these parts must conform to. Both the
Filter and the Rule will be the same data structure: let's call it a Range,
to choose a word at random.
A Range:
1. Can be composed of other ranges, by AND, OR and NOT operators, or
2. Is composed of:
o A textual attribute name that makes sense for the given components
o An operator: <, <=, ==, >=, >, %, "matches", "is present" (unary)
o An integer value for the integral operators
o A string value for the "matches" operator
The string value would support the wildcards ? and * for single- and multi-
character matching.
Sounds good. Do you imagine constructing a set of objects, (a LISP list maybe), that belong to a range after the filters are done, and then doing operations on it such as sum up number values of capacitance? If you maintain these ranges between times and only change them as an object is added or edited, you don't need to "run DRC on all" very often... good for DRC as you go with low cost of computer power. John Griessen _______________________________________________ geda-user mailing list geda-user@xxxxxxxxxxxxxx http://www.seul.org/cgi-bin/mailman/listinfo/geda-user