PMRuleOr::PMRuleOr( QDomElement& e, QPtrList<PMRuleDefineGroup>& globalGroups, QPtrList<PMRuleDefineGroup>& localGroups ) : PMRuleCondition( ) { QDomNode m = e.firstChild( ); while( !m.isNull( ) ) { if( m.isElement( ) ) { QDomElement me = m.toElement( ); if( isCondition( me ) ) { PMRuleCondition* c = newCondition( me, globalGroups, localGroups ); m_children.append( c ); m_conditions.append( c ); } } m = m.nextSibling( ); } }
PMRuleNot::PMRuleNot( QDomElement& e, QPtrList<PMRuleDefineGroup>& globalGroups, QPtrList<PMRuleDefineGroup>& localGroups ) : PMRuleCondition( ) { m_pChild = 0; QDomNode m = e.firstChild( ); while( !m.isNull( ) && !m_pChild ) { if( m.isElement( ) ) { QDomElement me = m.toElement( ); if( isCondition( me ) ) { m_pChild = newCondition( me, globalGroups, localGroups ); m_children.append( m_pChild ); } } m = m.nextSibling( ); } }
int Describe(char* str, int len, Object* object){ if( isNil(object) ) return DescribeNil(str, len, object); if( isConsCell(object) ) return DescribeConsCell(str, len, object); if( isSymbol(object) ) return DescribeSymbol(str, len, object); if( isInteger(object) ) return DescribeInteger(str, len, object); if( isLambda(object) ) return DescribeLambda(str, len, object); if( isPrimitiveFunc(object) ) return DescribePrimitiveFunc(str, len, object); if( isContinuation(object) ) return DescribeContinuation(str, len, object); if( isEnvironment(object) ) return DescribeEnvironment(str, len, object); if( isBool(object) ) return DescribeBool(str, len, object); if( isSpecialForm(object) ) return DescribeSpecialForm(str, len, object); if( isCondition(object) ) return DescribeCondition(str, len, object); if( isCharacter(object) ) return DescribeCharacter(str, len, object); else return DescribeUnknown(str, len, object); }
int Inspect(char* str, int len, Object* object){ if( isNil(object) ) return InspectNil(str, len, object); if( isConsCell(object) ) return InspectConsCell(str, len, object); if( isSymbol(object) ) return InspectSymbol(str, len, object); if( isInteger(object) ) return InspectInteger(str, len, object); if( isLambda(object) ) return InspectLambda(str, len, object); if( isPrimitiveFunc(object) ) return InspectPrimitiveFunc(str, len, object); if( isContinuation(object) ) return InspectContinuation(str, len, object); if( isEnvironment(object) ) return InspectEnvironment(str, len, object); if( isBool(object) ) return InspectBool(str, len, object); if( isSpecialForm(object) ) return InspectSpecialForm(str, len, object); if( isCondition(object) ) return InspectCondition(str, len, object); if( isCharacter(object) ) return InspectCharacter(str, len, object); else return InspectUnknown(str, len, object); }
PMRule::PMRule( QDomElement& e, QPtrList<PMRuleDefineGroup>& globalGroups, QPtrList<PMRuleDefineGroup>& localGroups ) : PMRuleBase( ) { m_pCondition = 0; QDomNode m = e.firstChild( ); while( !m.isNull( ) && !m_pCondition ) { if( m.isElement( ) ) { QDomElement me = m.toElement( ); if( isCategory( me ) ) m_categories.append( newCategory( me, globalGroups, localGroups ) ); else if( isCondition( me ) ) { m_pCondition = newCondition( me, globalGroups, localGroups ); m_children.append( m_pCondition ); } } m = m.nextSibling( ); } }