Exemple #1
0
        public override binaryOperationClass binaryOperation(binaryOperationClass context)
        {
            var postfixList = ToPostfix(context.binaryOperationList);

            context.extraInfo = PostfixEvaluator(postfixList);

            return(context);
        }
Exemple #2
0
        public override variableAssignClass variableAssign(variableAssignClass context)
        {
            var contextEI = context.expression.extraInfo is VariableValue v?
                            v.Value : context.expression.extraInfo;

            switch (context.op)
            {
            case "=":
            case ":=":
                ((VariableValue)context.complexVariable.extraInfo).Value = contextEI;
                break;

            default:
                var exp = new binaryOperationClass(new List <BaseAHKNode>()
                {
                    context.complexVariable, new opClass(context.op.Substring(0, context.op.Length - 1)), context.expression
                });
                ((VariableValue)context.complexVariable.extraInfo).Value = traverser.binaryOperation(exp).extraInfo;
                break;
            }

            return(context);
        }
 public virtual string binaryOperation(binaryOperationClass context)
 {
     return(context.defaultValue);
 }