SHELL_SCRIPT
  COMMANDS_LIST
    FUNCTION_DEFINITION
      PsiElement(word)('dump-host-id')
      PsiElement(()('(')
      PsiElement())(')')
      PsiWhiteSpace(' ')
      BLOCK
        PsiElement({)('{')
        COMPOUND_LIST
          PsiElement(\n)('\n')
          PsiWhiteSpace('  ')
          COMMAND
            SHELL_COMMAND
              BLOCK
                PsiElement({)('{')
                COMPOUND_LIST
                  PsiElement(\n)('\n')
                  PsiWhiteSpace('    ')
                  SIMPLE_COMMAND
                    GENERIC_COMMAND_DIRECTIVE
                      LITERAL
                        PsiElement(word)('echo')
                    PsiWhiteSpace(' ')
                    STRING
                      PsiElement(OPEN_QUOTE)('"')
                      PsiElement(STRING_CONTENT)('Dummy text')
                      PsiElement(CLOSE_QUOTE)('"')
                  PsiElement(\n)('\n')
                PsiWhiteSpace('  ')
                PsiElement(})('}')
            PsiWhiteSpace(' ')
            REDIRECTION
              PsiElement(>)('>')
              PsiWhiteSpace(' ')
              VARIABLE
                PsiElement(var)('$out_dir')
              PsiElement(word)('/kernel.txt')
          PsiElement(\n)('\n')
        PsiElement(})('}')
  PsiElement(\n)('\n')
  PsiElement(\n)('\n')
  COMMANDS_LIST
    SIMPLE_COMMAND
      GENERIC_COMMAND_DIRECTIVE
        VARIABLE
          PsiElement(var)('$1')
      PsiWhiteSpace(' ')
      SIMPLE_COMMAND_ELEMENT
        REDIRECTION
          PsiElement(>)('>')
          PsiWhiteSpace(' ')
          PROCESS_SUBSTITUTION
            PsiElement(>()('>(')
            COMPOUND_LIST
              SIMPLE_COMMAND
                GENERIC_COMMAND_DIRECTIVE
                  LITERAL
                    PsiElement(word)('sed')
                PsiWhiteSpace(' ')
                STRING
                  PsiElement(RAW_STRING)(''s/^/OUTPUT  : /'')
            PsiElement())(')')
      PsiWhiteSpace(' ')
      SIMPLE_COMMAND_ELEMENT
        REDIRECTION
          NUMBER
            PsiElement(int)('2')
          PsiElement(>)('>')
          PsiWhiteSpace(' ')
          PROCESS_SUBSTITUTION
            PsiElement(>()('>(')
            COMPOUND_LIST
              SIMPLE_COMMAND
                GENERIC_COMMAND_DIRECTIVE
                  LITERAL
                    PsiElement(word)('sed')
                PsiWhiteSpace(' ')
                STRING
                  PsiElement(RAW_STRING)(''s/^/OUTPUT  : /'')
                PsiWhiteSpace(' ')
                SIMPLE_COMMAND_ELEMENT
                  REDIRECTION
                    PsiElement(>&)('>&')
                    NUMBER
                      PsiElement(int)('2')
            PsiElement())(')')