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); }
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); }
public static IFormula ConvertToRPE(Formula f, RuntimeSetting setting) { ConvertToRPEFormula fa = new ConvertToRPEFormula(f, setting); return(fa.ConvertToRPE()); }