736
Appendix A: System Routines — Logic
TI
-
89 / TI
-
92 Plus Developer Guide
Not for Distribution
Beta Version January 26, 2001
lead_conjunct_factor_index
Declaration:
EStackIndex
lead_conjunct_factor_index
(EStackIndex
i
)
Category(ies):
Logic
Description:
Determines the lead conjunction factor of the expression indexed by
i.
Internally-simplified conjuncts have the most main Boolean factor
shallowest, with less main factors deeper. Also, the lead Boolean factor of
an internally-simplified conjunct is never a conjunct.
Inputs:
i
— Index of the top tag of a Boolean expression.
Outputs:
If
i
indexes an AND_TAG, returns the index of the operand just below it.
Otherwise returns
i
.
Assumptions:
None
Side Effects:
None
Availability:
On AMS 2.02 and higher.
TI
-
89 / TI
-
92 Plus
Differences:
None
See Also: remaining_conjuncts_index, lead_disjunct_term_index,
remaining_disjuncts_index
Example:
lead_conjunct_factor_index ("internalSimplified" ((b and a) and c))
Returns index (a).
lead_conjunct_factor_index ("internalSimplified"(x > 3))
Returns index (x > 3),
void push_but_conjunct_factor (EStackIndex i, EStackIndex j)
/* i indexes a (perhaps degenerate) conjunct and j == i or j indexes one of its
remaining factors.
Pushes onto the estack the conjunct without the lead factor of j.
*/
{ if (i == j) push_expression (remaining_conjuncts_index (i));
else
{
push_but_conjunct_factor (remaining_conjuncts_index (i), j);
and_onto_top (lead_conjunct_factor_index (i));
}
}