================================================================================
!!map Examples
================================================================================
Block style: !!map
  Clark : Evans
  Ingy  : döt Net
  Oren  : Ben-Kiki

Flow style: !!map { Clark: Evans, Ingy: döt Net, Oren: Ben-Kiki }

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

(stream
 (document
  (block_node
   (block_mapping
    (block_mapping_pair
     (flow_node
      (plain_scalar
       (string_scalar)))
     (block_node
      (tag)
      (block_mapping
       (block_mapping_pair
        (flow_node
         (plain_scalar
          (string_scalar)))
        (flow_node
         (plain_scalar
          (string_scalar))))
       (block_mapping_pair
        (flow_node
         (plain_scalar
          (string_scalar)))
        (flow_node
         (plain_scalar
          (string_scalar))))
       (block_mapping_pair
        (flow_node
         (plain_scalar
          (string_scalar)))
        (flow_node
         (plain_scalar
          (string_scalar)))))))
    (block_mapping_pair
     (flow_node
      (plain_scalar
       (string_scalar)))
     (flow_node
      (tag)
      (flow_mapping
       (flow_pair
        (flow_node
         (plain_scalar
          (string_scalar)))
        (flow_node
         (plain_scalar
          (string_scalar))))
       (flow_pair
        (flow_node
         (plain_scalar
          (string_scalar)))
        (flow_node
         (plain_scalar
          (string_scalar))))
       (flow_pair
        (flow_node
         (plain_scalar
          (string_scalar)))
        (flow_node
         (plain_scalar
          (string_scalar)))))))))))

================================================================================
!!seq Examples
================================================================================
Block style: !!seq
- Clark Evans
- Ingy döt Net
- Oren Ben-Kiki

Flow style: !!seq [ Clark Evans, Ingy döt Net, Oren Ben-Kiki ]

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

(stream
 (document
  (block_node
   (block_mapping
    (block_mapping_pair
     (flow_node
      (plain_scalar
       (string_scalar)))
     (block_node
      (tag)
      (block_sequence
       (block_sequence_item
        (flow_node
         (plain_scalar
          (string_scalar))))
       (block_sequence_item
        (flow_node
         (plain_scalar
          (string_scalar))))
       (block_sequence_item
        (flow_node
         (plain_scalar
          (string_scalar)))))))
    (block_mapping_pair
     (flow_node
      (plain_scalar
       (string_scalar)))
     (flow_node
      (tag)
      (flow_sequence
       (flow_node
        (plain_scalar
         (string_scalar)))
       (flow_node
        (plain_scalar
         (string_scalar)))
       (flow_node
        (plain_scalar
         (string_scalar))))))))))

================================================================================
!!str Examples
================================================================================
Block style: !!str |-
  String: just a theory.

Flow style: !!str "String: just a theory."

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

(stream
 (document
  (block_node
   (block_mapping
    (block_mapping_pair
     (flow_node
      (plain_scalar
       (string_scalar)))
     (block_node
      (tag)
      (block_scalar)))
    (block_mapping_pair
     (flow_node
      (plain_scalar
       (string_scalar)))
     (flow_node
      (tag)
      (double_quote_scalar)))))))

================================================================================
!!null Examples
================================================================================
!!null null: value for null key
key with null value: !!null null

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

(stream
 (document
  (block_node
   (block_mapping
    (block_mapping_pair
     (flow_node
      (tag)
      (plain_scalar
       (null_scalar)))
     (flow_node
      (plain_scalar
       (string_scalar))))
    (block_mapping_pair
     (flow_node
      (plain_scalar
       (string_scalar)))
     (flow_node
      (tag)
      (plain_scalar
       (null_scalar))))))))

================================================================================
!!bool Examples
================================================================================
YAML is a superset of JSON: !!bool true
Pluto is a planet: !!bool false

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

(stream
 (document
  (block_node
   (block_mapping
    (block_mapping_pair
     (flow_node
      (plain_scalar
       (string_scalar)))
     (flow_node
      (tag)
      (plain_scalar
       (boolean_scalar))))
    (block_mapping_pair
     (flow_node
      (plain_scalar
       (string_scalar)))
     (flow_node
      (tag)
      (plain_scalar
       (boolean_scalar))))))))

================================================================================
!!int Examples
================================================================================
negative: !!int -12
zero: !!int 0
positive: !!int 34

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

(stream
 (document
  (block_node
   (block_mapping
    (block_mapping_pair
     (flow_node
      (plain_scalar
       (string_scalar)))
     (flow_node
      (tag)
      (plain_scalar
       (integer_scalar))))
    (block_mapping_pair
     (flow_node
      (plain_scalar
       (string_scalar)))
     (flow_node
      (tag)
      (plain_scalar
       (integer_scalar))))
    (block_mapping_pair
     (flow_node
      (plain_scalar
       (string_scalar)))
     (flow_node
      (tag)
      (plain_scalar
       (integer_scalar))))))))

================================================================================
!!float Examples
================================================================================
negative: !!float -1
zero: !!float 0
positive: !!float 2.3e4
infinity: !!float .inf
not a number: !!float .nan

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

