public override void Interpret(IContext context) { ExpressionA.Interpret(context); ExpressionB.Interpret(context); var result = context.Get(ExpressionA).Equals(context.Get(ExpressionB)); context.AddVariable(this, result); }
public override void Interpret(IContext context) { ComparisonExpressionA.Interpret(context); ComparisonExpressionB.Interpret(context); var result = (bool)context.Get(ComparisonExpressionA) && (bool)context.Get(ComparisonExpressionB); context.AddVariable(this, result); }
public override void Interpret(IContext context) { ExpressionA.Interpret(context); ExpressionB.Interpret(context); var result = (bool)context.Get(ExpressionA) || (bool)context.Get(ExpressionB); context.AddVariable(this, result); }
public override void Interpret(IContext context) { ExpressionA.Interpret(context); ExpressionB.Interpret(context); var exprAresult = context.Get(ExpressionA); var exprBResult = context.Get(ExpressionB); var resultA = exprAresult as string; var resultB = exprBResult as string; if (resultA != null && resultB != null && resultA.IndexOf(resultB, StringComparison.Ordinal) != -1) { context.AddVariable(this, true); return; } context.AddVariable(this, false); }
public float ProcessStatement(IContext _context, string statement) { string[] split = statement.Split(' '); GalacticUnit gu = new GalacticUnit(split[2]); _context.AddVariable(split[0], gu); return(gu.ToArabic()); }
public void Interpret(IContext context) { var source = context.Get(_lookup); if (source != null) { var propertyInfo = source.GetType().GetProperty(_methodName); if (propertyInfo != null) { var result = propertyInfo.GetGetMethod().Invoke(source, null); context.AddVariable(this, result); } } }
public IList <IContact> ContactsMatchingExpression( IExpression expression, IContext context, object key) { IList <IContact> contacts = new List <IContact>(); foreach (var contact in _contacts) { context.AddVariable(key, contact); expression.Interpret(context); var interpretResult = context.Get(expression); if (interpretResult != null && interpretResult.Equals(true)) { contacts.Add(contact); } } return(contacts); }
public void Interpret(IContext context) => context.AddVariable(this, _value);