SHELL_SCRIPT
  COMMANDS_LIST
    FOR_COMMAND
      PsiElement(for)('for')
      PsiWhiteSpace(' ')
      FOR_CLAUSE
        PsiElement(word)('a')
        PsiWhiteSpace(' ')
        PsiElement(in)('in')
        PsiWhiteSpace(' ')
        PsiElement(word)('a')
        PsiWhiteSpace(' ')
        PsiElement(word)('b')
        PsiWhiteSpace(' ')
        PsiElement(word)('c')
        LIST_TERMINATOR
          PsiElement(;)(';')
      PsiWhiteSpace(' ')
      DO_BLOCK
        PsiElement(do)('do')
        PsiWhiteSpace(' ')
        COMPOUND_LIST
          SIMPLE_COMMAND
            GENERIC_COMMAND_DIRECTIVE
              LITERAL
                PsiElement(word)('echo')
            PsiWhiteSpace(' ')
            LITERAL
              PsiElement(word)('a')
          PsiElement(;)(';')
        PsiWhiteSpace(' ')
        PsiElement(done)('done')
  PsiElement(\n)('\n')
  PsiElement(\n)('\n')
  COMMANDS_LIST
    FOR_COMMAND
      PsiElement(for)('for')
      PsiWhiteSpace(' ')
      FOR_CLAUSE
        PsiElement(word)('a')
        PsiElement(;)(';')
        PsiElement(\n)('\n')
      PsiWhiteSpace(' ')
      BLOCK
        PsiElement({)('{')
        PsiWhiteSpace(' ')
        COMPOUND_LIST
          SIMPLE_COMMAND
            GENERIC_COMMAND_DIRECTIVE
              LITERAL
                PsiElement(word)('echo')
            PsiWhiteSpace(' ')
            LITERAL
              PsiElement(word)('a')
          PsiElement(\n)('\n')
        PsiWhiteSpace(' ')
        PsiElement(})('}')
  PsiElement(\n)('\n')
  PsiElement(\n)('\n')
  COMMANDS_LIST
    FOR_COMMAND
      PsiElement(for)('for')
      PsiWhiteSpace(' ')
      FOR_CLAUSE
        PsiElement(word)('a')
        PsiElement(;)(';')
        PsiElement(\n)('\n')
      PsiWhiteSpace(' ')
      BLOCK
        PsiElement({)('{')
        PsiWhiteSpace(' ')
        COMPOUND_LIST
          SIMPLE_COMMAND
            GENERIC_COMMAND_DIRECTIVE
              LITERAL
                PsiElement(word)('echo')
            PsiWhiteSpace(' ')
            LITERAL
              PsiElement(word)('a')
          PsiElement(\n)('\n')
        PsiWhiteSpace(' ')
        PsiElement(})('}')
  PsiElement(\n)('\n')
  PsiElement(\n)('\n')
  COMMANDS_LIST
    FOR_COMMAND
      PsiElement(for)('for')
      PsiWhiteSpace(' ')
      FOR_CLAUSE
        PsiElement(word)('a')
        PsiWhiteSpace(' ')
        PsiElement(in)('in')
        PsiWhiteSpace(' ')
        PsiElement($)('$')
        SUBSHELL_COMMAND
          PsiElement(()('(')
          COMPOUND_LIST
            GENERIC_COMMAND_DIRECTIVE
              LITERAL
                PsiElement(word)('a')
          PsiElement())(')')
        LIST_TERMINATOR
          PsiElement(;)(';')
      PsiWhiteSpace(' ')
      DO_BLOCK
        PsiElement(do)('do')
        PsiWhiteSpace(' ')
        COMPOUND_LIST
          SIMPLE_COMMAND
            GENERIC_COMMAND_DIRECTIVE
              LITERAL
                PsiElement(word)('echo')
            PsiWhiteSpace(' ')
            LITERAL
              PsiElement(word)('a')
          PsiElement(;)(';')
        PsiWhiteSpace(' ')
        PsiElement(done)('done')
    PsiElement(;)(';')