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); }