================================================================================
simple string
================================================================================

let x = "test"

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

(file
  (value_declaration
    (function_or_value_defn
      (value_declaration_left
        (identifier_pattern
          (long_identifier
            (identifier))))
      (const
        (string)))))

================================================================================
verbatim string
================================================================================

let x = @"\"

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

(file
  (value_declaration
    (function_or_value_defn
      (value_declaration_left
        (identifier_pattern
          (long_identifier
            (identifier))))
      (const
        (verbatim_string)))))

================================================================================
int
================================================================================

let x = 1

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

(file
  (value_declaration
    (function_or_value_defn
      (value_declaration_left
        (identifier_pattern
          (long_identifier
            (identifier))))
      (const
        (int)))))

================================================================================
int64
================================================================================

let x = 1L

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

(file
  (value_declaration
    (function_or_value_defn
      (value_declaration_left
        (identifier_pattern
          (long_identifier
            (identifier))))
      (const
        (int64
          (int))))))

================================================================================
int32
================================================================================

let x = 1l

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

(file
  (value_declaration
    (function_or_value_defn
      (value_declaration_left
        (identifier_pattern
          (long_identifier
            (identifier))))
      (const
        (int32
          (int))))))

================================================================================
int16
================================================================================

let x = 1s

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

(file
  (value_declaration
    (function_or_value_defn
      (value_declaration_left
        (identifier_pattern
          (long_identifier
            (identifier))))
      (const
        (int16
          (int))))))

================================================================================
sbyte
================================================================================

let x = 1y

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

(file
  (value_declaration
    (function_or_value_defn
      (value_declaration_left
        (identifier_pattern
          (long_identifier
            (identifier))))
      (const
        (sbyte
          (int))))))

================================================================================
byte
================================================================================

let x = 1uy

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

(file
  (value_declaration
    (function_or_value_defn
      (value_declaration_left
        (identifier_pattern
          (long_identifier
            (identifier))))
      (const
        (byte
          (int))))))

================================================================================
uint16
================================================================================

let x = 1us

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

(file
  (value_declaration
    (function_or_value_defn
      (value_declaration_left
        (identifier_pattern
          (long_identifier
            (identifier))))
      (const
        (uint16
          (int))))))

================================================================================
uint32
================================================================================

let x = 1u

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

(file
  (value_declaration
    (function_or_value_defn
      (value_declaration_left
        (identifier_pattern
          (long_identifier
            (identifier))))
      (const
        (uint32
          (int))))))

================================================================================
uint32 alternative
================================================================================

let x = 1ul

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

(file
  (value_declaration
    (function_or_value_defn
      (value_declaration_left
        (identifier_pattern
          (long_identifier
            (identifier))))
      (const
        (uint32
          (int))))))

================================================================================
uint64
================================================================================

let x = 1UL

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

(file
  (value_declaration
    (function_or_value_defn
      (value_declaration_left
        (identifier_pattern
          (long_identifier
            (identifier))))
      (const
        (uint64
          (int))))))

================================================================================
uint64 alternative
================================================================================

let x = 1uL

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

(file
  (value_declaration
    (function_or_value_defn
      (value_declaration_left
        (identifier_pattern
          (long_identifier
            (identifier))))
      (const
        (uint64
          (int))))))

================================================================================
nativeint
================================================================================

do
  1n
  0b1n

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

(file
  (value_declaration
    (do
      (const
        (nativeint
          (int)))
      (const
        (nativeint
          (xint))))))

================================================================================
unativeint
================================================================================

do
  1un
  0b1un

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

(file
  (value_declaration
    (do
      (const
        (unativeint
          (int)))
      (const
        (unativeint
          (xint))))))

================================================================================
ieee32
================================================================================

let x = 1.f

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

(file
  (value_declaration
    (function_or_value_defn
      (value_declaration_left
        (identifier_pattern
          (long_identifier
            (identifier))))
      (const
        (ieee32
          (float))))))

================================================================================
ieee32 alternative
================================================================================

let x = 0b1lf

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

(file
  (value_declaration
    (function_or_value_defn
      (value_declaration_left
        (identifier_pattern
          (long_identifier
            (identifier))))
      (const
        (ieee32
          (xint))))))

================================================================================
ieee64
================================================================================

let x = 0b0LF

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

(file
  (value_declaration
    (function_or_value_defn
      (value_declaration_left
        (identifier_pattern
          (long_identifier
            (identifier))))
      (const
        (ieee64
          (xint))))))

================================================================================
bignum
================================================================================

do
  1Q
  1R
  1Z
  1I
  1N
  1G

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

(file
  (value_declaration
    (do
      (const
        (bignum
          (int)))
      (const
        (bignum
          (int)))
      (const
        (bignum
          (int)))
      (const
        (bignum
          (int)))
      (const
        (bignum
          (int)))
      (const
        (bignum
          (int))))))

================================================================================
decimal
================================================================================

do
  1.0M
  1.M
  1M
  1.0m
  1.m
  1m

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

(file
  (value_declaration
    (do
      (const
        (decimal
          (float)))
      (const
        (decimal
          (float)))
      (const
        (decimal
          (int)))
      (const
        (decimal
          (float)))
      (const
        (decimal
          (float)))
      (const
        (decimal
          (int))))))
