コード例 #1
0
 internal override OperatorBuilder InternalBuild()
 {
     var dayInYear = new DayInYear(_day, _time);
     return new OperatorBuilder(
         x =>
             {
                 dayInYear.AddConstraints(x);
                 return dayInYear;
             });
 }
コード例 #2
0
        public override void ExitNumbereddayinyear(GoldenFoxLanguageParser.NumbereddayinyearContext context)
        {
            var index = 0;
            if (context.numberedDay() != null)
            {
                index = context.numberedDay().INT().AsInt();
                if (context.Last() != null)
                {
                    index = -index + 1;
                }
            }

            var constraints = new List<IConstraint>();
            while (Current.Constraints.Any())
            {
                constraints.Add(Current.Constraints.Pop());
            }

            while (Current.Timestamps.Any())
            {
                var interval = new DayInYear(index, Current.Timestamps.Pop());
                interval.AddConstraints(constraints);
                _stack.Push(interval);
            }
        }