SHELL_SCRIPT
  COMMANDS_LIST
    COMMAND_SUBSTITUTION_COMMAND
      PsiElement(OPEN_BACKQUOTE)('`')
      COMPOUND_LIST
        GENERIC_COMMAND_DIRECTIVE
          LITERAL
            PsiElement(word)('a')
      PsiElement(CLOSE_BACKQUOTE)('`')
  PsiElement(\n)('\n')
  COMMANDS_LIST
    SIMPLE_COMMAND
      COMMAND_SUBSTITUTION_COMMAND
        PsiElement(OPEN_BACKQUOTE)('`')
        COMPOUND_LIST
          GENERIC_COMMAND_DIRECTIVE
            LITERAL
              PsiElement(word)('echo')
        PsiElement(CLOSE_BACKQUOTE)('`')
      PsiWhiteSpace(' ')
      LITERAL
        PsiElement(word)('echo')
      PsiWhiteSpace(' ')
      LITERAL
        PsiElement(word)('a')
      PsiWhiteSpace(' ')
      SIMPLE_COMMAND_ELEMENT
        COMMAND_SUBSTITUTION_COMMAND
          PsiElement(OPEN_BACKQUOTE)('`')
          PsiElement(CLOSE_BACKQUOTE)('`')
  PsiElement(\n)('\n')
  PsiComment(Comment)('#invalid: ``echo a`')
  PsiElement(\n)('\n')
  COMMANDS_LIST
    SIMPLE_COMMAND
      COMMAND_SUBSTITUTION_COMMAND
        PsiElement(OPEN_BACKQUOTE)('`')
        COMPOUND_LIST
          GENERIC_COMMAND_DIRECTIVE
            LITERAL
              PsiElement(word)('echo')
        PsiElement(CLOSE_BACKQUOTE)('`')
      PsiWhiteSpace(' ')
      SIMPLE_COMMAND_ELEMENT
        COMMAND_SUBSTITUTION_COMMAND
          PsiElement(OPEN_BACKQUOTE)('`')
          COMPOUND_LIST
            SIMPLE_COMMAND
              GENERIC_COMMAND_DIRECTIVE
                LITERAL
                  PsiElement(word)('echo')
              PsiWhiteSpace(' ')
              LITERAL
                PsiElement(word)('a')
          PsiElement(CLOSE_BACKQUOTE)('`')
  PsiElement(\n)('\n')
  COMMANDS_LIST
    SIMPLE_COMMAND
      COMMAND_SUBSTITUTION_COMMAND
        PsiElement(OPEN_BACKQUOTE)('`')
        PsiElement(CLOSE_BACKQUOTE)('`')
      LITERAL
        PsiElement(word)('echo')
      PsiWhiteSpace(' ')
      LITERAL
        PsiElement(word)('a')
      SIMPLE_COMMAND_ELEMENT
        COMMAND_SUBSTITUTION_COMMAND
          PsiElement(OPEN_BACKQUOTE)('`')
          PsiElement(CLOSE_BACKQUOTE)('`')
  PsiElement(\n)('\n')
  COMMANDS_LIST
    COMMAND_SUBSTITUTION_COMMAND
      PsiElement(OPEN_BACKQUOTE)('`')
      PsiElement(CLOSE_BACKQUOTE)('`')
  PsiElement(\n)('\n')
  COMMANDS_LIST
    SIMPLE_COMMAND
      COMMAND_SUBSTITUTION_COMMAND
        PsiElement(OPEN_BACKQUOTE)('`')
        PsiElement(CLOSE_BACKQUOTE)('`')
      SIMPLE_COMMAND_ELEMENT
        COMMAND_SUBSTITUTION_COMMAND
          PsiElement(OPEN_BACKQUOTE)('`')
          PsiElement(CLOSE_BACKQUOTE)('`')
  PsiElement(\n)('\n')
  COMMANDS_LIST
    SIMPLE_COMMAND
      COMMAND_SUBSTITUTION_COMMAND
        PsiElement(OPEN_BACKQUOTE)('`')
        PsiElement(CLOSE_BACKQUOTE)('`')
      SIMPLE_COMMAND_ELEMENT
        COMMAND_SUBSTITUTION_COMMAND
          PsiElement(OPEN_BACKQUOTE)('`')
          PsiElement(CLOSE_BACKQUOTE)('`')
      SIMPLE_COMMAND_ELEMENT
        COMMAND_SUBSTITUTION_COMMAND
          PsiElement(OPEN_BACKQUOTE)('`')
          PsiElement(CLOSE_BACKQUOTE)('`')
  PsiElement(\n)('\n')
  COMMANDS_LIST
    COMMAND_SUBSTITUTION_COMMAND
      PsiElement(OPEN_BACKQUOTE)('`')
      PsiErrorElement:<list> or CLOSE_BACKQUOTE expected
        <empty list>