================================================================================
Decimal literal
================================================================================

234

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

(source_file
  (build_definition
    (statement
      (expression
        (integer_literal)))))

================================================================================
Hexadecimal literal
================================================================================

0xfacef33d

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

(source_file
  (build_definition
    (statement
      (expression
        (integer_literal)))))

================================================================================
Binary literal
================================================================================

0b10101101010

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

(source_file
  (build_definition
    (statement
      (expression
        (integer_literal)))))

================================================================================
Boolean literal (true)
================================================================================

true

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

(source_file
  (build_definition
    (statement
      (expression
        (boolean_literal)))))

================================================================================
Boolean literal (false)
================================================================================

false

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

(source_file
  (build_definition
    (statement
      (expression
        (boolean_literal)))))

================================================================================
Array literal
================================================================================

[1, 'a', true, [2, 3, 4]]

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

(source_file
  (build_definition
    (statement
      (expression
        (array_literal
          (expression
            (integer_literal))
          (expression
            (string_literal
              (string_simple)))
          (expression
            (boolean_literal))
          (expression
            (array_literal
              (expression
                (integer_literal))
              (expression
                (integer_literal))
              (expression
                (integer_literal)))))))))

================================================================================
Dictionary literal (empty)
================================================================================

{}

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

(source_file
  (build_definition
    (statement
      (expression
        (dictionary_literal)))))

================================================================================
Dictionary literal (one key)
================================================================================

{ 'foo': 'bar' }

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

(source_file
  (build_definition
    (statement
      (expression
        (dictionary_literal
          (key_value_item
            (expression
              (string_literal
                (string_simple)))
            (expression
              (string_literal
                (string_simple)))))))))

================================================================================
Dictionary literal (two keys)
================================================================================

{ 'foo': 'bar', 'baz': 234 }

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

(source_file
  (build_definition
    (statement
      (expression
        (dictionary_literal
          (key_value_item
            (expression
              (string_literal
                (string_simple)))
            (expression
              (string_literal
                (string_simple))))
          (key_value_item
            (expression
              (string_literal
                (string_simple)))
            (expression
              (integer_literal))))))))

================================================================================
Dictionary literal (array value)
================================================================================

{ 'options': ['yay', 0xf00d, false] }

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

(source_file
  (build_definition
    (statement
      (expression
        (dictionary_literal
          (key_value_item
            (expression
              (string_literal
                (string_simple)))
            (expression
              (array_literal
                (expression
                  (string_literal
                    (string_simple)))
                (expression
                  (integer_literal))
                (expression
                  (boolean_literal))))))))))

================================================================================
Dictionary literal (nested)
================================================================================

{ 'ab': { 'a': 'b' }, 'cd': { 'c': 'd' } }

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

(source_file
  (build_definition
    (statement
      (expression
        (dictionary_literal
          (key_value_item
            (expression
              (string_literal
                (string_simple)))
            (expression
              (dictionary_literal
                (key_value_item
                  (expression
                    (string_literal
                      (string_simple)))
                  (expression
                    (string_literal
                      (string_simple)))))))
          (key_value_item
            (expression
              (string_literal
                (string_simple)))
            (expression
              (dictionary_literal
                (key_value_item
                  (expression
                    (string_literal
                      (string_simple)))
                    (expression
                      (string_literal
                        (string_simple))))))))))))
