Exemple #1
0
            private IExpression Normalization(IExpression exp)
            {
                IExpression res = exp;

                if (res is Formula)
                {
                    return(ConvertToRPEFormula.ConvertToRPE(res as Formula, this.setting) as IExpression);
                }
                if (res is RPEToken)
                {
                    throw new Exception("RPETokenを一般化しようとしました");
                }

                return(res);
            }
Exemple #2
0
        private IFormula Normalization(Formula f)
        {
            // メンバーを一括りにまとめる
            IFormula result = f;

            result = ConvertToFunctionFormula.Convert(result as Formula, this.setting);

            result = ConvertMFormula.Convert(result as Formula, this.setting);

            // 式を逆ポーランド記法に変換する
            if (result.Count >= 2)
            {
                result =
                    ConvertToRPEFormula.ConvertToRPE(result as Formula, this.setting);
            }

            return(result);
        }
Exemple #3
0
            public static IFormula ConvertToRPE(Formula f, RuntimeSetting setting)
            {
                ConvertToRPEFormula fa = new ConvertToRPEFormula(f, setting);

                return(fa.ConvertToRPE());
            }