int testmassiveclassification::execute() { if (!MVTApp::startStore()) {mLogger.print("Failed to start store\n"); return RC_NOACCESS;} mSession = MVTApp::startSession(); mLargeClass=0; if(mpArgs->get_param("largeclass",mLargeClass)) { if(mLargeClass>COUNT_CLASS) { mLogger.out()<<"Invalid parameter value. -largeclass should not be greater than "<<COUNT_CLASS<<"running with default values"; mLargeClass=0; } mLogger.out()<<endl<<mLargeClass<<" classes will have all the pins"; } createProps(COUNT_PROP); defineClasses(COUNT_CLASS); createPins(COUNT_PIN); printResults(); mSession->terminate(); MVTApp::stopStore(); return RC_OK; }
void initClassDefs() { defineClasses(classdefs); #define defClass(n, s, mf, cp, summ) \ (cp) = defineClass(n, s, CtoString(summ), mf); defClass(CtoName("*"), NAME_binaryExpression, makeClassTimes, ClassTimes, "Multiplication expression"); defClass(CtoName("-"), NAME_binaryExpression, makeClassMinus, ClassMinus, "Subtraction expression"); defClass(CtoName("+"), NAME_binaryExpression, makeClassPlus, ClassPlus, "Addition expression"); defClass(CtoName("/"), NAME_binaryExpression, makeClassDivide, ClassDivide, "Division expression"); defClass(CtoName(":="), NAME_object, makeClassBinding, ClassBinding, "Name-value pair for argument-list"); defClass(CtoName("<"), NAME_binaryCondition, makeClassLess, ClassLess, "Compare expressions on less-then"); defClass(CtoName("="), NAME_binaryCondition, makeClassEquation, ClassEquation, "Identity between two expressions"); defClass(CtoName("=<"), NAME_binaryCondition, makeClassLessEqual, ClassLessEqual, "Compare expressions on less-or-equal"); defClass(CtoName("=="), NAME_code, makeClassEqual, ClassEqual, "Test equivalence of arguments"); defClass(CtoName(">"), NAME_binaryCondition, makeClassGreater, ClassGreater, "Test equivalence of arguments"); defClass(CtoName(">="), NAME_binaryCondition, makeClassGreaterEqual, ClassGreaterEqual, "Compare expressions on greater-or-equal"); defClass(CtoName("?"), NAME_function, makeClassObtain, ClassObtain, "Invoke a get method"); defClass(CtoName("\\=="), NAME_code, makeClassNonEqual, ClassNonEqual, "Test non-equivalence of arguments"); defClass(CtoName("@="), NAME_code, makeClassAssoc, ClassAssoc, "Assign named reference to object"); initBoxes(); numberTreeClass(ClassObject, 0); }
void initBoxes() { defineClasses(boxdefs); }