--- esM.py- 2016-09-08 02:00:00.000000000 +0900 +++ esM.py 2016-09-08 02:20:00.000000000 +0900 @@ -370,10 +370,17 @@ def do_expr(expr, info): if info.get('verb') >= 2: print('expr={}'.format(expr)) (k, v) = expr[:2] - if k == 'kwd' and v == 'return': - r = do_expr( expr[2], info ) - get_call_inf(info)['ret'] = r - return None + if k == 'kwd': + if v == 'return': + r = do_expr( expr[2], info ) + get_call_inf(info)['ret'] = r + return None + if v == 'if': + if do_expr( expr[2], info ): + do_expr( expr[3], info ) + elif len(expr) > 4: + do_expr( expr[4], info ) + return None if k == 'num': return float(v) if k == 'str':