================================================================================
Addition
================================================================================

x = a + b

--------------------------------------------------------------------------------

(source_file
  (assignment
    (identifier)
    (binary_expression
      (identifier)
      (identifier))))

================================================================================
Subtraction
================================================================================

x = a - b

--------------------------------------------------------------------------------

(source_file
  (assignment
    (identifier)
    (binary_expression
      (identifier)
      (identifier))))

================================================================================
Multiplication
================================================================================

x = a * b

--------------------------------------------------------------------------------

(source_file
  (assignment
    (identifier)
    (binary_expression
      (identifier)
      (identifier))))

================================================================================
Division
================================================================================

x = a / b

--------------------------------------------------------------------------------

(source_file
  (assignment
    (identifier)
    (binary_expression
      (identifier)
      (identifier))))

================================================================================
Exponentiation
================================================================================

x = a ^ b

--------------------------------------------------------------------------------

(source_file
  (assignment
    (identifier)
    (binary_expression
      (identifier)
      (identifier))))

================================================================================
Modulo
================================================================================

x = a mod b

--------------------------------------------------------------------------------

(source_file
  (assignment
    (identifier)
    (binary_expression
      (identifier)
      (identifier))))

================================================================================
Equal comparison
================================================================================

x = a eq b

--------------------------------------------------------------------------------

(source_file
  (assignment
    (identifier)
    (binary_expression
      (identifier)
      (identifier))))

================================================================================
Not equal comparison
================================================================================

x = a ne b

--------------------------------------------------------------------------------

(source_file
  (assignment
    (identifier)
    (binary_expression
      (identifier)
      (identifier))))

================================================================================
Less than
================================================================================

x = a lt b

--------------------------------------------------------------------------------

(source_file
  (assignment
    (identifier)
    (binary_expression
      (identifier)
      (identifier))))

================================================================================
Greater than
================================================================================

x = a gt b

--------------------------------------------------------------------------------

(source_file
  (assignment
    (identifier)
    (binary_expression
      (identifier)
      (identifier))))

================================================================================
Less or equal
================================================================================

x = a le b

--------------------------------------------------------------------------------

(source_file
  (assignment
    (identifier)
    (binary_expression
      (identifier)
      (identifier))))

================================================================================
Greater or equal
================================================================================

x = a ge b

--------------------------------------------------------------------------------

(source_file
  (assignment
    (identifier)
    (binary_expression
      (identifier)
      (identifier))))

================================================================================
Logical AND
================================================================================

x = a and b

--------------------------------------------------------------------------------

(source_file
  (assignment
    (identifier)
    (binary_expression
      (identifier)
      (identifier))))

================================================================================
Logical OR
================================================================================

x = a or b

--------------------------------------------------------------------------------

(source_file
  (assignment
    (identifier)
    (binary_expression
      (identifier)
      (identifier))))

================================================================================
Logical NOT
================================================================================

x = not a

--------------------------------------------------------------------------------

(source_file
  (assignment
    (identifier)
    (unary_expression
      (identifier))))

================================================================================
Logical XOR
================================================================================

x = a xor b

--------------------------------------------------------------------------------

(source_file
  (assignment
    (identifier)
    (binary_expression
      (identifier)
      (identifier))))

================================================================================
Chained arithmetic
================================================================================

x = a + b * c

--------------------------------------------------------------------------------

(source_file
  (assignment
    (identifier)
    (binary_expression
      (identifier)
      (binary_expression
        (identifier)
        (identifier)))))

================================================================================
Parenthesized expression
================================================================================

x = (a + b) * c

--------------------------------------------------------------------------------

(source_file
  (assignment
    (identifier)
    (binary_expression
      (parenthesized_expression
        (binary_expression
          (identifier)
          (identifier)))
      (identifier))))

================================================================================
String concatenation
================================================================================

s = 'hello' + ' ' + 'world'

--------------------------------------------------------------------------------

(source_file
  (assignment
    (identifier)
    (binary_expression
      (binary_expression
        (string_literal)
        (string_literal))
      (string_literal))))

================================================================================
Unary minus
================================================================================

x = -a

--------------------------------------------------------------------------------

(source_file
  (assignment
    (identifier)
    (unary_expression
      (identifier))))
