private bool TryParseEndTime(ITokenStream ts, ref Slot resultSlot) { if (ts.CurrentToken().IsTime() && ts.PreviousToken().Value() == "-") { resultSlot.EndTime = Time.CreateTime_12HourFormat(ts.CurrentToken().Value(), ts.NextToken().Value()); return(true); } return(false); }
private bool TryParseWeekAndVenue(ITokenStream ts, ref Slot resultSlot) { if (!ts.PreviousToken().IsPositiveNumberThatContainDecimalPoint() || !ts.NextToken().IsPossiblyVenuValue()) { return(false); } resultSlot.WeekNumber = WeekNumber.Parse(ts.CurrentToken().Value()); resultSlot.Venue = ts.NextToken().Value(); return(true); }
private bool TryParseStartTime(ITokenStream ts, ref Slot resultSlot) { if (!ts.CurrentToken().IsTime()) { return(false); } if (!ts.PreviousToken().IsDay()) { return(false); } resultSlot.StartTime = Time.CreateTime_12HourFormat(ts.CurrentToken().Value(), ts.NextToken().Value()); return(true); }
private bool TryParseSlotNumber(ITokenStream ts, ref Slot resultSlot) { if (!ts.CurrentToken().IsPositiveInteger()) { return(false); } if (!ts.PreviousToken().IsSlotType()) { return(false); } resultSlot.Number = ts.CurrentToken().Value(); return(true); }
private bool TryParseSubjectName(ITokenStream ts, ref Slot resultSlot, ref bool isReadingSubjectName) { if (isReadingSubjectName) { if (ts.CurrentToken().Value().Length != 0 && ts.CurrentToken().Value()[0] == '[') { isReadingSubjectName = false; return(true); } resultSlot.SubjectName += " " + ts.CurrentToken().Value(); return(true); } if (ts.CurrentToken().Value() == "-" && ts.PreviousToken().IsPossiblySubjectCode()) { isReadingSubjectName = true; resultSlot.SubjectName = ""; return(true); } return(false); }
protected override void ExtractToken(ITokenStream ts) { _studentId = ts.PreviousToken().Value().Trim('(', ')'); }