예제 #1
0
        public override bool Interpret(Dictionary <char, bool> context)
        {
            switch (operation)
            {
            case '&':
                return(left.Interpret(context) && right.Interpret(context));

            case '|':
                return(left.Interpret(context) || right.Interpret(context));

            case '=':
                return(left.Interpret(context) == right.Interpret(context));

            case '>':
                if (left.Interpret(context) == right.Interpret(context))
                {
                    return(true);
                }
                else if (!left.Interpret(context))
                {
                    return(true);
                }
                else
                {
                    return(false);
                }

            default:
                return(left.Interpret(context));
            }
        }
예제 #2
0
 public override bool Interpret(Dictionary <char, bool> context)
 {
     return(!next.Interpret(context));
 }