Esempio n. 1
0
        public static bool Check(LineObject lineObject, bool printFlag, CheckSt catSt, LexRecord lexObj, bool debugFlag)

        {
            bool flag  = true;
            int  curSt = catSt.GetCurState();

            if (curSt == 40)

            {
                curSt = 111;
                catSt.SetCurState(curSt);
            }

            switch (curSt)

            {
            case 111:
                flag = CheckCode.Check(lineObject, printFlag, catSt, lexObj, checkVariants_,
                                       new UpdateAdvVariants(), 4, true);


                PrintStep(111, debugFlag, lineObject.GetLine());

                break;

            case 112:
                flag = CheckCode.Check(lineObject, printFlag, catSt, lexObj, checkInterrogative_,
                                       new UpdateAdvInterrogative(), 6, false);


                PrintStep(192, debugFlag, lineObject.GetLine());

                break;

            case 113:
                flag = CheckCode.Check(lineObject, printFlag, catSt, lexObj, checkModification_,
                                       new UpdateAdvModification(), 4, true);


                PrintStep(113, debugFlag, lineObject.GetLine());

                break;

            case 114:
                flag = CheckCode.Check(lineObject, printFlag, catSt, lexObj, checkNegative_,
                                       new UpdateAdvNegative(), 6, false);


                if (!flag)

                {
                    catSt.SetCurState(114);
                    catSt.SetLastState(113);
                    flag = CheckCode.Check(lineObject, printFlag, catSt, lexObj, checkBroadNegative_,
                                           new UpdateAdvNegative(), 6, false);
                }

                PrintStep(114, debugFlag, lineObject.GetLine());

                break;
            }

            return(flag);
        }