def comparator(name, first, second): ... def current_node(): ... def expref(expression): ... def function_expression(name, args): ... def field(name): ... def filter_projection(left, right, comparator): ... def flatten(node): ... def identity(): ... def index(index): ... def index_expression(children): ... def key_val_pair(key_name, node): ... def literal(literal_value): ... def multi_select_dict(nodes): ... def multi_select_list(nodes): ... def or_expression(left, right): ... def and_expression(left, right): ... def not_expression(expr): ... def pipe(left, right): ... def projection(left, right): ... def subexpression(children): ... def slice(start, end, step): ... def value_projection(left, right): ...