src/org/nutz/el/arithmetic/ShuntingYard.java
public Queue<Object> parseToRPN(String val) {
        rpn = new LinkedList<Object>();
        opts = new LinkedList<Operator>();
        
        Converter converter = new Converter(val);
        converter.initItems();
        while(!converter.isEnd()){
            Object item = converter.fetchItem();
            if(item instanceof Operator){
                parseOperator((Operator) item);
                continue;
            }
            rpn.add(item);
        }
        while(!opts.isEmpty()){
            rpn.add(opts.poll());
        }
        
        return rpn;
    }
public Queue<Object> parseToRPN(String val) {
        rpn = new LinkedList<Object>();
        opts = new LinkedList<Operator>();
        
        Converter converter = new Converter(val);
        converter.initItems();
        while(!converter.isEnd()){
            Object item = converter.fetchItem();
            if(item instanceof Operator){
                parseOperator((Operator) item);
                continue;
            }
            rpn.add(item);
        }
        while(!opts.isEmpty()){
            rpn.add(opts.poll());
        }
        
        return rpn;
    }
转换成 逆波兰表示法（Reverse Polish notation，RPN，或逆波兰记法）
@param val
@throws IOException