def _parse_expression()

in cstar/nodetoolparser/describering.py [0:0]


def _parse_expression(line, tokens):
    if tokens[-1].val == '[':
        return _parse_describe_line_list(line, tokens)

    if type(tokens[-1]) is Identifier:
        if (len(tokens) >= 2) and (tokens[-2].val == '('):
            return _parse_call(line, tokens)
        else:
            return tokens.pop().val
    raise ParseException(line, tokens[-1].offset, "Expected identifier, call or list, got '%s'")