def p_static_non_empty_array_pair_list_pair(p): '''static_non_empty_array_pair_list : static_non_empty_array_pair_list COMMA static_scalar DOUBLE_ARROW static_scalar | static_scalar DOUBLE_ARROW static_scalar''' if len(p) == 6: p[0] = p[1] + [ast.ArrayElement(p[3], p[5], False, lineno=p.lineno(2))] else: p[0] = [ast.ArrayElement(p[1], p[3], False, lineno=p.lineno(2))]
def p_static_non_empty_array_pair_list_item(p): '''static_non_empty_array_pair_list : static_non_empty_array_pair_list COMMA static_scalar | static_scalar''' if len(p) == 4: p[0] = p[1] + [ast.ArrayElement(None, p[3], False, lineno=p.lineno(2))] else: p[0] = [ast.ArrayElement(None, p[1], False, lineno=p.lineno(1))]
def p_non_empty_array_pair_list_pair(p): '''non_empty_array_pair_list : non_empty_array_pair_list COMMA expr DOUBLE_ARROW AND variable | non_empty_array_pair_list COMMA expr DOUBLE_ARROW expr | expr DOUBLE_ARROW AND variable | expr DOUBLE_ARROW expr''' if len(p) == 7: p[0] = p[1] + [ast.ArrayElement(p[3], p[6], True, lineno=p.lineno(2))] elif len(p) == 6: p[0] = p[1] + [ast.ArrayElement(p[3], p[5], False, lineno=p.lineno(2))] elif len(p) == 5: p[0] = [ast.ArrayElement(p[1], p[4], True, lineno=p.lineno(2))] else: p[0] = [ast.ArrayElement(p[1], p[3], False, lineno=p.lineno(2))]
def p_non_empty_array_pair_list_item(p): '''non_empty_array_pair_list : non_empty_array_pair_list COMMA AND variable | non_empty_array_pair_list COMMA expr | AND variable | expr''' if len(p) == 5: p[0] = p[1] + [ast.ArrayElement(None, p[4], True, lineno=p.lineno(2))] elif len(p) == 4: p[0] = p[1] + [ast.ArrayElement(None, p[3], False, lineno=p.lineno(2))] elif len(p) == 3: p[0] = [ast.ArrayElement(None, p[2], True, lineno=p.lineno(1))] else: p[0] = [ast.ArrayElement(None, p[1], False, lineno=p.lineno(1))]