extract variables from expression node
    defined by tuple-pair: (_var_, [variable name])

def get_vars(n):
    """
    extract variables from expression node
    defined by tuple-pair: (_var_, [variable name])
    """
    op = n[0]
    if op.startswith('_') and op.endswith('_'):
        op = op.strip('_')
        if op == 'var':
            return [n[1]]
        return []
    else:
        ret = []
        for c in n[1:]:
            vs = get_vars(c)
            if vs:
                ret.extend(vs)
        return ret