public override void Interpret(ContextC ContextC) { if (ContextC.Formula.Contains("A")) { ContextC.TotalPoint += 5; } }
static void RunExpression(ContextC ContextC) { foreach (RoleExpression expression in CreateExpressionTree(ContextC.Formula)) { expression.Interpret(ContextC);// TerminalExpression tiplerine ait harf sembolleri buradaki metod çağrısındada gönderilebilir. } Console.WriteLine("{0} için maliyet puanı {1}", ContextC.Formula, ContextC.TotalPoint); }
public static void Main(string[] args) { Console.WriteLine("Architecture = 5, Consultant=10, Senior=15,Developer=20\n"); // 1 Architect, 1 Consultan, 2 Senior Developer , 4 Junior Developer ContextC ContextC = new ContextC { Formula = "ACSSDDDD" }; RunExpression(ContextC); // 1 Consultant, 1 Senior Developer, 2 Developer ContextC = new ContextC { Formula = "CSDD" }; RunExpression(ContextC); // 1 Consultant, 1 Senior Developer, 2 Developer ContextC = new ContextC { Formula = "SD" }; RunExpression(ContextC); Console.ReadKey(); }
public abstract void Interpret(ContextC ContextC);