Пример #1
0
        private static bool CheckZeroMany(LineObject lineObject, bool printFlag, CheckSt st, LexRecord lexObj,
                                          CheckObject checkObject, UpdateLex updateLex, bool checkLength)

        {
            lineObject.SetGoToNext(true);
            st.UpdateLastState();

            bool flag = checkObject.IsNextStartStr(lineObject.GetLine());

            if (flag == true)

            {
                st.UpdateCurState(checkObject.GetNextState());
                lineObject.SetGoToNext(false);
                return(flag);
            }

            flag = LineCheck.CheckStartStr(lineObject, printFlag, checkObject);
            if (flag == true)

            {
                TokenObject tokenObject = new TokenObject();

                flag = LineCheck.CheckSlotFiller(lineObject, printFlag, checkObject, tokenObject, checkLength);


                if (flag == true)

                {
                    updateLex.Update(lexObj, tokenObject.GetToken());
                }
            }

            return(flag);
        }
Пример #2
0
        private static bool CheckOneWholeLine(LineObject lineObject, bool printFlag, CheckSt st, LexRecord lexObj,
                                              CheckObject checkObject, UpdateLex updateLex)

        {
            lineObject.SetGoToNext(true);

            bool flag = LineCheck.CheckWholeLine(lineObject, printFlag, checkObject);


            if (flag == true)

            {
                st.UpdateLastState();
                st.UpdateCurState(checkObject.GetNextState());

                if (updateLex != null)

                {
                    updateLex.Update(lexObj, lineObject.GetLine());
                }
            }

            return(flag);
        }