private int GetOperatorPriority(Ast.BinaryOperator.Operation op) { switch (op) { case Ast.BinaryOperator.Operation.OR: return(0); case Ast.BinaryOperator.Operation.AND: return(1); case Ast.BinaryOperator.Operation.ROL: case Ast.BinaryOperator.Operation.ROG: case Ast.BinaryOperator.Operation.ROE: case Ast.BinaryOperator.Operation.RONE: return(2); case Ast.BinaryOperator.Operation.ADD: case Ast.BinaryOperator.Operation.SUB: return(3); case Ast.BinaryOperator.Operation.MUL: case Ast.BinaryOperator.Operation.DIV: return(4); } throw new NotSupportedException("Unkonow operation priority"); }
public BinaryOperator(Ast.BinaryOperator.Operation operation) { this.operation = operation; }