/// <summary> /// Visit a parse tree produced by <see cref="DateCalculatorParser.miesiac"/>. /// <para> /// The default implementation returns the result of calling <see cref="AbstractParseTreeVisitor{Result}.VisitChildren(IRuleNode)"/> /// on <paramref name="context"/>. /// </para> /// </summary> /// <param name="context">The parse tree.</param> /// <return>The visitor result.</return> public virtual Result VisitMiesiac([NotNull] DateCalculatorParser.MiesiacContext context) { return(VisitChildren(context)); }
/// <summary> /// Exit a parse tree produced by <see cref="DateCalculatorParser.miesiac"/>. /// <para>The default implementation does nothing.</para> /// </summary> /// <param name="context">The parse tree.</param> public virtual void ExitMiesiac([NotNull] DateCalculatorParser.MiesiacContext context) { }
/// <summary> /// Odpowiada za odwiedzenia węzła z typem Date i zwrócenie jego wartości /// </summary> /// <param name="context"></param> /// <returns></returns> public override Time VisitDate([NotNull] DateCalculatorParser.DateContext context) { DateCalculatorParser.DzienContext dzien = context.dzien(); DateCalculatorParser.MiesiacContext miesiac = context.miesiac(); DateCalculatorParser.RokContext rok = context.rok(); int miesiac_int = 0; switch (miesiac.GetText()) { case "STY": miesiac_int = 1; break; case "LUT": miesiac_int = 2; break; case "MAR": miesiac_int = 3; break; case "KWI": miesiac_int = 4; break; case "MAJ": miesiac_int = 5; break; case "CZE": miesiac_int = 6; break; case "LIP": miesiac_int = 7; break; case "SIE": miesiac_int = 8; break; case "WRZ": miesiac_int = 9; break; case "PAZ": miesiac_int = 10; break; case "LIS": miesiac_int = 11; break; case "GRU": miesiac_int = 12; break; default: break; } DateTime Data = new System.DateTime(Convert.ToInt32(rok.GetText()), miesiac_int, Convert.ToInt32(dzien.GetText())); Time wynik = new Time(); wynik.datetime = Data; wynik.isTimeSpan = false; return(wynik); }