paul@ctvax.UUCP (11/15/84)
The solution is simple (though a little ugly). Productions themselves are disjunctions. The idea is that rules be aranged into disjunctive form, then each disjunction is a separate OPS5-rule. and each rule is itself a conjunction (with possible negations). (p variant1 ...ce's that bind <foo1> and <foo2> ... ( <foo1> <foo2> ) --> (make found)) (p variant2 ...ce's that bind <foo1> and <foo2> ... ( <foo2> <foo1> ) --> (make found)) (p var1orvar2 ...ce's that bind <foo1> and <foo2> ... (found) --> .... rhs goes here ...) This way you can avoid duplication of the RHS. paul.ct@CSNet-Relay ctvax!paul
neihart@smu.UUCP (11/18/84)
quickly. The number of productions needed to express a production which has n vectors, with m order-independent elements each, is m to the n productions! I've tried making a routine which would (build ..) these productions automatically, however I've discovered that values in the attribute-value pairs cannot be expressions which evaluate to a variable, such as <x>