private static bool CheckZeroOneWholeLine(LineObject lineObject, bool printFlag, CheckSt st, LexRecord lexObj, CheckObject checkObject, UpdateLex updateLex) { bool flag = checkObject.IsNextStartStr(lineObject.GetLine()); if (flag == true) { st.UpdateCurState(checkObject.GetNextState()); lineObject.SetGoToNext(false); return(flag); } if (st.GetCurState() != st.GetLastState()) { st.UpdateLastState(); flag = CheckOneWholeLine(lineObject, printFlag, st, lexObj, checkObject, updateLex); } else { string line = lineObject.GetLine(); st.UpdateLastState(); ErrMsg.PrintErrMsg(printFlag, 82, lineObject, line, 0, line.Length, checkObject.IsTab()); } return(flag); }
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 = 191; catSt.SetCurState(curSt); } switch (curSt) { case 191: flag = CheckCode.Check(lineObject, printFlag, catSt, lexObj, checkVariants_, new UpdatePronVariants(), 4, true); PrintStep(191, debugFlag, lineObject.GetLine()); break; case 192: flag = CheckCode.Check(lineObject, printFlag, catSt, lexObj, checkGender_, new UpdatePronGender(), 2, true); PrintStep(192, debugFlag, lineObject.GetLine()); break; case 193: flag = CheckCode.Check(lineObject, printFlag, catSt, lexObj, checkInterrogative_, new UpdatePronInterrogative(), 6, false); PrintStep(193, debugFlag, lineObject.GetLine()); break; case 194: flag = CheckCode.Check(lineObject, printFlag, catSt, lexObj, checkType_, new UpdatePronType(), 3, false); PrintStep(194, debugFlag, lineObject.GetLine()); break; } return(flag); }
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); }
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 = 161; catSt.SetCurState(curSt); } switch (curSt) { case 161: flag = CheckCode.Check(lineObject, printFlag, catSt, lexObj, checkVariant_, new UpdateModalVariant(), 4, true); PrintStep(161, debugFlag, lineObject.GetLine()); break; } return(flag); }
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 = 151; catSt.SetCurState(curSt); } switch (curSt) { case 151: flag = CheckCode.Check(lineObject, printFlag, catSt, lexObj, checkVariants_, new UpdateDetVariants(), 1, true); PrintStep(151, debugFlag, lineObject.GetLine()); break; case 152: flag = CheckCode.Check(lineObject, printFlag, catSt, lexObj, checkInterrogative_, new UpdateDetInterrogative(), 6, false); PrintStep(152, debugFlag, lineObject.GetLine()); break; case 153: flag = CheckCode.Check(lineObject, printFlag, catSt, lexObj, checkDemonstrative_, new UpdateDetDemonstrative(), 6, false); PrintStep(152, debugFlag, lineObject.GetLine()); break; } return(flag); }
public static string GetStartStr(LineObject lineObject, string delim) { string line = lineObject.GetLine(); string[] buf = line.Split(delim.ToCharArray()).ToList().Where(x => x != "").ToArray(); string startStr = buf.Length > 0 ? buf[buf.Length - 1] : ""; return(startStr); }
public static List <Agreement> GetAgreementsFromTextFile(string inFile) { CheckSt st = new CheckSt(); CheckSt catSt = new CheckSt(40); LineObject lineObject = new LineObject(); List <Agreement> agreements = new List <Agreement>(); try { System.IO.StreamReader inReader = new System.IO.StreamReader( new System.IO.FileStream(inFile, System.IO.FileMode.Open, System.IO.FileAccess.Read), Encoding.UTF8); while (lineObject != null) { if (lineObject.IsGoToNext() == true) { lineObject.SetLine(inReader.ReadLine()); lineObject.IncreaseLineNum(); } if (lineObject.GetLine() == null) { break; } bool flag = CheckGrammer.Check(lineObject, true, st, catSt, false); if ((st.GetCurState() == 10) && (flag == true)) { InflVarsAndAgreements agrs = new InflVarsAndAgreements(CheckGrammer.GetLexRecord()); agreements.AddRange(agrs.GetAgreementValues()); } } inReader.Close(); } catch (Exception e) { Console.WriteLine(e.ToString()); Console.Write(e.StackTrace); } return(agreements); }
public static ApiOutput ToXmlFromTextFile(string inFile) { CheckSt st = new CheckSt(); CheckSt catSt = new CheckSt(40); LineObject lineObject = new LineObject(); StringBuilder xmlOut = new StringBuilder("<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n"); xmlOut.Append("<lexRecords>\n"); int recordNum = 0; try { System.IO.StreamReader inReader = new System.IO.StreamReader( new System.IO.FileStream(inFile, System.IO.FileMode.Open, System.IO.FileAccess.Read), Encoding.UTF8); while (lineObject != null) { if (lineObject.IsGoToNext() == true) { lineObject.SetLine(inReader.ReadLine()); lineObject.IncreaseLineNum(); } if (lineObject.GetLine() == null) { break; } recordNum = CheckLine(st, catSt, lineObject, xmlOut, recordNum); } inReader.Close(); } catch (Exception e) { Console.WriteLine(e.ToString()); Console.Write(e.StackTrace); } xmlOut.Append("</lexRecords>\n"); ApiOutput apiOutput = new ApiOutput(xmlOut.ToString(), recordNum); return(apiOutput); }
public static List <LexRecord> ToJavaObjsFromTextFile(string inFile) { CheckSt st = new CheckSt(); CheckSt catSt = new CheckSt(40); LineObject lineObject = new LineObject(); int recordNum = 0; List <LexRecord> lexRecords = new List <LexRecord>(); try { System.IO.StreamReader inReader = new System.IO.StreamReader( new System.IO.FileStream(inFile, System.IO.FileMode.Open, System.IO.FileAccess.Read), Encoding.UTF8); while (lineObject != null) { if (lineObject.IsGoToNext() == true) { lineObject.SetLine(inReader.ReadLine()); lineObject.IncreaseLineNum(); } if (lineObject.GetLine() == null) { break; } recordNum = CheckLine(st, catSt, lineObject, lexRecords, recordNum); } inReader.Close(); } catch (Exception e) { Console.WriteLine(e.ToString()); Console.Write(e.StackTrace); } return(lexRecords); }
public static bool CheckWholeLine(LineObject lineObject, bool printFlag, CheckObject checkObject) { string line = lineObject.GetLine(); string startStr = checkObject.GetStartStr(); bool flag = line.Equals(startStr); bool isTab = checkObject.IsTab(); int beginIndex = 0; int endIndex = startStr.Length; if (isTab == true) { beginIndex = 1; } if (!flag) { ErrMsg.PrintErrMsg(printFlag, checkObject.GetStartErrMsg(), lineObject, null, beginIndex, endIndex, isTab); } return(flag); }
public static bool CheckStartStr(LineObject lineObject, bool printFlag, CheckObject checkObject) { string line = lineObject.GetLine(); string startStr = checkObject.GetStartStr(); bool flag = line.StartsWith(startStr, StringComparison.Ordinal); bool isTab = checkObject.IsTab(); int beginIndex = 0; int endIndex = startStr.Length - 1; if (isTab == true) { beginIndex = 1; } if (!flag) { ErrMsg.PrintErrMsg(printFlag, checkObject.GetStartErrMsg(), lineObject, null, beginIndex, endIndex, isTab); } return(flag); }
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); }
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 = 201; catSt.SetCurState(curSt); } switch (curSt) { case 201: flag = CheckCode.Check(lineObject, printFlag, catSt, lexObj, checkVariants_, new UpdateVerbVariants(), 4, true); PrintStep(201, debugFlag, lineObject.GetLine()); break; case 202: flag = CheckCode.Check(lineObject, printFlag, catSt, lexObj, checkIntran_, new UpdateVerbIntran(), 6, false); PrintStep(202, debugFlag, lineObject.GetLine()); break; case 203: flag = CheckCode.Check(lineObject, printFlag, catSt, lexObj, checkIntran2_, new UpdateVerbIntran(), 3, false); PrintStep(203, debugFlag, lineObject.GetLine()); break; case 204: flag = CheckCode.Check(lineObject, printFlag, catSt, lexObj, checkTran_, new UpdateVerbTran(), 3, true); PrintStep(204, debugFlag, lineObject.GetLine()); break; case 205: flag = CheckCode.Check(lineObject, printFlag, catSt, lexObj, checkDitran_, new UpdateVerbDitran(), 3, true); PrintStep(205, debugFlag, lineObject.GetLine()); break; case 206: flag = CheckCode.Check(lineObject, printFlag, catSt, lexObj, checkLink_, new UpdateVerbLink(), 3, true); PrintStep(206, debugFlag, lineObject.GetLine()); break; case 207: flag = CheckCode.Check(lineObject, printFlag, catSt, lexObj, checkCplxtran_, new UpdateVerbCplxtran(), 3, true); PrintStep(207, debugFlag, lineObject.GetLine()); break; case 208: if (!CheckVerbComplNum(lexObj)) { string line = lineObject.GetLine(); ErrMsg.PrintErrMsg(printFlag, 79, lineObject, line, 0, line.Length, true); flag = false; } else { if (flag == true) { flag = CheckCode.Check(lineObject, printFlag, catSt, lexObj, checkNominalization_, new UpdateVerbNominalization(), 3, true); } PrintStep(208, debugFlag, lineObject.GetLine()); } break; } return(flag); }
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 = 171; catSt.SetCurState(curSt); } switch (curSt) { case 171: flag = CheckCode.Check(lineObject, printFlag, catSt, lexObj, checkVariants_, new UpdateNounVariants(), 4, true); PrintStep(171, debugFlag, lineObject.GetLine()); break; case 172: flag = CheckCode.Check(lineObject, printFlag, catSt, lexObj, checkCompl_, new UpdateNounCompl(), 3, true); PrintStep(172, debugFlag, lineObject.GetLine()); break; case 173: flag = CheckCode.Check(lineObject, printFlag, catSt, lexObj, checkNominalization_, new UpdateNounNominalization(), 3, true); PrintStep(173, debugFlag, lineObject.GetLine()); break; case 174: flag = CheckCode.Check(lineObject, printFlag, catSt, lexObj, checkProper_, new UpdateNounProper(), 6, false); PrintStep(174, debugFlag, lineObject.GetLine()); break; case 175: flag = CheckCode.Check(lineObject, printFlag, catSt, lexObj, checkTradeName_, new UpdateNounTradeName(), 3, true); PrintStep(175, debugFlag, lineObject.GetLine()); break; case 176: flag = CheckCode.Check(lineObject, printFlag, catSt, lexObj, checkTradeMark_, new UpdateNounTradeMark(), 6, false); PrintStep(176, debugFlag, lineObject.GetLine()); break; } return(flag); }
public static bool Check(LineObject lineObject, bool printFlag, CheckSt st, CheckSt catSt, bool debugFlag) { bool flag = true; switch (st.GetCurState()) { case 10: lexRecord_ = new LexRecord(); flag = CheckCode.Check(lineObject, printFlag, st, lexRecord_, checkBase_, new UpdateBase(), 1, true); PrintStep(10, debugFlag, lineObject.GetLine()); break; case 20: flag = CheckCode.Check(lineObject, printFlag, st, lexRecord_, checkSpellingVar_, new UpdateSpellingVar(), 3, true); PrintStep(20, debugFlag, lineObject.GetLine()); break; case 21: flag = CheckCode.Check(lineObject, printFlag, st, lexRecord_, checkEntry_, new UpdateEntry(), 1, true); PrintStep(21, debugFlag, lineObject.GetLine()); break; case 30: flag = CheckCode.Check(lineObject, printFlag, st, lexRecord_, checkCat_, new UpdateCat(), 1, true); PrintStep(30, debugFlag, lineObject.GetLine()); break; case 40: flag = CheckCatEntry.Check(lineObject, printFlag, st, catSt, lexRecord_, 91, debugFlag); PrintStep(40, debugFlag, lineObject.GetLine()); break; case 91: flag = CheckCode.Check(lineObject, printFlag, st, lexRecord_, checkAcronym_, new UpdateAcronym(), 3, true); PrintStep(91, debugFlag, lineObject.GetLine()); break; case 92: flag = CheckCode.Check(lineObject, printFlag, st, lexRecord_, checkAbbreviation_, new UpdateAbbreviation(), 3, true); PrintStep(92, debugFlag, lineObject.GetLine()); break; case 95: flag = CheckCode.Check(lineObject, printFlag, st, lexRecord_, checkAnnotation_, new UpdateAnnotation(), 3, true); PrintStep(95, debugFlag, lineObject.GetLine()); break; case 96: flag = CheckCode.Check(lineObject, printFlag, st, lexRecord_, checkSignature_, new UpdateSignature(), 2, true); PrintStep(96, debugFlag, lineObject.GetLine()); break; case 99: flag = CheckCode.Check(lineObject, printFlag, st, lexRecord_, checkEnd_, new UpdateEnd(), 5, false); PrintStep(99, debugFlag, lineObject.GetLine()); break; } return(flag); }
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 = 101; catSt.SetCurState(curSt); } switch (curSt) { case 101: flag = CheckCode.Check(lineObject, printFlag, catSt, lexObj, checkVariants_, new UpdateAdjVariants(), 4, true); PrintStep(101, debugFlag, lineObject.GetLine()); break; case 102: flag = CheckCode.Check(lineObject, printFlag, catSt, lexObj, checkPosition_, new UpdateAdjPosition(), 4, true); PrintStep(102, debugFlag, lineObject.GetLine()); break; case 103: flag = CheckCode.Check(lineObject, printFlag, catSt, lexObj, checkCompl_, new UpdateAdjCompl(), 3, true); PrintStep(103, debugFlag, lineObject.GetLine()); break; case 104: flag = CheckCode.Check(lineObject, printFlag, catSt, lexObj, checkStative_, new UpdateAdjStative(), 6, false); PrintStep(104, debugFlag, lineObject.GetLine()); break; case 105: flag = CheckCode.Check(lineObject, printFlag, catSt, lexObj, checkNominalization_, new UpdateAdjNominalization(), 3, true); PrintStep(105, debugFlag, lineObject.GetLine()); break; } return(flag); }
public static bool CheckSlotFiller(LineObject lineObject, bool printFlag, CheckObject checkObject, TokenObject tokenObject, bool checkLength) { string line = lineObject.GetLine(); bool isTab = checkObject.IsTab(); string slot = null; string filler = null; string delim = checkObject.GetDelim(); int index = line.IndexOf(delim, StringComparison.Ordinal); if (index != -1) { if (ReferenceEquals(delim, "=")) { slot = line.Substring(0, index + 1); filler = line.Substring(index + 1); } else { slot = line.Substring(0, index + 1); filler = line; } } else { ErrMsg.PrintErrMsg(printFlag, 80, lineObject, line, 0, line.Length, isTab); return(false); } bool flag = false; string startStr = checkObject.GetStartStr(); if (!ReferenceEquals(startStr, null)) { flag = slot.Equals(startStr); } if (!flag) { ErrMsg.PrintErrMsg(printFlag, checkObject.GetStartErrMsg(), lineObject, slot, 0, index, isTab); return(flag); } flag = CheckFillerFormat.IsLegalFormat(printFlag, lineObject, filler, index, isTab, checkLength); if (!flag) { return(false); } CheckFormat fillerFormat = checkObject.GetFillerFormat(); if (fillerFormat != null) { flag = fillerFormat.IsLegalFormat(filler); if (!flag) { ErrMsg.PrintErrMsg(printFlag, checkObject.GetFillerErrMsg(), lineObject, filler, index + 1, index + filler.Length, isTab); return(flag); } } if ((flag == true) && (tokenObject != null)) { tokenObject.SetToken(filler); } return(flag); }
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); }