"""
TODO:

Objects:
 - Object keys may be an ECMAScript 5.1 IdentifierName.
 - Objects may have a single trailing comma.
Arrays:
 - Arrays may have a single trailing comma.
Strings:
 - Strings may be single quoted.
 - Strings may span multiple lines by escaping new line characters.
 - Strings may include character escapes.
Numbers:
 - Numbers may be hexadecimal.
 - Numbers may have a leading or trailing decimal point.
 - Numbers may be IEEE 754 positive infinity, negative infinity, and NaN.
 - Numbers may begin with an explicit plus sign.
Comments:
 - Single and multi-line comments are allowed.
White Space:
 - Additional white space characters are allowed.
"""
