==========================
JSON string arrays
==========================

CMD ["a", "bcd"]
CMD ["\"\\"]
CMD ["\b\f\n\r\t\u0ABC\u12Cd"]

---

(source_file
  (cmd_instruction
    (json_string_array
      (json_string)
      (json_string)))
  (cmd_instruction
    (json_string_array
      (json_string
        (escape_sequence)
        (escape_sequence))))
  (cmd_instruction
    (json_string_array
      (json_string
        (escape_sequence)
        (escape_sequence)
        (escape_sequence)
        (escape_sequence)
        (escape_sequence)
        (escape_sequence)
        (escape_sequence)))))

==========================
Double-quoted strings
==========================

ENV KEY "value"
ENV KEY "conti\
nue"
ENV KEY "quotes: \" '"
ENV KEY "backslash: \\"
ENV KEY "not escape sequences: \a \n"
ENV KEY "expansions: $FOO ${BAR}"

---

(source_file
  (env_instruction
    (env_pair
      (unquoted_string)
      (double_quoted_string)))
  (env_instruction
    (env_pair
      (unquoted_string)
      (double_quoted_string
        (line_continuation))))
  (env_instruction
    (env_pair
      (unquoted_string)
      (double_quoted_string
        (escape_sequence))))
  (env_instruction
    (env_pair
      (unquoted_string)
      (double_quoted_string
        (escape_sequence))))
  (env_instruction
    (env_pair
      (unquoted_string)
      (double_quoted_string)))
  (env_instruction
    (env_pair
      (unquoted_string)
      (double_quoted_string
        (expansion
          (variable))
        (expansion
          (variable))))))

==========================
Single-quoted strings
==========================

ENV KEY 'value'
ENV KEY 'conti\
nue'
ENV KEY 'quotes: \' \''
ENV KEY 'backslash: \\'
ENV KEY 'not escape sequences: \a \n'

---

(source_file
  (env_instruction
    (env_pair
      (unquoted_string)
      (single_quoted_string)))
  (env_instruction
    (env_pair
      (unquoted_string)
      (single_quoted_string
        (line_continuation))))
  (env_instruction
    (env_pair
      (unquoted_string)
      (single_quoted_string
        (escape_sequence)
        (escape_sequence))))
  (env_instruction
    (env_pair
      (unquoted_string)
      (single_quoted_string
        (escape_sequence))))
  (env_instruction
    (env_pair
      (unquoted_string)
      (single_quoted_string))))

==========================
Unquoted strings
==========================

ENV KEY value
ENV KEY two\ words
ENV KEY conti\
nue
ENV KEY $FOO${BAR}baz

---

(source_file
  (env_instruction
    (env_pair
      (unquoted_string)
      (unquoted_string)))
  (env_instruction
    (env_pair
      (unquoted_string)
      (unquoted_string)))
  (env_instruction
    (env_pair
      (unquoted_string)
      (unquoted_string
        (line_continuation))))
  (env_instruction
    (env_pair
      (unquoted_string)
      (unquoted_string
        (expansion
          (variable))
        (expansion
          (variable))))))
