Module Assign NameStore Str ClassDef bases NameLoad body FunctionDef arguments args NameParam NameParam defaults body Expr Str Assign NameStore ListLoad Str Str Str Str FunctionDef arguments args NameParam NameParam NameParam defaults body If CompareEq NameLoad Str body Return BinOpAdd NameLoad NameLoad If CompareEq NameLoad Str body Return BinOpSub NameLoad NameLoad If CompareEq NameLoad Str body Return Call NameLoad BinOpDiv Call NameLoad NameLoad NameLoad If CompareEq NameLoad Str body Return BinOpMult NameLoad NameLoad decorator_list Assign NameStore ListLoad For NameStore NameLoad body If CompareNotIn NameLoad NameLoad body Expr Call AttributeLoad NameLoad attr Call NameLoad NameLoad orelse Assign NameStore Call AttributeLoad NameLoad attr Assign NameStore Call AttributeLoad NameLoad attr Assign NameStore Call NameLoad NameLoad NameLoad NameLoad Expr Call AttributeLoad NameLoad attr NameLoad Return Call AttributeLoad NameLoad attr decorator_list decorator_list If CompareEq NameLoad Str body Assert CompareEq Call AttributeLoad Call NameLoad attr ListLoad Str Str Str Str Str Str Str Str Str Str Str Str Str Num
N/A N/A __author__ Danyang Solution N/A object N/A evalRPN N/A N/A self tokens N/A N/A N/A 
        stack
        basic in bytecode operation
        basic in compiler technique
        :param tokens:
        :return:
         N/A ops N/A + - * / arith N/A N/A a b op N/A N/A N/A N/A op + N/A N/A N/A a b N/A N/A op - N/A N/A N/A a b N/A N/A op / N/A N/A N/A int N/A N/A float a b N/A N/A op * N/A N/A N/A a b N/A N/A stack N/A N/A token tokens N/A N/A N/A token ops N/A N/A N/A N/A stack append N/A int token N/A N/A arg2 N/A N/A stack pop N/A arg1 N/A N/A stack pop N/A result N/A arith arg1 arg2 token N/A N/A N/A stack append result N/A N/A N/A stack pop N/A N/A N/A N/A __name__ __main__ N/A N/A N/A N/A N/A N/A Solution evalRPN N/A 10 6 9 3 + -11 * / * 17 + 5 + 22