================================================================================
Binary Expressions: Simple Expressions
================================================================================

1 + 2
1+2
1 +2
1+ 2

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

(source_file
  (binary_operator
    (number)
    (number))
  (binary_operator
    (number)
    (number))
  (binary_operator
    (number)
    (number))
  (binary_operator
    (number)
    (number)))

================================================================================
Binary Expressions: Associativity
================================================================================

 2 * a + b;
 2 * (a + b);
-2 * a + b;
 a ^ 2 + 3
 a ^ 2 * 3
 2 * x ^ 3

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

(source_file
  (binary_operator
    (binary_operator
      (number)
      (identifier))
    (identifier))
  (binary_operator
    (number)
    (parenthesis
      (binary_operator
        (identifier)
        (identifier))))
  (binary_operator
    (binary_operator
      (unary_operator
        (number))
      (identifier))
    (identifier))
  (binary_operator
    (binary_operator
      (identifier)
      (number))
    (number))
  (binary_operator
    (binary_operator
      (identifier)
      (number))
    (number))
  (binary_operator
    (number)
    (binary_operator
      (identifier)
      (number))))

================================================================================
Boolean Expressions: Simple Expressions
================================================================================

a && b
a || b

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

(source_file
  (boolean_operator
    (identifier)
    (identifier))
  (boolean_operator
    (identifier)
    (identifier)))

================================================================================
Boolean Expressions: Associativity
================================================================================

a && b || c && d
a || b && c || d

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

(source_file
  (boolean_operator
    (boolean_operator
      (identifier)
      (identifier))
    (boolean_operator
      (identifier)
      (identifier)))
  (boolean_operator
    (boolean_operator
      (identifier)
      (boolean_operator
        (identifier)
        (identifier)))
    (identifier)))

================================================================================
Unary Expressions: Simple
================================================================================

~a
+a
-a
+-a

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

(source_file
  (not_operator
    (identifier))
  (unary_operator
    (identifier))
  (unary_operator
    (identifier))
  (unary_operator
    (unary_operator
      (identifier))))

================================================================================
Comparison Expressions: Simple Expressions
================================================================================

a == b
a < b
a <= b

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

(source_file
  (comparison_operator
    (identifier)
    (identifier))
  (comparison_operator
    (identifier)
    (identifier))
  (comparison_operator
    (identifier)
    (identifier)))

================================================================================
Comparison Expressions: Composition
================================================================================

a + b == -c
a + b == c && d

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

(source_file
  (comparison_operator
    (binary_operator
      (identifier)
      (identifier))
    (unary_operator
      (identifier)))
  (boolean_operator
    (comparison_operator
      (binary_operator
        (identifier)
        (identifier))
      (identifier))
    (identifier)))

================================================================================
Postfix Expressions: Simple Expressions
================================================================================

A'
A.'

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

(source_file
  (postfix_operator
    (identifier))
  (postfix_operator
    (identifier)))

================================================================================
Postfix Expressions: Composition
================================================================================

~A'
-A'
A'^2
A^2'

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

(source_file
  (not_operator
    (postfix_operator
      (identifier)))
  (unary_operator
    (postfix_operator
      (identifier)))
  (binary_operator
    (postfix_operator
      (identifier))
    (number))
  (binary_operator
    (identifier)
    (postfix_operator
      (number))))
