=====================
expression statements
=====================

void foo() {
    int i;
    i = i+1;
}

---

(source_file
  (function_definition
    (type
      (builtin_type)
    )
    (identifier)
    (parameter_declarations)
    (block
      (variable_declaration_statement
        (type
          (builtin_type)
        )
        (variable_declaration
          (identifier)
        )
      )
      (expression_statement
        (assignment_expression
          (identifier)
          (binary_expression
            (identifier)
            (int_literal)
          )
        )
      )
    )
  )
)


=================
comma expressions
=================

void foo() {
    int i, ii;
    char bar[10];
    i + 1, ii += 1;
    bar[1] = '\x0';
}

---

(source_file
  (function_definition
    (type
      (builtin_type)
    )
    (identifier)
    (parameter_declarations)
    (block
      (variable_declaration_statement
        (type
          (builtin_type)
        )
        (variable_declaration
          (identifier)
        )
        (variable_declaration
          (identifier)
        )
      )
      (variable_declaration_statement
        (type
          (builtin_type)
        )
        (variable_declaration
          (identifier)
          (fixed_dimension
            (int_literal)
          )
        )
      )
      (expression_statement
        (comma_expression
          (binary_expression
            (identifier)
            (int_literal)
          )
          (assignment_expression
            (identifier)
            (int_literal)
          )
        )
      )
      (expression_statement
        (assignment_expression
          (array_indexed_access
            (identifier)
            (int_literal)
          )
          (char_literal
            (escape_sequence)
          )
        )
      )
    )
  )
)
