SHELL_SCRIPT
  COMMANDS_LIST
    PIPELINE_COMMAND
      PIPELINE
        FOR_COMMAND
          PsiElement(for)('for')
          PsiWhiteSpace(' ')
          FOR_CLAUSE
            PsiElement(word)('a')
            PsiWhiteSpace(' ')
            PsiElement(word)('in')
            PsiWhiteSpace(' ')
            PsiElement($)('$')
            SUBSHELL_COMMAND
              PsiElement(()('(')
              COMPOUND_LIST
                PIPELINE_COMMAND
                  PIPELINE
                    GENERIC_COMMAND_DIRECTIVE
                      PsiElement(word)('a')
              PsiElement())(')')
            LIST_TERMINATOR
              PsiElement(;)(';')
          PsiWhiteSpace(' ')
          DO_BLOCK
            PsiElement(do)('do')
            PsiWhiteSpace(' ')
            COMPOUND_LIST
              PIPELINE_COMMAND
                PIPELINE
                  SIMPLE_COMMAND
                    GENERIC_COMMAND_DIRECTIVE
                      PsiElement(word)('echo')
                    PsiWhiteSpace(' ')
                    SIMPLE_COMMAND_ELEMENT
                      PsiElement(word)('a')
              PsiElement(;)(';')
            PsiWhiteSpace(' ')
            PsiElement(done)('done')
    PsiElement(;)(';')