예제 #1
0
 /// <summary>
 /// Reduction to calculate the difference between two dates.
 /// </summary>
 /// <param name="pToken">The token to use to build the reduction.</param>
 /// <param name="interval">The date interval to use for calculating the difference (seconds, hours, days, months, years)</param>
 public Rule_DateDiff(Rule_Context pContext, NonterminalToken pToken, FunctionUtils.DateInterval interval)
     : base(pContext)
 {
     currentInterval = interval;
     this.ParameterList = EnterRule.GetFunctionParameters(pContext, pToken);
     /*
     NonterminalToken T = (NonterminalToken)pToken.Tokens[0];
     string type = pToken.Rule.Lhs.ToString();
     switch (type)
     {
         case "<FunctionParameterList>":
             this.ParamList = new Rule_FunctionParameterList(pContext, pToken);
             break;
         case "<FunctionCall>":
             this.functionCall = new Rule_FunctionCall(pContext, T);
             break;
         default:
             break;
     }*/
 }
예제 #2
0
        /// <summary>
        /// Reduction to calculate the difference between two dates.
        /// </summary>
        /// <param name="pToken">The token to use to build the reduction.</param>
        /// <param name="interval">The date interval to use for calculating the difference (seconds, hours, days, months, years)</param>
        public Rule_DateDiff(Rule_Context pContext, NonterminalToken pToken, FunctionUtils.DateInterval interval)
            : base(pContext)
        {
            currentInterval    = interval;
            this.ParameterList = AnalysisRule.GetFunctionParameters(pContext, pToken);

            /*
             * NonterminalToken T = (NonterminalToken)pToken.Tokens[0];
             * string type = pToken.Rule.Lhs.ToString();
             * switch (type)
             * {
             *  case "<FunctionParameterList>":
             *      this.ParamList = new Rule_FunctionParameterList(pContext, pToken);
             *      break;
             *  case "<FunctionCall>":
             *      this.functionCall = new Rule_FunctionCall(pContext, T);
             *      break;
             *  default:
             *      break;
             * }*/
        }
        public Rule_DatePart(Rule_Context pContext, NonterminalToken pToken, FunctionUtils.DateInterval interval)
            : base(pContext)
        {
            currentInterval = interval;

            this.ParameterList = EnterRule.GetFunctionParameters(pContext, pToken);
            AddCommandVariableCheckValue(ParameterList, "datapart");

            /*
             * NonterminalToken T = (NonterminalToken)pToken.Tokens[0];
             * string type = pToken.Rule.Lhs.ToString();
             * switch (type)
             * {
             *  case "<FunctionParameterList>":
             *      this.ParamList = new Rule_FunctionParameterList(pContext, T);
             *      break;
             *  case "<FunctionCall>":
             *      this.functionCall = new Rule_FunctionCall(pContext, T);
             *      break;
             *  default:
             *      break;
             * }*/
        }