=======================================
Command substitution used as simple arg $(
=======================================

echo $(p8 10)

---

(statements
  (arged_stmt
    command: (cmd_identifier)
    args: (args
      (arg
        (cmd_substitution_arg
          (arged_stmt
            command: (cmd_identifier)
            args: (args
              (arg
                (arg_identifier)))))))))

=======================================
Command substitution with multiple statements
=======================================

echo $(p8 10; p8 4 @ 0xdeadbeef)

---

(statements
  (arged_stmt
    command: (cmd_identifier)
    args: (args
      (arg
        (cmd_substitution_arg
          (arged_stmt
            command: (cmd_identifier)
            args: (args
              (arg
                (arg_identifier))))
          (tmp_stmt
            (arged_stmt
              command: (cmd_identifier)
              args: (args
                (arg
                  (arg_identifier))))
            (tmp_seek_op
              (args
                (arg
                  (arg_identifier))))))))))

=======================================
Command substitution used as simple arg `
=======================================

echo `p8 10`

---

(statements
  (arged_stmt
    command: (cmd_identifier)
    args: (args
      (arg
        (cmd_substitution_arg
          (arged_stmt
            command: (cmd_identifier)
            args: (args
              (arg
                (arg_identifier)))))))))

=======================================
Nested command substitution
=======================================

echo $(p8 $(echo 10))

---

(statements
  (arged_stmt
    command: (cmd_identifier)
    args: (args
      (arg
        (cmd_substitution_arg
          (arged_stmt
            command: (cmd_identifier)
            args: (args
              (arg
                (cmd_substitution_arg
                  (arged_stmt
                    command: (cmd_identifier)
                    args: (args
                      (arg
                        (arg_identifier)))))))))))))

=======================================
Nested command substitution 2
=======================================

echo Hello$(echo Wor$(echo ld))

---

(statements
  (arged_stmt
    (cmd_identifier)
    (args
      (arg
        (concatenation
          (arg_identifier)
          (cmd_substitution_arg
            (arged_stmt
              (cmd_identifier)
              (args
                (arg
                  (concatenation
                    (arg_identifier)
                    (cmd_substitution_arg
                      (arged_stmt
                        (cmd_identifier)
                        (args
                          (arg
                            (arg_identifier)))))))))))))))