(stream
 (document
  (block_node
   (block_mapping
    (block_mapping_pair
     (flow_node
      (plain_scalar
       (string_scalar)))
     (flow_node
      (tag)
      (plain_scalar
       (integer_scalar))))
    (block_mapping_pair
     (flow_node
      (plain_scalar
       (string_scalar)))
     (flow_node
      (tag)
      (plain_scalar
       (integer_scalar))))
    (block_mapping_pair
     (flow_node
      (plain_scalar
       (string_scalar)))
     (flow_node
      (tag)
      (plain_scalar
       (float_scalar))))
    (block_mapping_pair
     (flow_node
      (plain_scalar
       (string_scalar)))
     (flow_node
      (tag)
      (plain_scalar
       (float_scalar))))
    (block_mapping_pair
     (flow_node
      (plain_scalar
       (string_scalar)))
     (flow_node
      (tag)
      (plain_scalar
       (float_scalar))))))))

================================================================================
JSON Tag Resolution
================================================================================
A null: null
Booleans: [ true, false ]
Integers: [ 0, -0, 3, -19 ]
Floats: [ 0., -0.0, 12e03, -2E+05 ]
Invalid: [ True, Null, 0o7, 0x3A, +12.3 ]

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

(stream
 (document
  (block_node
   (block_mapping
    (block_mapping_pair
     (flow_node
      (plain_scalar
       (string_scalar)))
     (flow_node
      (plain_scalar
       (null_scalar))))
    (block_mapping_pair
     (flow_node
      (plain_scalar
       (string_scalar)))
     (flow_node
      (flow_sequence
       (flow_node
        (plain_scalar
         (boolean_scalar)))
       (flow_node
        (plain_scalar
         (boolean_scalar))))))
    (block_mapping_pair
     (flow_node
      (plain_scalar
       (string_scalar)))
     (flow_node
      (flow_sequence
       (flow_node
        (plain_scalar
         (integer_scalar)))
       (flow_node
        (plain_scalar
         (integer_scalar)))
       (flow_node
        (plain_scalar
         (integer_scalar)))
       (flow_node
        (plain_scalar
         (integer_scalar))))))
    (block_mapping_pair
     (flow_node
      (plain_scalar
       (string_scalar)))
     (flow_node
      (flow_sequence
       (flow_node
        (plain_scalar
         (float_scalar)))
       (flow_node
        (plain_scalar
         (float_scalar)))
       (flow_node
        (plain_scalar
         (float_scalar)))
       (flow_node
        (plain_scalar
         (float_scalar))))))
    (block_mapping_pair
     (flow_node
      (plain_scalar
       (string_scalar)))
     (flow_node
      (flow_sequence
       (flow_node
        (plain_scalar
         (boolean_scalar)))
       (flow_node
        (plain_scalar
         (null_scalar)))
       (flow_node
        (plain_scalar
         (integer_scalar)))
       (flow_node
        (plain_scalar
         (integer_scalar)))
       (flow_node
        (plain_scalar
         (float_scalar))))))))))

================================================================================
Core Tag Resolution
================================================================================
A null: null
Also a null: # Empty
Not a null: ""
Booleans: [ true, True, false, FALSE ]
Integers: [ 0, 0o7, 0x3A, -19 ]
Floats: [ 0., -0.0, .5, +12e03, -2E+05 ]
Also floats: [ .inf, -.Inf, +.INF, .NAN ]

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

(stream
 (document
  (block_node
   (block_mapping
    (block_mapping_pair
     (flow_node
      (plain_scalar
       (string_scalar)))
     (flow_node
      (plain_scalar
       (null_scalar))))
    (block_mapping_pair
     (flow_node
      (plain_scalar
       (string_scalar))))
    (comment)
    (block_mapping_pair
     (flow_node
      (plain_scalar
       (string_scalar)))
     (flow_node
      (double_quote_scalar)))
    (block_mapping_pair
     (flow_node
      (plain_scalar
       (string_scalar)))
     (flow_node
      (flow_sequence
       (flow_node
        (plain_scalar
         (boolean_scalar)))
       (flow_node
        (plain_scalar
         (boolean_scalar)))
       (flow_node
        (plain_scalar
         (boolean_scalar)))
       (flow_node
        (plain_scalar
         (boolean_scalar))))))
    (block_mapping_pair
     (flow_node
      (plain_scalar
       (string_scalar)))
     (flow_node
      (flow_sequence
       (flow_node
        (plain_scalar
         (integer_scalar)))
       (flow_node
        (plain_scalar
         (integer_scalar)))
       (flow_node
        (plain_scalar
         (integer_scalar)))
       (flow_node
        (plain_scalar
         (integer_scalar))))))
    (block_mapping_pair
     (flow_node
      (plain_scalar
       (string_scalar)))
     (flow_node
      (flow_sequence
       (flow_node
        (plain_scalar
         (float_scalar)))
       (flow_node
        (plain_scalar
         (float_scalar)))
       (flow_node
        (plain_scalar
         (float_scalar)))
       (flow_node
        (plain_scalar
         (float_scalar)))
       (flow_node
        (plain_scalar
         (float_scalar))))))
    (block_mapping_pair
     (flow_node
      (plain_scalar
       (string_scalar)))
     (flow_node
      (flow_sequence
       (flow_node
        (plain_scalar
         (float_scalar)))
       (flow_node
        (plain_scalar
         (float_scalar)))
       (flow_node
        (plain_scalar
         (float_scalar)))
       (flow_node
        (plain_scalar
         (float_scalar))))))))))
