SHELL_SCRIPT
  COMMANDS_LIST
    ASSIGNMENT_COMMAND
      LITERAL
        PsiElement(word)('Message')
      PsiElement(=)('=')
      STRING
        PsiElement(OPEN_QUOTE)('"')
        PsiElement(STRING_CONTENT)('Start thinking about cleaning out some stuff.  Theres a partition that is space  full.')
        PsiElement(CLOSE_QUOTE)('"')
  PsiElement(\n)('\n')
  PsiElement(\n)('\n')
  PsiElement(\n)('\n')
  COMMANDS_LIST
    SIMPLE_COMMAND
      GENERIC_COMMAND_DIRECTIVE
        LITERAL
          PsiElement(word)('echo')
      PsiWhiteSpace(' ')
      NUMBER
        PsiElement(int)('1')
  PsiElement(\n)('\n')
  PsiElement(\n)('\n')
  PsiElement(\n)('\n')
  COMMANDS_LIST
    ASSIGNMENT_COMMAND
      LITERAL
        PsiElement(word)('file')
      PsiElement(=)('=')
      STRING
        PsiElement(OPEN_QUOTE)('"')
        PsiElement(STRING_CONTENT)('foo')
        PsiElement(CLOSE_QUOTE)('"')
  PsiElement(\n)('\n')
  PsiElement(\n)('\n')
  COMMANDS_LIST
    CASE_COMMAND
      PsiElement(case)('case')
      PsiWhiteSpace(' ')
      VARIABLE
        PsiElement(var)('$space')
      PsiWhiteSpace(' ')
      PsiElement(in)('in')
      CASE_CLAUSE
        PsiElement(\n)('\n')
        PATTERN
          PsiElement(word)('[1-6]*')
        PsiElement())(')')
        PsiElement(\n)('\n')
        PsiWhiteSpace('  ')
        COMPOUND_LIST
          ASSIGNMENT_COMMAND
            LITERAL
              PsiElement(word)('Message')
            PsiElement(=)('=')
            STRING
              PsiElement(OPEN_QUOTE)('"')
              PsiElement(STRING_CONTENT)('All is quiet.')
              PsiElement(CLOSE_QUOTE)('"')
          PsiElement(\n)('\n')
      PsiWhiteSpace('  ')
      PsiElement(;;)(';;')
      CASE_CLAUSE
        PsiElement(\n)('\n')
        PATTERN
          PsiElement(word)('[7-8]*')
        PsiElement())(')')
        PsiElement(\n)('\n')
        PsiWhiteSpace('  ')
        COMPOUND_LIST
          ASSIGNMENT_COMMAND
            LITERAL
              PsiElement(word)('Message')
            PsiElement(=)('=')
            STRING
              PsiElement(OPEN_QUOTE)('"')
              PsiElement(STRING_CONTENT)('Start thinking about cleaning out some stuff.  Theres a partition that is ')
              VARIABLE
                PsiElement(var)('$space')
              PsiElement(STRING_CONTENT)(' % full.')
              PsiElement(CLOSE_QUOTE)('"')
          PsiElement(\n)('\n')
      PsiWhiteSpace('  ')
      PsiElement(;;)(';;')
      CASE_CLAUSE
        PsiElement(\n)('\n')
        PATTERN
          PsiElement(word)('9[1-8]')
        PsiElement())(')')
        PsiElement(\n)('\n')
        PsiWhiteSpace('  ')
        COMPOUND_LIST
          ASSIGNMENT_COMMAND
            LITERAL
              PsiElement(word)('Message')
            PsiElement(=)('=')
            STRING
              PsiElement(OPEN_QUOTE)('"')
              PsiElement(STRING_CONTENT)('Better hurry with that new disk...  One partition is ')
              VARIABLE
                PsiElement(var)('$space')
              PsiElement(STRING_CONTENT)(' % full.')
              PsiElement(CLOSE_QUOTE)('"')
          PsiElement(\n)('\n')
      PsiWhiteSpace('  ')
      PsiElement(;;)(';;')
      CASE_CLAUSE
        PsiElement(\n)('\n')
        PATTERN
          PsiElement(word)('99')
        PsiElement())(')')
        PsiElement(\n)('\n')
        PsiWhiteSpace('  ')
        COMPOUND_LIST
          ASSIGNMENT_COMMAND
            LITERAL
              PsiElement(word)('Message')
            PsiElement(=)('=')
            STRING
              PsiElement(OPEN_QUOTE)('"')
              PsiElement(STRING_CONTENT)('I'm drowning here!  There's a partition at ')
              VARIABLE
                PsiElement(var)('$space')
              PsiElement(STRING_CONTENT)(' %!')
              PsiElement(CLOSE_QUOTE)('"')
          PsiElement(\n)('\n')
      PsiWhiteSpace('  ')
      PsiElement(;;)(';;')
      CASE_CLAUSE
        PsiElement(\n)('\n')
        PATTERN
          PsiElement(word)('*')
        PsiElement())(')')
        PsiElement(\n)('\n')
        PsiWhiteSpace('  ')
        COMPOUND_LIST
          ASSIGNMENT_COMMAND
            LITERAL
              PsiElement(word)('Message')
            PsiElement(=)('=')
            STRING
              PsiElement(OPEN_QUOTE)('"')
              PsiElement(STRING_CONTENT)('I seem to be running with an nonexistent amount of disk space...')
              PsiElement(CLOSE_QUOTE)('"')
          PsiElement(\n)('\n')
      PsiWhiteSpace('  ')
      PsiElement(;;)(';;')
      PsiElement(\n)('\n')
      PsiElement(esac)('esac')
  PsiElement(\n)('\n')
  PsiElement(\n)('\n')
  COMMANDS_LIST
    CASE_COMMAND
      PsiElement(case)('case')
      PsiWhiteSpace(' ')
      STRING
        PsiElement(OPEN_QUOTE)('"')
        VARIABLE
          PsiElement(var)('$TARGET_CARD')
        PsiElement(CLOSE_QUOTE)('"')
      PsiWhiteSpace(' ')
      PsiElement(in)('in')
      CASE_CLAUSE
        PsiElement(\n)('\n')
        PsiWhiteSpace('    ')
        PATTERN
          STRING
            PsiElement(OPEN_QUOTE)('"')
            PsiElement(CLOSE_QUOTE)('"')
          PsiWhiteSpace(' ')
          PsiElement(|)('|')
          PsiWhiteSpace(' ')
          PsiElement(word)('all')
        PsiElement())(')')
        PsiWhiteSpace(' ')
        COMPOUND_LIST
          ASSIGNMENT_COMMAND
            LITERAL
              PsiElement(word)('TARGET_CARD')
            PsiElement(=)('=')
            LITERAL
              PsiElement(word)('all')
          PsiElement(;)(';')
          PsiElement(\n)('\n')
          PsiWhiteSpace('    ')
          SIMPLE_COMMAND
            GENERIC_COMMAND_DIRECTIVE
              LITERAL
                PsiElement(word)('log_action_begin_msg')
            PsiWhiteSpace(' ')
            STRING
              PsiElement(OPEN_QUOTE)('"')
              PsiElement(STRING_CONTENT)('Setting up ALSA')
              PsiElement(CLOSE_QUOTE)('"')
      PsiWhiteSpace(' ')
      PsiElement(;;)(';;')
      PsiElement(\n)('\n')
      PsiElement(esac)('esac')
  PsiElement(\n)('\n')
  PsiElement(\n)('\n')
  COMMANDS_LIST
    CASE_COMMAND
      PsiElement(case)('case')
      PsiWhiteSpace(' ')
      VARIABLE
        PsiElement(var)('$-')
      PsiElement(word)(':')
      VARIABLE
        PsiElement(var)('$BASH_VERSION')
      PsiWhiteSpace(' ')
      PsiElement(in)('in')
      CASE_CLAUSE
        PsiElement(\n)('\n')
        PATTERN
          PsiElement(word)('*x*:[0123456789]*')
        PsiElement())(')')
        PsiWhiteSpace('\t')
        COMPOUND_LIST
          PIPELINE_COMMAND_LIST
            SIMPLE_COMMAND
              GENERIC_COMMAND_DIRECTIVE
                LITERAL
                  PsiElement(word)(':')
              PsiWhiteSpace(' ')
              LITERAL
                PsiElement(word)('bash')
              PsiWhiteSpace(' ')
              LITERAL
                PsiElement(word)('set')
              PsiWhiteSpace(' ')
              LITERAL
                PsiElement(word)('-x')
              PsiWhiteSpace(' ')
              LITERAL
                PsiElement(word)('is')
              PsiWhiteSpace(' ')
              LITERAL
                PsiElement(word)('broken')
              PsiWhiteSpace(' ')
              LITERAL
                PsiElement(word)(':')
            PsiElement(;)(';')
            PsiWhiteSpace(' ')
            SIMPLE_COMMAND
              GENERIC_COMMAND_DIRECTIVE
                LITERAL
                  PsiElement(word)('set')
              PsiWhiteSpace(' ')
              LITERAL
                PsiElement(word)('+ex')
      PsiWhiteSpace(' ')
      PsiElement(;;)(';;')
      PsiElement(\n)('\n')
      PsiElement(esac)('esac')
  PsiElement(\n)('\n')
  PsiElement(\n)('\n')
  COMMANDS_LIST
    CASE_COMMAND
      PsiElement(case)('case')
      PsiWhiteSpace(' ')
      PsiElement(word)(':')
      PsiElement($)('$')
      SHELL_PARAMETER_EXPANSION
        PsiElement({)('{')
        PsiElement(word)('lib_path1')
        PsiElement(})('}')
      PsiElement(word)(':')
      PsiWhiteSpace('        ')
      PsiElement(in)('in')
      CASE_CLAUSE
        PsiElement(\n)('\n')
        PsiWhiteSpace('  ')
        PATTERN
          PsiElement(word)('*:')
          PsiElement($)('$')
          SHELL_PARAMETER_EXPANSION
            PsiElement({)('{')
            PsiElement(word)('lib')
            PsiElement(})('}')
          PsiElement(word)(':*')
        PsiElement())(')')
      PsiWhiteSpace(' ')
      PsiElement(;;)(';;')
      CASE_CLAUSE
        PsiElement(\n)('\n')
        PsiWhiteSpace('  ')
        PATTERN
          PsiElement(word)('*')
        PsiElement())(')')
        PsiWhiteSpace(' ')
        COMPOUND_LIST
          ASSIGNMENT_COMMAND
            LITERAL
              PsiElement(word)('lib_path1')
            PsiElement(=)('=')
            PsiElement($)('$')
            SHELL_PARAMETER_EXPANSION
              PsiElement({)('{')
              PsiElement(word)('lib_path1')
              PsiElement(})('}')
            LITERAL
              PsiElement(word)(':')
            PsiElement($)('$')
            SHELL_PARAMETER_EXPANSION
              PsiElement({)('{')
              PsiElement(word)('lib')
              PsiElement(})('}')
      PsiWhiteSpace(' ')
      PsiElement(;;)(';;')
      PsiElement(\n)('\n')
      PsiElement(esac)('esac')
  PsiElement(\n)('\n')
  PsiElement(\n)('\n')
  COMMANDS_LIST
    CASE_COMMAND
      PsiElement(case)('case')
      PsiWhiteSpace(' ')
      PsiElement(word)('x')
      COMMAND_SUBSTITUTION_COMMAND
        PsiElement(OPEN_BACKQUOTE)('`')
        COMPOUND_LIST
          SIMPLE_COMMAND
            GENERIC_COMMAND_DIRECTIVE
              LITERAL
                PsiElement(word)('uname')
            PsiWhiteSpace(' ')
            LITERAL
              PsiElement(word)('-r')
        PsiElement(CLOSE_BACKQUOTE)('`')
      PsiWhiteSpace(' ')
      PsiElement(in)('in')
      CASE_CLAUSE
        PsiElement(\n)('\n')
        PATTERN
          PsiElement(word)('x1.*')
        PsiElement())(')')
        PsiElement(\n)('\n')
        PsiWhiteSpace('\t')
        COMPOUND_LIST
          ASSIGNMENT_COMMAND
            LITERAL
              PsiElement(word)('WHICH_LINUX')
            PsiElement(=)('=')
            LITERAL
              PsiElement(word)('linux-c')
          PsiElement(\n)('\n')
      PsiWhiteSpace('\t')
      PsiElement(;;)(';;')
      PsiElement(\n)('\n')
      PsiElement(esac)('esac')
  PsiElement(\n)('\n')
  PsiElement(\n)('\n')
  COMMANDS_LIST
    CASE_COMMAND
      PsiElement(case)('case')
      PsiWhiteSpace(' ')
      PsiElement(word)('x')
      VARIABLE
        PsiElement(var)('$WHICH_LINUX')
      PsiWhiteSpace(' ')
      PsiElement(in)('in')
      PsiWhiteSpace(' ')
      PsiComment(Comment)('#(vi')
      CASE_CLAUSE
        PsiElement(\n)('\n')
        PATTERN
          PsiElement(word)('xauto')
        PsiElement())(')')
        PsiElement(\n)('\n')
        PsiWhiteSpace('\t')
        COMPOUND_LIST
          SIMPLE_COMMAND
            ASSIGNMENT_COMMAND
              LITERAL
                PsiElement(word)('system')
              PsiElement(=)('=')
            SIMPLE_COMMAND_ELEMENT
              COMMAND_SUBSTITUTION_COMMAND
                PsiElement(OPEN_BACKQUOTE)('`')
                COMPOUND_LIST
                  SIMPLE_COMMAND
                    GENERIC_COMMAND_DIRECTIVE
                      LITERAL
                        PsiElement(word)('uname')
                    PsiWhiteSpace(' ')
                    LITERAL
                      PsiElement(word)('-s')
                    PsiWhiteSpace(' ')
                    SIMPLE_COMMAND_ELEMENT
                      REDIRECTION
                        NUMBER
                          PsiElement(int)('2')
                        PsiElement(>)('>')
                        PsiElement(word)('/dev/null')
                PsiElement(CLOSE_BACKQUOTE)('`')
          PsiElement(\n)('\n')
      PsiWhiteSpace('\t')
      PsiElement(;;)(';;')
      PsiElement(\n)('\n')
      PsiElement(esac)('esac')
  PsiElement(\n)('\n')
  PsiElement(\n)('\n')
  COMMANDS_LIST
    CASE_COMMAND
      PsiElement(case)('case')
      PsiWhiteSpace(' ')
      COMMAND_SUBSTITUTION_COMMAND
        PsiElement(OPEN_BACKQUOTE)('`')
        COMPOUND_LIST
          COMMAND
            SUBSHELL_COMMAND
              PsiElement(()('(')
              COMPOUND_LIST
                PIPELINE_COMMAND_LIST
                  SIMPLE_COMMAND
                    GENERIC_COMMAND_DIRECTIVE
                      LITERAL
                        PsiElement(word)('typeset')
                    PsiWhiteSpace(' ')
                    LITERAL
                      PsiElement(word)('-u')
                    PsiWhiteSpace(' ')
                    SIMPLE_COMMAND_ELEMENT
                      ASSIGNMENT_COMMAND
                        LITERAL
                          PsiElement(word)('s')
                        PsiElement(=)('=')
                        LITERAL
                          PsiElement(word)('a')
                    PsiWhiteSpace(' ')
                    SIMPLE_COMMAND_ELEMENT
                      ASSIGNMENT_COMMAND
                        LITERAL
                          PsiElement(word)('n')
                        PsiElement(=)('=')
                        NUMBER
                          PsiElement(int)('0')
                  PsiElement(;)(';')
                  PsiWhiteSpace(' ')
                  SHELL_COMMAND
                    ARITHMETIC_EXPANSION
                      PsiElement(()('(')
                      PsiElement(()('(')
                      ASSIGNMENT_EXPRESSION
                        LITERAL_EXPRESSION
                          PsiElement(word)('n')
                        PsiElement(=)('=')
                        ADD_EXPRESSION
                          LITERAL_EXPRESSION
                            PsiElement(word)('n')
                          PsiElement(+)('+')
                          LITERAL_EXPRESSION
                            NUMBER
                              PsiElement(int)('1')
                      PsiElement())(')')
                      PsiElement())(')')
                  PsiElement(;)(';')
                  PsiWhiteSpace(' ')
                  SIMPLE_COMMAND
                    GENERIC_COMMAND_DIRECTIVE
                      LITERAL
                        PsiElement(word)('print')
                    PsiWhiteSpace(' ')
                    VARIABLE
                      PsiElement(var)('$s')
                    VARIABLE
                      PsiElement(var)('$n')
              PsiElement())(')')
            PsiWhiteSpace(' ')
            REDIRECTION
              NUMBER
                PsiElement(int)('2')
              PsiElement(>)('>')
              PsiElement(word)('/dev/null')
        PsiElement(CLOSE_BACKQUOTE)('`')
      PsiWhiteSpace(' ')
      PsiElement(in)('in')
      CASE_CLAUSE
        PsiElement(\n)('\n')
        PATTERN
          PsiElement(word)('A1')
        PsiElement())(')')
        PsiWhiteSpace('\t')
        COMPOUND_LIST
          ASSIGNMENT_COMMAND
            LITERAL
              PsiElement(word)('shell')
            PsiElement(=)('=')
            LITERAL
              PsiElement(word)('ksh')
          PsiElement(\n)('\n')
          PsiWhiteSpace('\t')
          SIMPLE_COMMAND
            GENERIC_COMMAND_DIRECTIVE
              LITERAL
                PsiElement(word)('typeset')
            PsiWhiteSpace(' ')
            LITERAL
              PsiElement(word)('-u')
            PsiWhiteSpace(' ')
            LITERAL
              PsiElement(word)('ID')
          PsiElement(\n)('\n')
          PsiWhiteSpace('\t')
          SIMPLE_COMMAND
            GENERIC_COMMAND_DIRECTIVE
              LITERAL
                PsiElement(word)('typeset')
            PsiWhiteSpace(' ')
            LITERAL
              PsiElement(word)('-i')
            PsiWhiteSpace(' ')
            LITERAL
              PsiElement(word)('counter')
            PsiWhiteSpace(' ')
            LITERAL
              PsiElement(word)('err_line')
          PsiElement(\n)('\n')
      PsiWhiteSpace('\t')
      PsiElement(;;)(';;')
      CASE_CLAUSE
        PsiElement(\n)('\n')
        PATTERN
          PsiElement(word)('*')
        PsiElement())(')')
        PsiWhiteSpace('\t')
        COMPOUND_LIST
          ASSIGNMENT_COMMAND
            LITERAL
              PsiElement(word)('shell')
            PsiElement(=)('=')
            LITERAL
              PsiElement(word)('bsh')
          PsiElement(\n)('\n')
      PsiWhiteSpace('\t')
      PsiElement(;;)(';;')
      PsiElement(\n)('\n')
      PsiElement(esac)('esac')
  PsiElement(\n)('\n')
  PsiElement(\n)('\n')
  COMMANDS_LIST
    FUNCTION_DEFINITION
      PsiElement(word)('monthnoToName')
      PsiElement(()('(')
      PsiElement())(')')
      PsiElement(\n)('\n')
      BLOCK
        PsiElement({)('{')
        COMPOUND_LIST
          PsiElement(\n)('\n')
          PsiWhiteSpace('  ')
          PsiComment(Comment)('# sets the variable 'month' to the appropriate value')
          PsiElement(\n)('\n')
          PsiWhiteSpace('  ')
          CASE_COMMAND
            PsiElement(case)('case')
            PsiWhiteSpace(' ')
            VARIABLE
              PsiElement(var)('$1')
            PsiWhiteSpace(' ')
            PsiElement(in)('in')
            CASE_CLAUSE
              PsiElement(\n)('\n')
              PsiWhiteSpace('    ')
              PATTERN
                PsiElement(word)('1')
              PsiWhiteSpace(' ')
              PsiElement())(')')
              PsiWhiteSpace(' ')
              COMPOUND_LIST
                ASSIGNMENT_COMMAND
                  LITERAL
                    PsiElement(word)('month')
                  PsiElement(=)('=')
                  STRING
                    PsiElement(OPEN_QUOTE)('"')
                    PsiElement(STRING_CONTENT)('Jan')
                    PsiElement(CLOSE_QUOTE)('"')
            PsiWhiteSpace('    ')
            PsiElement(;;)(';;')
            PsiWhiteSpace('  ')
            CASE_CLAUSE
              PATTERN
                PsiElement(word)('2')
              PsiWhiteSpace(' ')
              PsiElement())(')')
              PsiWhiteSpace(' ')
              COMPOUND_LIST
                ASSIGNMENT_COMMAND
                  LITERAL
                    PsiElement(word)('month')
                  PsiElement(=)('=')
                  STRING
                    PsiElement(OPEN_QUOTE)('"')
                    PsiElement(STRING_CONTENT)('Feb')
                    PsiElement(CLOSE_QUOTE)('"')
            PsiWhiteSpace('    ')
            PsiElement(;;)(';;')
            CASE_CLAUSE
              PsiElement(\n)('\n')
              PsiWhiteSpace('    ')
              PATTERN
                PsiElement(word)('3')
              PsiWhiteSpace(' ')
              PsiElement())(')')
              PsiWhiteSpace(' ')
              COMPOUND_LIST
                ASSIGNMENT_COMMAND
                  LITERAL
                    PsiElement(word)('month')
                  PsiElement(=)('=')
                  STRING
                    PsiElement(OPEN_QUOTE)('"')
                    PsiElement(STRING_CONTENT)('Mar')
                    PsiElement(CLOSE_QUOTE)('"')
            PsiWhiteSpace('    ')
            PsiElement(;;)(';;')
            PsiWhiteSpace('  ')
            CASE_CLAUSE
              PATTERN
                PsiElement(word)('4')
              PsiWhiteSpace(' ')
              PsiElement())(')')
              PsiWhiteSpace(' ')
              COMPOUND_LIST
                ASSIGNMENT_COMMAND
                  LITERAL
                    PsiElement(word)('month')
                  PsiElement(=)('=')
                  STRING
                    PsiElement(OPEN_QUOTE)('"')
                    PsiElement(STRING_CONTENT)('Apr')
                    PsiElement(CLOSE_QUOTE)('"')
            PsiWhiteSpace('    ')
            PsiElement(;;)(';;')
            CASE_CLAUSE
              PsiElement(\n)('\n')
              PsiWhiteSpace('    ')
              PATTERN
                PsiElement(word)('5')
              PsiWhiteSpace(' ')
              PsiElement())(')')
              PsiWhiteSpace(' ')
              COMPOUND_LIST
                ASSIGNMENT_COMMAND
                  LITERAL
                    PsiElement(word)('month')
                  PsiElement(=)('=')
                  STRING
                    PsiElement(OPEN_QUOTE)('"')
                    PsiElement(STRING_CONTENT)('May')
                    PsiElement(CLOSE_QUOTE)('"')
            PsiWhiteSpace('    ')
            PsiElement(;;)(';;')
            PsiWhiteSpace('  ')
            CASE_CLAUSE
              PATTERN
                PsiElement(word)('6')
              PsiWhiteSpace(' ')
              PsiElement())(')')
              PsiWhiteSpace(' ')
              COMPOUND_LIST
                ASSIGNMENT_COMMAND
                  LITERAL
                    PsiElement(word)('month')
                  PsiElement(=)('=')
                  STRING
                    PsiElement(OPEN_QUOTE)('"')
                    PsiElement(STRING_CONTENT)('Jun')
                    PsiElement(CLOSE_QUOTE)('"')
            PsiWhiteSpace('    ')
            PsiElement(;;)(';;')
            CASE_CLAUSE
              PsiElement(\n)('\n')
              PsiWhiteSpace('    ')
              PATTERN
                PsiElement(word)('7')
              PsiWhiteSpace(' ')
              PsiElement())(')')
              PsiWhiteSpace(' ')
              COMPOUND_LIST
                ASSIGNMENT_COMMAND
                  LITERAL
                    PsiElement(word)('month')
                  PsiElement(=)('=')
                  STRING
                    PsiElement(OPEN_QUOTE)('"')
                    PsiElement(STRING_CONTENT)('Jul')
                    PsiElement(CLOSE_QUOTE)('"')
            PsiWhiteSpace('    ')
            PsiElement(;;)(';;')
            PsiWhiteSpace('  ')
            CASE_CLAUSE
              PATTERN
                PsiElement(word)('8')
              PsiWhiteSpace(' ')
              PsiElement())(')')
              PsiWhiteSpace(' ')
              COMPOUND_LIST
                ASSIGNMENT_COMMAND
                  LITERAL
                    PsiElement(word)('month')
                  PsiElement(=)('=')
                  STRING
                    PsiElement(OPEN_QUOTE)('"')
                    PsiElement(STRING_CONTENT)('Aug')
                    PsiElement(CLOSE_QUOTE)('"')
            PsiWhiteSpace('    ')
            PsiElement(;;)(';;')
            CASE_CLAUSE
              PsiElement(\n)('\n')
              PsiWhiteSpace('    ')
              PATTERN
                PsiElement(word)('9')
              PsiWhiteSpace(' ')
              PsiElement())(')')
              PsiWhiteSpace(' ')
              COMPOUND_LIST
                ASSIGNMENT_COMMAND
                  LITERAL
                    PsiElement(word)('month')
                  PsiElement(=)('=')
                  STRING
                    PsiElement(OPEN_QUOTE)('"')
                    PsiElement(STRING_CONTENT)('Sep')
                    PsiElement(CLOSE_QUOTE)('"')
            PsiWhiteSpace('    ')
            PsiElement(;;)(';;')
            PsiWhiteSpace('  ')
            CASE_CLAUSE
              PATTERN
                PsiElement(word)('10')
              PsiElement())(')')
              PsiWhiteSpace(' ')
              COMPOUND_LIST
                ASSIGNMENT_COMMAND
                  LITERAL
                    PsiElement(word)('month')
                  PsiElement(=)('=')
                  STRING
                    PsiElement(OPEN_QUOTE)('"')
                    PsiElement(STRING_CONTENT)('Oct')
                    PsiElement(CLOSE_QUOTE)('"')
            PsiWhiteSpace('    ')
            PsiElement(;;)(';;')
            CASE_CLAUSE
              PsiElement(\n)('\n')
              PsiWhiteSpace('    ')
              PATTERN
                PsiElement(word)('11')
              PsiElement())(')')
              PsiWhiteSpace(' ')
              COMPOUND_LIST
                ASSIGNMENT_COMMAND
                  LITERAL
                    PsiElement(word)('month')
                  PsiElement(=)('=')
                  STRING
                    PsiElement(OPEN_QUOTE)('"')
                    PsiElement(STRING_CONTENT)('Nov')
                    PsiElement(CLOSE_QUOTE)('"')
            PsiWhiteSpace('    ')
            PsiElement(;;)(';;')
            PsiWhiteSpace('  ')
            CASE_CLAUSE
              PATTERN
                PsiElement(word)('12')
              PsiElement())(')')
              PsiWhiteSpace(' ')
              COMPOUND_LIST
                ASSIGNMENT_COMMAND
                  LITERAL
                    PsiElement(word)('month')
                  PsiElement(=)('=')
                  STRING
                    PsiElement(OPEN_QUOTE)('"')
                    PsiElement(STRING_CONTENT)('Dec')
                    PsiElement(CLOSE_QUOTE)('"')
            PsiWhiteSpace('    ')
            PsiElement(;;)(';;')
            CASE_CLAUSE
              PsiElement(\n)('\n')
              PsiWhiteSpace('    ')
              PATTERN
                PsiElement(word)('*')
              PsiWhiteSpace(' ')
              PsiElement())(')')
              PsiWhiteSpace(' ')
              COMPOUND_LIST
                PIPELINE_COMMAND_LIST
                  SIMPLE_COMMAND
                    GENERIC_COMMAND_DIRECTIVE
                      LITERAL
                        PsiElement(word)('echo')
                    PsiWhiteSpace(' ')
                    STRING
                      PsiElement(OPEN_QUOTE)('"')
                      VARIABLE
                        PsiElement(var)('$0')
                      PsiElement(STRING_CONTENT)(': Unknown numeric month value ')
                      VARIABLE
                        PsiElement(var)('$1')
                      PsiElement(CLOSE_QUOTE)('"')
                    PsiWhiteSpace(' ')
                    SIMPLE_COMMAND_ELEMENT
                      REDIRECTION
                        PsiElement(>&)('>&')
                        NUMBER
                          PsiElement(int)('2')
                  PsiElement(;)(';')
                  PsiWhiteSpace(' ')
                  SIMPLE_COMMAND
                    GENERIC_COMMAND_DIRECTIVE
                      LITERAL
                        PsiElement(word)('exit')
                    PsiWhiteSpace(' ')
                    NUMBER
                      PsiElement(int)('1')
                PsiElement(\n)('\n')
            PsiWhiteSpace('  ')
            PsiElement(esac)('esac')
          PsiElement(\n)('\n')
          PsiWhiteSpace('   ')
          SIMPLE_COMMAND
            GENERIC_COMMAND_DIRECTIVE
              LITERAL
                PsiElement(word)('return')
            PsiWhiteSpace(' ')
            NUMBER
              PsiElement(int)('0')
          PsiElement(\n)('\n')
        PsiElement(})('}')
  PsiElement(\n)('\n')
  PsiElement(\n)('\n')
  COMMANDS_LIST
    CASE_COMMAND
      PsiElement(case)('case')
      PsiWhiteSpace(' ')
      STRING
        PsiElement(OPEN_QUOTE)('"')
        VARIABLE
          PsiElement(var)('$3')
        PsiElement(CLOSE_QUOTE)('"')
      PsiWhiteSpace(' ')
      PsiElement(in)('in')
      CASE_CLAUSE
        PsiElement(\n)('\n')
        PsiWhiteSpace('\t')
        PATTERN
          PsiElement(word)('-')
        PsiElement())(')')
        PsiElement(\n)('\n')
        PsiWhiteSpace('\t  ')
        PsiComment(Comment)('#\toutput goes to standard output')
        PsiElement(\n)('\n')
      PsiWhiteSpace('    ')
      PsiElement(;;)(';;')
      CASE_CLAUSE
        PsiElement(\n)('\n')
        PsiWhiteSpace('\t')
        PATTERN
          PsiElement(word)('*')
        PsiElement())(')')
        PsiElement(\n)('\n')
        PsiWhiteSpace('\t\t')
        PsiComment(Comment)('#\toutput goes to a file')
        PsiElement(\n)('\n')
      PsiWhiteSpace('\t  ')
      PsiElement(;;)(';;')
      PsiElement(\n)('\n')
      PsiElement(esac)('esac')
  PsiElement(\n)('\n')
  PsiElement(\n)('\n')
  COMMANDS_LIST
    CASE_COMMAND
      PsiElement(case)('case')
      PsiWhiteSpace(' ')
      STRING
        PsiElement(OPEN_QUOTE)('"')
        VARIABLE
          PsiElement(var)('$PACKER_BUILDER_TYPE')
        PsiElement(CLOSE_QUOTE)('"')
      PsiWhiteSpace(' ')
      PsiElement(in)('in')
      CASE_CLAUSE
        PsiElement(\n)('\n')
        PATTERN
          PsiElement(word)('*')
        PsiElement())(')')
        PsiElement(\n)('\n')
        PsiWhiteSpace('    ')
        COMPOUND_LIST
          SIMPLE_COMMAND
            GENERIC_COMMAND_DIRECTIVE
              LITERAL
                PsiElement(word)('echo')
            PsiWhiteSpace(' ')
            STRING
              PsiElement(OPEN_QUOTE)('"')
              PsiElement(STRING_CONTENT)('Unknown Packer Builder Type >>')
              VARIABLE
                PsiElement(var)('$PACKER_BUILDER_TYPE')
              PsiElement(STRING_CONTENT)('<< selected.')
              PsiElement(CLOSE_QUOTE)('"')
          PsiElement(\n)('\n')
      PsiWhiteSpace(' ')
      PsiElement(;;)(';;')
      PsiWhiteSpace('  ')
      PsiComment(Comment)('# <- One more issue')
      PsiElement(\n)('\n')
      PsiElement(esac)('esac')
  PsiElement(\n)('\n')
  PsiElement(\n)('\n')
  COMMANDS_LIST
    CASE_COMMAND
      PsiElement(case)('case')
      PsiWhiteSpace(' ')
      STRING
        PsiElement(OPEN_QUOTE)('"')
        VARIABLE
          PsiElement(var)('$@')
        PsiElement(CLOSE_QUOTE)('"')
      PsiWhiteSpace(' ')
      PsiElement(in)('in')
      CASE_CLAUSE
        PsiElement(\n)('\n')
        PATTERN
          STRING
            PsiElement(OPEN_QUOTE)('"')
            PsiElement(STRING_CONTENT)('-d ')
            PsiElement(CLOSE_QUOTE)('"')
          PsiElement(word)('*')
        PsiElement())(')')
        PsiWhiteSpace('\t')
        COMPOUND_LIST
          SIMPLE_COMMAND
            GENERIC_COMMAND_DIRECTIVE
              LITERAL
                PsiElement(word)('echo')
            PsiWhiteSpace(' ')
            LITERAL
              PsiElement(word)('DEBUGGING')
            PsiWhiteSpace(' ')
            SIMPLE_COMMAND_ELEMENT
              REDIRECTION
                NUMBER
                  PsiElement(int)('1')
                PsiElement(>&)('>&')
                NUMBER
                  PsiElement(int)('2')
          PsiElement(\n)('\n')
          PsiWhiteSpace('\t')
          ASSIGNMENT_COMMAND
            LITERAL
              PsiElement(word)('debug')
            PsiElement(=)('=')
            LITERAL
              PsiElement(word)('-d')
          PsiElement(\n)('\n')
          PsiWhiteSpace('\t')
          GENERIC_COMMAND_DIRECTIVE
            LITERAL
              PsiElement(word)('shift')
          PsiElement(\n)('\n')
          PsiElement(\n)('\n')
      PsiElement(esac)('esac')
  PsiElement(\n)('\n')
  PsiElement(\n)('\n')
  PsiElement(\n)('\n')
  COMMANDS_LIST
    SIMPLE_COMMAND
      GENERIC_COMMAND_DIRECTIVE
        LITERAL
          PsiElement(word)('echo')
      PsiWhiteSpace(' ')
      LITERAL
        PsiElement(word)('*')
      STRING
        PsiElement(OPEN_QUOTE)('"')
        PsiElement(CLOSE_QUOTE)('"')
      LITERAL
        PsiElement(word)('*')
  PsiElement(\n)('\n')
  PsiElement(\n)('\n')
  PsiElement(\n)('\n')
  COMMANDS_LIST
    FUNCTION_DEFINITION
      PsiElement(function)('function')
      PsiWhiteSpace(' ')
      PsiElement(word)('tokenReader')
      PsiWhiteSpace(' ')
      BLOCK
        PsiElement({)('{')
        COMPOUND_LIST
          PsiElement(\n)('\n')
          PsiWhiteSpace('    ')
          SIMPLE_COMMAND
            GENERIC_COMMAND_DIRECTIVE
              LITERAL
                PsiElement(word)('reportDebugFuncEntry')
            PsiWhiteSpace(' ')
            STRING
              PsiElement(OPEN_QUOTE)('"')
              VARIABLE
                PsiElement(var)('$*')
              PsiElement(CLOSE_QUOTE)('"')
            PsiWhiteSpace(' ')
            STRING
              PsiElement(OPEN_QUOTE)('"')
              PsiElement(STRING_CONTENT)('config entry')
              PsiElement(CLOSE_QUOTE)('"')
          PsiElement(\n)('\n')
          PsiElement(\n)('\n')
          PsiWhiteSpace('    ')
          PIPELINE_COMMAND_LIST
            CONDITIONAL_COMMAND
              PsiElement([)('[')
              PsiWhiteSpace(' ')
              LITERAL_CONDITION
                STRING
                  PsiElement(OPEN_QUOTE)('"')
                  VARIABLE
                    PsiElement(var)('$3')
                  PsiElement(CLOSE_QUOTE)('"')
              PsiWhiteSpace(' ')
              PsiElement(])(']')
            PsiWhiteSpace(' ')
            PsiElement(||)('||')
            PsiWhiteSpace(' ')
            SHELL_COMMAND
              BLOCK
                PsiElement({)('{')
                PsiWhiteSpace(' ')
                COMPOUND_LIST
                  PIPELINE_COMMAND_LIST
                    SIMPLE_COMMAND
                      GENERIC_COMMAND_DIRECTIVE
                        LITERAL
                          PsiElement(word)('reportError')
                      PsiWhiteSpace(' ')
                      STRING
                        PsiElement(OPEN_QUOTE)('"')
                        PsiElement(STRING_CONTENT)('Not enough arguments passed')
                        PsiElement(CLOSE_QUOTE)('"')
                    PsiWhiteSpace(' ')
                    PsiElement(;)(';')
                    PsiWhiteSpace(' ')
                    SIMPLE_COMMAND
                      GENERIC_COMMAND_DIRECTIVE
                        LITERAL
                          PsiElement(word)('return')
                      PsiWhiteSpace(' ')
                      NUMBER
                        PsiElement(int)('1')
                  PsiWhiteSpace(' ')
                  PsiElement(;)(';')
                PsiWhiteSpace(' ')
                PsiElement(})('}')
          PsiElement(\n)('\n')
          PsiElement(\n)('\n')
          PsiWhiteSpace('    ')
          SIMPLE_COMMAND
            GENERIC_COMMAND_DIRECTIVE
              LITERAL
                PsiElement(word)('typeset')
            PsiWhiteSpace(' ')
            SIMPLE_COMMAND_ELEMENT
              ASSIGNMENT_COMMAND
                LITERAL
                  PsiElement(word)('function')
                PsiElement(=)('=')
                STRING
                  PsiElement(OPEN_QUOTE)('"')
                  VARIABLE
                    PsiElement(var)('$1')
                  PsiElement(CLOSE_QUOTE)('"')
          PsiElement(\n)('\n')
          PsiWhiteSpace('    ')
          SIMPLE_COMMAND
            GENERIC_COMMAND_DIRECTIVE
              LITERAL
                PsiElement(word)('typeset')
            PsiWhiteSpace(' ')
            SIMPLE_COMMAND_ELEMENT
              ASSIGNMENT_COMMAND
                LITERAL
                  PsiElement(word)('name')
                PsiElement(=)('=')
                STRING
                  PsiElement(OPEN_QUOTE)('"')
                  VARIABLE
                    PsiElement(var)('$2')
                  PsiElement(CLOSE_QUOTE)('"')
          PsiElement(\n)('\n')
          PsiWhiteSpace('    ')
          SIMPLE_COMMAND
            GENERIC_COMMAND_DIRECTIVE
              LITERAL
                PsiElement(word)('typeset')
            PsiWhiteSpace(' ')
            SIMPLE_COMMAND_ELEMENT
              ASSIGNMENT_COMMAND
                LITERAL
                  PsiElement(word)('keys')
                PsiElement(=)('=')
                STRING
                  PsiElement(OPEN_QUOTE)('"')
                  VARIABLE
                    PsiElement(var)('$3')
                  PsiElement(CLOSE_QUOTE)('"')
          PsiElement(\n)('\n')
          PsiElement(\n)('\n')
          PsiWhiteSpace('    ')
          SIMPLE_COMMAND
            GENERIC_COMMAND_DIRECTIVE
              LITERAL
                PsiElement(word)('typeset')
            PsiWhiteSpace(' ')
            LITERAL
              PsiElement(word)('enttype')
          PsiElement(\n)('\n')
          PsiWhiteSpace('    ')
          SIMPLE_COMMAND
            GENERIC_COMMAND_DIRECTIVE
              LITERAL
                PsiElement(word)('typeset')
            PsiWhiteSpace(' ')
            LITERAL
              PsiElement(word)('key')
          PsiElement(\n)('\n')
          PsiWhiteSpace('    ')
          SIMPLE_COMMAND
            GENERIC_COMMAND_DIRECTIVE
              LITERAL
                PsiElement(word)('typeset')
            PsiWhiteSpace(' ')
            LITERAL
              PsiElement(word)('-a')
            PsiWhiteSpace(' ')
            LITERAL
              PsiElement(word)('values')
          PsiElement(\n)('\n')
          PsiWhiteSpace('    ')
          SIMPLE_COMMAND
            GENERIC_COMMAND_DIRECTIVE
              LITERAL
                PsiElement(word)('typeset')
            PsiWhiteSpace(' ')
            LITERAL
              PsiElement(word)('-i')
            PsiWhiteSpace(' ')
            LITERAL
              PsiElement(word)('indx')
          PsiElement(\n)('\n')
          PsiWhiteSpace('    ')
          SIMPLE_COMMAND
            GENERIC_COMMAND_DIRECTIVE
              LITERAL
                PsiElement(word)('typeset')
            PsiWhiteSpace(' ')
            LITERAL
              PsiElement(word)('varname')
          PsiElement(\n)('\n')
          PsiWhiteSpace('    ')
          SIMPLE_COMMAND
            GENERIC_COMMAND_DIRECTIVE
              LITERAL
                PsiElement(word)('typeset')
            PsiWhiteSpace(' ')
            LITERAL
              PsiElement(word)('position')
          PsiElement(\n)('\n')
          PsiWhiteSpace('    ')
          SIMPLE_COMMAND
            GENERIC_COMMAND_DIRECTIVE
              LITERAL
                PsiElement(word)('typeset')
            PsiWhiteSpace(' ')
            LITERAL
              PsiElement(word)('value')
          PsiElement(\n)('\n')
          PsiWhiteSpace('    ')
          SIMPLE_COMMAND
            GENERIC_COMMAND_DIRECTIVE
              LITERAL
                PsiElement(word)('typeset')
            PsiWhiteSpace(' ')
            LITERAL
              PsiElement(word)('output')
          PsiElement(\n)('\n')
          PsiElement(\n)('\n')
          PsiWhiteSpace('    ')
          PsiComment(Comment)('# Reuse a previously set entry if it is about the same entry.')
          PsiElement(\n)('\n')
          PsiWhiteSpace('    ')
          CASE_COMMAND
            PsiElement(case)('case')
            PsiWhiteSpace(' ')
            STRING
              PsiElement(OPEN_QUOTE)('"')
              VARIABLE
                PsiElement(var)('$entry')
              PsiElement(CLOSE_QUOTE)('"')
            PsiWhiteSpace(' ')
            PsiElement(in)('in')
            CASE_CLAUSE
              PsiElement(\n)('\n')
              PsiWhiteSpace('      ')
              PATTERN
                PsiElement(word)('*')
                STRING
                  PsiElement(OPEN_QUOTE)('"')
                  PsiElement(STRING_CONTENT)(' ')
                  PsiElement($)('$')
                  SHELL_PARAMETER_EXPANSION
                    PsiElement({)('{')
                    PsiElement(word)('name')
                    PsiElement(})('}')
                  PsiElement(STRING_CONTENT)('(')
                  PsiElement(CLOSE_QUOTE)('"')
                PsiElement(word)('*')
              PsiElement())(')')
              PsiElement(\n)('\n')
              PsiWhiteSpace('        ')
              COMPOUND_LIST
                SIMPLE_COMMAND
                  GENERIC_COMMAND_DIRECTIVE
                    LITERAL
                      PsiElement(word)('reportDebug')
                  PsiWhiteSpace(' ')
                  STRING
                    PsiElement(OPEN_QUOTE)('"')
                    PsiElement(STRING_CONTENT)('Using previously set entry for ')
                    VARIABLE
                      PsiElement(var)('$name')
                    PsiElement(CLOSE_QUOTE)('"')
                PsiElement(\n)('\n')
            PsiWhiteSpace('        ')
            PsiElement(;;)(';;')
            CASE_CLAUSE
              PsiElement(\n)('\n')
              PsiWhiteSpace('      ')
              PATTERN
                PsiElement(word)('*')
              PsiElement())(')')
              PsiElement(\n)('\n')
              PsiWhiteSpace('        ')
              COMPOUND_LIST
                SIMPLE_COMMAND
                  GENERIC_COMMAND_DIRECTIVE
                    LITERAL
                      PsiElement(word)('reportDebug')
                  PsiWhiteSpace(' ')
                  STRING
                    PsiElement(OPEN_QUOTE)('"')
                    PsiElement(STRING_CONTENT)('Reading entry for ')
                    VARIABLE
                      PsiElement(var)('$name')
                    PsiElement(CLOSE_QUOTE)('"')
                PsiElement(\n)('\n')
                PsiWhiteSpace('        ')
                ASSIGNMENT_COMMAND
                  LITERAL
                    PsiElement(word)('entry')
                  PsiElement(=)('=')
                  STRING
                    PsiElement(OPEN_QUOTE)('"')
                    PsiElement($)('$')
                    SUBSHELL_COMMAND
                      PsiElement(()('(')
                      COMPOUND_LIST
                        SIMPLE_COMMAND
                          GENERIC_COMMAND_DIRECTIVE
                            LITERAL
                              PsiElement(word)('entryReader')
                          PsiWhiteSpace(' ')
                          STRING
                            PsiElement(OPEN_QUOTE)('"')
                            VARIABLE
                              PsiElement(var)('$name')
                            PsiElement(CLOSE_QUOTE)('"')
                          PsiWhiteSpace(' ')
                          STRING
                            PsiElement(OPEN_QUOTE)('"')
                            VARIABLE
                              PsiElement(var)('$config')
                            PsiElement(CLOSE_QUOTE)('"')
                      PsiElement())(')')
                    PsiElement(CLOSE_QUOTE)('"')
                PsiElement(\n)('\n')
            PsiWhiteSpace('        ')
            PsiElement(;;)(';;')
            PsiElement(\n)('\n')
            PsiWhiteSpace('    ')
            PsiElement(esac)('esac')
          PsiElement(\n)('\n')
          PsiElement(\n)('\n')
          PsiWhiteSpace('    ')
          PsiComment(Comment)('# Check if the neccessary parameters are set.')
          PsiElement(\n)('\n')
          PsiWhiteSpace('    ')
          PIPELINE_COMMAND_LIST
            CONDITIONAL_COMMAND
              PsiElement([)('[')
              PsiWhiteSpace(' ')
              LITERAL_CONDITION
                STRING
                  PsiElement(OPEN_QUOTE)('"')
                  VARIABLE
                    PsiElement(var)('$function')
                  PsiElement(CLOSE_QUOTE)('"')
              PsiWhiteSpace(' ')
              PsiElement(])(']')
            PsiWhiteSpace(' ')
            PsiElement(||)('||')
            PsiWhiteSpace(' ')
            SHELL_COMMAND
              BLOCK
                PsiElement({)('{')
                PsiWhiteSpace(' ')
                COMPOUND_LIST
                  PIPELINE_COMMAND_LIST
                    SIMPLE_COMMAND
                      GENERIC_COMMAND_DIRECTIVE
                        LITERAL
                          PsiElement(word)('reportDebug')
                      PsiWhiteSpace(' ')
                      STRING
                        PsiElement(OPEN_QUOTE)('"')
                        PsiElement(STRING_CONTENT)('Function not specified')
                        PsiElement(CLOSE_QUOTE)('"')
                    PsiWhiteSpace('    ')
                    PsiElement(;)(';')
                    PsiWhiteSpace(' ')
                    SIMPLE_COMMAND
                      GENERIC_COMMAND_DIRECTIVE
                        LITERAL
                          PsiElement(word)('return')
                      PsiWhiteSpace(' ')
                      NUMBER
                        PsiElement(int)('1')
                  PsiWhiteSpace(' ')
                  PsiElement(;)(';')
                PsiWhiteSpace(' ')
                PsiElement(})('}')
          PsiElement(\n)('\n')
          PsiWhiteSpace('    ')
          PIPELINE_COMMAND_LIST
            CONDITIONAL_COMMAND
              PsiElement([)('[')
              PsiWhiteSpace(' ')
              LITERAL_CONDITION
                STRING
                  PsiElement(OPEN_QUOTE)('"')
                  VARIABLE
                    PsiElement(var)('$name')
                  PsiElement(CLOSE_QUOTE)('"')
              PsiWhiteSpace(' ')
              PsiElement(])(']')
            PsiWhiteSpace('     ')
            PsiElement(||)('||')
            PsiWhiteSpace(' ')
            SHELL_COMMAND
              BLOCK
                PsiElement({)('{')
                PsiWhiteSpace(' ')
                COMPOUND_LIST
                  PIPELINE_COMMAND_LIST
                    SIMPLE_COMMAND
                      GENERIC_COMMAND_DIRECTIVE
                        LITERAL
                          PsiElement(word)('reportDebug')
                      PsiWhiteSpace(' ')
                      STRING
                        PsiElement(OPEN_QUOTE)('"')
                        PsiElement(STRING_CONTENT)('Name not passed')
                        PsiElement(CLOSE_QUOTE)('"')
                    PsiWhiteSpace('           ')
                    PsiElement(;)(';')
                    PsiWhiteSpace(' ')
                    SIMPLE_COMMAND
                      GENERIC_COMMAND_DIRECTIVE
                        LITERAL
                          PsiElement(word)('return')
                      PsiWhiteSpace(' ')
                      NUMBER
                        PsiElement(int)('1')
                  PsiWhiteSpace(' ')
                  PsiElement(;)(';')
                PsiWhiteSpace(' ')
                PsiElement(})('}')
          PsiElement(\n)('\n')
          PsiWhiteSpace('    ')
          PIPELINE_COMMAND_LIST
            CONDITIONAL_COMMAND
              PsiElement([)('[')
              PsiWhiteSpace(' ')
              LITERAL_CONDITION
                STRING
                  PsiElement(OPEN_QUOTE)('"')
                  VARIABLE
                    PsiElement(var)('$keys')
                  PsiElement(CLOSE_QUOTE)('"')
              PsiWhiteSpace(' ')
              PsiElement(])(']')
            PsiWhiteSpace('     ')
            PsiElement(||)('||')
            PsiWhiteSpace(' ')
            SHELL_COMMAND
              BLOCK
                PsiElement({)('{')
                PsiWhiteSpace(' ')
                COMPOUND_LIST
                  PIPELINE_COMMAND_LIST
                    SIMPLE_COMMAND
                      GENERIC_COMMAND_DIRECTIVE
                        LITERAL
                          PsiElement(word)('reportDebug')
                      PsiWhiteSpace(' ')
                      STRING
                        PsiElement(OPEN_QUOTE)('"')
                        PsiElement(STRING_CONTENT)('Keys not passed for ')
                        VARIABLE
                          PsiElement(var)('$name')
                        PsiElement(CLOSE_QUOTE)('"')
                    PsiWhiteSpace(' ')
                    PsiElement(;)(';')
                    PsiWhiteSpace(' ')
                    SIMPLE_COMMAND
                      GENERIC_COMMAND_DIRECTIVE
                        LITERAL
                          PsiElement(word)('return')
                      PsiWhiteSpace(' ')
                      NUMBER
                        PsiElement(int)('1')
                  PsiWhiteSpace(' ')
                  PsiElement(;)(';')
                PsiWhiteSpace(' ')
                PsiElement(})('}')
          PsiElement(\n)('\n')
          PsiWhiteSpace('    ')
          PIPELINE_COMMAND_LIST
            CONDITIONAL_COMMAND
              PsiElement([)('[')
              PsiWhiteSpace(' ')
              LITERAL_CONDITION
                STRING
                  PsiElement(OPEN_QUOTE)('"')
                  VARIABLE
                    PsiElement(var)('$entry')
                  PsiElement(CLOSE_QUOTE)('"')
              PsiWhiteSpace(' ')
              PsiElement(])(']')
            PsiWhiteSpace('    ')
            PsiElement(||)('||')
            PsiWhiteSpace(' ')
            SHELL_COMMAND
              BLOCK
                PsiElement({)('{')
                PsiWhiteSpace(' ')
                COMPOUND_LIST
                  PIPELINE_COMMAND_LIST
                    SIMPLE_COMMAND
                      GENERIC_COMMAND_DIRECTIVE
                        LITERAL
                          PsiElement(word)('reportDebug')
                      PsiWhiteSpace(' ')
                      STRING
                        PsiElement(OPEN_QUOTE)('"')
                        PsiElement(STRING_CONTENT)('Entry not set for ')
                        VARIABLE
                          PsiElement(var)('$name')
                        PsiElement(CLOSE_QUOTE)('"')
                    PsiWhiteSpace('   ')
                    PsiElement(;)(';')
                    PsiWhiteSpace(' ')
                    SIMPLE_COMMAND
                      GENERIC_COMMAND_DIRECTIVE
                        LITERAL
                          PsiElement(word)('return')
                      PsiWhiteSpace(' ')
                      NUMBER
                        PsiElement(int)('1')
                  PsiWhiteSpace(' ')
                  PsiElement(;)(';')
                PsiWhiteSpace(' ')
                PsiElement(})('}')
          PsiElement(\n)('\n')
          PsiElement(\n)('\n')
          PsiWhiteSpace('    ')
          PsiComment(Comment)('# Read type from entry')
          PsiElement(\n)('\n')
          PsiWhiteSpace('    ')
          ASSIGNMENT_COMMAND
            LITERAL
              PsiElement(word)('enttype')
            PsiElement(=)('=')
            STRING
              PsiElement(OPEN_QUOTE)('"')
              PsiElement($)('$')
              SHELL_PARAMETER_EXPANSION
                PsiElement({)('{')
                PsiElement(word)('entry')
                PsiElement(param_separator)('%%')
                PsiElement(word)('[[:space:]]*')
                PsiElement(})('}')
              PsiElement(CLOSE_QUOTE)('"')
          PsiElement(\n)('\n')
          PsiWhiteSpace('    ')
          ASSIGNMENT_COMMAND
            LITERAL
              PsiElement(word)('members')
            PsiElement(=)('=')
            STRING
              PsiElement(OPEN_QUOTE)('"')
              VARIABLE
                PsiElement(var)('$enttype')
              PsiElement(STRING_CONTENT)(',')
              VARIABLE
                PsiElement(var)('$name')
              PsiElement(STRING_CONTENT)(',')
              PsiElement($)('$')
              SUBSHELL_COMMAND
                PsiElement(()('(')
                COMPOUND_LIST
                  SIMPLE_COMMAND
                    GENERIC_COMMAND_DIRECTIVE
                      LITERAL
                        PsiElement(word)('cutParentheses')
                    PsiWhiteSpace(' ')
                    STRING
                      PsiElement(OPEN_QUOTE)('"')
                      VARIABLE
                        PsiElement(var)('$entry')
                      PsiElement(CLOSE_QUOTE)('"')
                PsiElement())(')')
              PsiElement(CLOSE_QUOTE)('"')
          PsiElement(\n)('\n')
          PsiElement(\n)('\n')
          PsiWhiteSpace('    ')
          LET_COMMAND
            PsiElement(let)('let')
            PsiWhiteSpace(' ')
            ASSIGNMENT_EXPRESSION
              LITERAL_EXPRESSION
                PsiElement(word)('indx')
              PsiElement(=)('=')
              LITERAL_EXPRESSION
                NUMBER
                  PsiElement(int)('0')
          PsiElement(\n)('\n')
          PsiWhiteSpace('    ')
          SIMPLE_COMMAND
            GENERIC_COMMAND_DIRECTIVE
              LITERAL
                PsiElement(word)('typeset')
            PsiWhiteSpace(' ')
            SIMPLE_COMMAND_ELEMENT
              ASSIGNMENT_COMMAND
                LITERAL
                  PsiElement(word)('IFS')
                PsiElement(=)('=')
                STRING
                  PsiElement(OPEN_QUOTE)('"')
                  PsiElement(STRING_CONTENT)(',')
                  PsiElement(CLOSE_QUOTE)('"')
          PsiElement(\n)('\n')
          PsiWhiteSpace('    ')
          FOR_COMMAND
            PsiElement(for)('for')
            PsiWhiteSpace(' ')
            FOR_CLAUSE
              PsiElement(word)('key')
              PsiWhiteSpace(' ')
              PsiElement(in)('in')
              PsiWhiteSpace(' ')
              VARIABLE
                PsiElement(var)('$keys')
              PsiWhiteSpace(' ')
              LIST_TERMINATOR
                PsiElement(;)(';')
            PsiWhiteSpace(' ')
            DO_BLOCK
              PsiElement(do)('do')
              COMPOUND_LIST
                PsiElement(\n)('\n')
                PsiWhiteSpace('        ')
                PsiComment(Comment)('# Try to read the positional index number from defined syntax.')
                PsiElement(\n)('\n')
                PsiWhiteSpace('        ')
                ASSIGNMENT_COMMAND
                  LITERAL
                    PsiElement(word)('varname')
                  PsiElement(=)('=')
                  STRING
                    PsiElement(OPEN_QUOTE)('"')
                    PsiElement(STRING_CONTENT)('syntax_')
                    PsiElement($)('$')
                    SHELL_PARAMETER_EXPANSION
                      PsiElement({)('{')
                      PsiElement(word)('enttype')
                      PsiElement(})('}')
                    PsiElement(STRING_CONTENT)('_')
                    PsiElement($)('$')
                    SHELL_PARAMETER_EXPANSION
                      PsiElement({)('{')
                      PsiElement(word)('key')
                      PsiElement(})('}')
                    PsiElement(CLOSE_QUOTE)('"')
                PsiElement(\n)('\n')
                PsiElement(\n)('\n')
                PsiWhiteSpace('        ')
                SIMPLE_COMMAND
                  GENERIC_COMMAND_DIRECTIVE
                    LITERAL
                      PsiElement(word)('reportDebug')
                  PsiWhiteSpace(' ')
                  STRING
                    PsiElement(OPEN_QUOTE)('"')
                    PsiElement(STRING_CONTENT)('Looking up ')
                    VARIABLE
                      PsiElement(var)('$key')
                    PsiElement(STRING_CONTENT)(' for ')
                    VARIABLE
                      PsiElement(var)('$name')
                    PsiElement(STRING_CONTENT)(' at position ')
                    VARIABLE
                      PsiElement(var)('$position')
                    PsiElement(CLOSE_QUOTE)('"')
                PsiElement(\n)('\n')
                PsiWhiteSpace('        ')
                IF_COMMAND
                  PsiElement(if)('if')
                  PsiWhiteSpace(' ')
                  COMPOUND_LIST
                    CONDITIONAL_COMMAND
                      PsiElement([)('[')
                      PsiWhiteSpace(' ')
                      EQUALITY_CONDITION
                        LITERAL_CONDITION
                          STRING
                            PsiElement(OPEN_QUOTE)('"')
                            VARIABLE
                              PsiElement(var)('$key')
                            PsiElement(CLOSE_QUOTE)('"')
                        PsiWhiteSpace(' ')
                        PsiElement(!=)('!=')
                        PsiWhiteSpace(' ')
                        LITERAL_CONDITION
                          STRING
                            PsiElement(OPEN_QUOTE)('"')
                            PsiElement(STRING_CONTENT)('members')
                            PsiElement(CLOSE_QUOTE)('"')
                      PsiWhiteSpace(' ')
                      PsiElement(])(']')
                    PsiElement(;)(';')
                  PsiWhiteSpace(' ')
                  THEN_CLAUSE
                    PsiElement(then)('then')
                    COMPOUND_LIST
                      PsiElement(\n)('\n')
                      PsiWhiteSpace('            ')
                      PsiComment(Comment)('# Not looking for group members, use position.')
                      PsiElement(\n)('\n')
                      PsiWhiteSpace('            ')
                      ASSIGNMENT_COMMAND
                        LITERAL
                          PsiElement(word)('value')
                        PsiElement(=)('=')
                        STRING
                          PsiElement(OPEN_QUOTE)('"')
                          VARIABLE
                            PsiElement(var)('$position')
                          PsiElement(CLOSE_QUOTE)('"')
                      PsiElement(\n)('\n')
                  PsiWhiteSpace('        ')
                  ELSE_CLAUSE
                    PsiElement(else)('else')
                    COMPOUND_LIST
                      PsiElement(\n)('\n')
                      PsiWhiteSpace('            ')
                      PsiComment(Comment)('# Looking for members, which is a csv list in itself.')
                      PsiElement(\n)('\n')
                      PsiWhiteSpace('            ')
                      ASSIGNMENT_COMMAND
                        LITERAL
                          PsiElement(word)('value')
                        PsiElement(=)('=')
                        STRING
                          PsiElement(OPEN_QUOTE)('"')
                          PsiElement($)('$')
                          SUBSHELL_COMMAND
                            PsiElement(()('(')
                            COMPOUND_LIST
                              SIMPLE_COMMAND
                                GENERIC_COMMAND_DIRECTIVE
                                  LITERAL
                                    PsiElement(word)('cutParentheses')
                                PsiWhiteSpace(' ')
                                STRING
                                  PsiElement(OPEN_QUOTE)('"')
                                  VARIABLE
                                    PsiElement(var)('$entry')
                                  PsiElement(CLOSE_QUOTE)('"')
                            PsiElement())(')')
                          PsiElement(CLOSE_QUOTE)('"')
                      PsiElement(\n)('\n')
                  PsiWhiteSpace('        ')
                  PsiElement(fi)('fi')
                PsiElement(\n)('\n')
                PsiElement(\n)('\n')
                PsiWhiteSpace('        ')
                PIPELINE_COMMAND_LIST
                  SHELL_COMMAND
                    ARITHMETIC_EXPANSION
                      PsiElement(()('(')
                      PsiElement(()('(')
                      PsiWhiteSpace(' ')
                      LITERAL_EXPRESSION
                        STRING
                          PsiElement(OPEN_QUOTE)('"')
                          VARIABLE
                            PsiElement(var)('$position')
                          PsiElement(CLOSE_QUOTE)('"')
                      PsiWhiteSpace(' ')
                      PsiElement())(')')
                      PsiElement())(')')
                  PsiWhiteSpace(' ')
                  PsiElement(||)('||')
                  PsiWhiteSpace(' ')
                  SHELL_COMMAND
                    BLOCK
                      PsiElement({)('{')
                      PsiWhiteSpace(' ')
                      COMPOUND_LIST
                        PIPELINE_COMMAND_LIST
                          SIMPLE_COMMAND
                            GENERIC_COMMAND_DIRECTIVE
                              LITERAL
                                PsiElement(word)('reportError')
                            PsiWhiteSpace(' ')
                            STRING
                              PsiElement(OPEN_QUOTE)('"')
                              PsiElement(STRING_CONTENT)('Position ')
                              VARIABLE
                                PsiElement(var)('$position')
                              PsiElement(STRING_CONTENT)(' for ')
                              VARIABLE
                                PsiElement(var)('$varname')
                              PsiElement(STRING_CONTENT)(' unset')
                              PsiElement(CLOSE_QUOTE)('"')
                          PsiWhiteSpace(' ')
                          PsiElement(;)(';')
                          PsiWhiteSpace(' ')
                          SIMPLE_COMMAND
                            GENERIC_COMMAND_DIRECTIVE
                              LITERAL
                                PsiElement(word)('return')
                            PsiWhiteSpace(' ')
                            NUMBER
                              PsiElement(int)('1')
                        PsiWhiteSpace(' ')
                        PsiElement(;)(';')
                      PsiWhiteSpace(' ')
                      PsiElement(})('}')
                PsiElement(\n)('\n')
                PsiElement(\n)('\n')
                PsiWhiteSpace('        ')
                IF_COMMAND
                  PsiElement(if)('if')
                  PsiWhiteSpace(' ')
                  COMPOUND_LIST
                    CONDITIONAL_COMMAND
                      PsiElement([)('[')
                      PsiWhiteSpace(' ')
                      ASSIGNMENT_CONDITION
                        LITERAL_CONDITION
                          STRING
                            PsiElement(OPEN_QUOTE)('"')
                            VARIABLE
                              PsiElement(var)('$function')
                            PsiElement(CLOSE_QUOTE)('"')
                        PsiWhiteSpace(' ')
                        PsiElement(=)('=')
                        PsiWhiteSpace(' ')
                        LITERAL_CONDITION
                          STRING
                            PsiElement(OPEN_QUOTE)('"')
                            PsiElement(STRING_CONTENT)('printVals')
                            PsiElement(CLOSE_QUOTE)('"')
                      PsiWhiteSpace(' ')
                      PsiElement(])(']')
                    PsiElement(;)(';')
                  PsiWhiteSpace(' ')
                  THEN_CLAUSE
                    PsiElement(then)('then')
                    COMPOUND_LIST
                      PsiElement(\n)('\n')
                      PsiWhiteSpace('            ')
                      ASSIGNMENT_COMMAND
                        LITERAL
                          PsiElement(word)('values')
                        ARRAY_EXPRESSION
                          PsiElement([)('[')
                          LITERAL_EXPRESSION
                            PsiElement(word)('indx')
                          PsiElement(])(']')
                        PsiElement(=)('=')
                        STRING
                          PsiElement(OPEN_QUOTE)('"')
                          VARIABLE
                            PsiElement(var)('$value')
                          PsiElement(CLOSE_QUOTE)('"')
                      PsiElement(\n)('\n')
                      PsiComment(Comment)('#            let indx+=1')
                      PsiElement(\n)('\n')
                  PsiWhiteSpace('        ')
                  ELIF_CLAUSE
                    PsiElement(elif)('elif')
                    PsiWhiteSpace(' ')
                    COMPOUND_LIST
                      CONDITIONAL_COMMAND
                        PsiElement([)('[')
                        PsiWhiteSpace(' ')
                        ASSIGNMENT_CONDITION
                          LITERAL_CONDITION
                            STRING
                              PsiElement(OPEN_QUOTE)('"')
                              VARIABLE
                                PsiElement(var)('$function')
                              PsiElement(CLOSE_QUOTE)('"')
                          PsiWhiteSpace(' ')
                          PsiElement(=)('=')
                          PsiWhiteSpace(' ')
                          LITERAL_CONDITION
                            STRING
                              PsiElement(OPEN_QUOTE)('"')
                              PsiElement(STRING_CONTENT)('setVars')
                              PsiElement(CLOSE_QUOTE)('"')
                        PsiWhiteSpace(' ')
                        PsiElement(])(']')
                      PsiElement(;)(';')
                    PsiWhiteSpace(' ')
                    THEN_CLAUSE
                      PsiElement(then)('then')
                      COMPOUND_LIST
                        PsiElement(\n)('\n')
                        PsiWhiteSpace('            ')
                        SIMPLE_COMMAND
                          GENERIC_COMMAND_DIRECTIVE
                            LITERAL
                              PsiElement(word)('export')
                          PsiWhiteSpace(' ')
                          SIMPLE_COMMAND_ELEMENT
                            ASSIGNMENT_COMMAND
                              STRING
                                PsiElement(OPEN_QUOTE)('"')
                                VARIABLE
                                  PsiElement(var)('$key')
                                PsiElement(CLOSE_QUOTE)('"')
                              PsiElement(=)('=')
                              STRING
                                PsiElement(OPEN_QUOTE)('"')
                                VARIABLE
                                  PsiElement(var)('$value')
                                PsiElement(CLOSE_QUOTE)('"')
                        PsiElement(\n)('\n')
                  PsiWhiteSpace('        ')
                  ELSE_CLAUSE
                    PsiElement(else)('else')
                    COMPOUND_LIST
                      PsiElement(\n)('\n')
                      PsiWhiteSpace('            ')
                      SIMPLE_COMMAND
                        GENERIC_COMMAND_DIRECTIVE
                          LITERAL
                            PsiElement(word)('reportError')
                        PsiWhiteSpace(' ')
                        STRING
                          PsiElement(OPEN_QUOTE)('"')
                          PsiElement(STRING_CONTENT)('Invalid function passed: ')
                          VARIABLE
                            PsiElement(var)('$function')
                          PsiElement(CLOSE_QUOTE)('"')
                      PsiElement(\n)('\n')
                      PsiWhiteSpace('            ')
                      SIMPLE_COMMAND
                        GENERIC_COMMAND_DIRECTIVE
                          LITERAL
                            PsiElement(word)('return')
                        PsiWhiteSpace(' ')
                        NUMBER
                          PsiElement(int)('1')
                      PsiElement(\n)('\n')
                  PsiWhiteSpace('        ')
                  PsiElement(fi)('fi')
                PsiElement(\n)('\n')
              PsiWhiteSpace('    ')
              PsiElement(done)('done')
          PsiElement(\n)('\n')
          PsiElement(\n)('\n')
          PsiWhiteSpace('    ')
          SIMPLE_COMMAND
            GENERIC_COMMAND_DIRECTIVE
              LITERAL
                PsiElement(word)('typeset')
            PsiWhiteSpace(' ')
            SIMPLE_COMMAND_ELEMENT
              ASSIGNMENT_COMMAND
                LITERAL
                  PsiElement(word)('IFS')
                PsiElement(=)('=')
                STRING
                  PsiElement(OPEN_QUOTE)('"')
                  PsiElement(STRING_CONTENT)(' ')
                  PsiElement(CLOSE_QUOTE)('"')
          PsiElement(\n)('\n')
          PsiWhiteSpace('    ')
          IF_COMMAND
            PsiElement(if)('if')
            PsiWhiteSpace(' ')
            COMPOUND_LIST
              CONDITIONAL_COMMAND
                PsiElement([)('[')
                PsiWhiteSpace(' ')
                ASSIGNMENT_CONDITION
                  LITERAL_CONDITION
                    STRING
                      PsiElement(OPEN_QUOTE)('"')
                      VARIABLE
                        PsiElement(var)('$function')
                      PsiElement(CLOSE_QUOTE)('"')
                  PsiWhiteSpace(' ')
                  PsiElement(=)('=')
                  PsiWhiteSpace(' ')
                  LITERAL_CONDITION
                    STRING
                      PsiElement(OPEN_QUOTE)('"')
                      PsiElement(STRING_CONTENT)('printVals')
                      PsiElement(CLOSE_QUOTE)('"')
                PsiWhiteSpace(' ')
                PsiElement(])(']')
              PsiElement(;)(';')
            PsiWhiteSpace(' ')
            THEN_CLAUSE
              PsiElement(then)('then')
              COMPOUND_LIST
                PsiElement(\n)('\n')
                PsiWhiteSpace('        ')
                ASSIGNMENT_COMMAND
                  LITERAL
                    PsiElement(word)('output')
                  PsiElement(=)('=')
                  STRING
                    PsiElement(OPEN_QUOTE)('"')
                    PsiElement($)('$')
                    SHELL_PARAMETER_EXPANSION
                      PsiElement({)('{')
                      PsiElement(word)('values')
                      ARRAY_EXPRESSION
                        PsiElement([)('[')
                        LITERAL_EXPRESSION
                          PsiElement(word)('*')
                        PsiElement(])(']')
                      PsiElement(})('}')
                    PsiElement(CLOSE_QUOTE)('"')
                PsiElement(\n)('\n')
                PsiWhiteSpace('        ')
                SIMPLE_COMMAND
                  GENERIC_COMMAND_DIRECTIVE
                    LITERAL
                      PsiElement(word)('reportDebug')
                  PsiWhiteSpace(' ')
                  STRING
                    PsiElement(OPEN_QUOTE)('"')
                    PsiElement(STRING_CONTENT)('Output: ')
                    VARIABLE
                      PsiElement(var)('$output')
                    PsiElement(CLOSE_QUOTE)('"')
                PsiElement(\n)('\n')
                PsiWhiteSpace('        ')
                SIMPLE_COMMAND
                  GENERIC_COMMAND_DIRECTIVE
                    LITERAL
                      PsiElement(word)('printf')
                  PsiWhiteSpace(' ')
                  STRING
                    PsiElement(OPEN_QUOTE)('"')
                    VARIABLE
                      PsiElement(var)('$output')
                    PsiElement(STRING_CONTENT)('\n')
                    PsiElement(CLOSE_QUOTE)('"')
                PsiElement(\n)('\n')
            PsiWhiteSpace('    ')
            PsiElement(fi)('fi')
          PsiElement(\n)('\n')
          PsiElement(\n)('\n')
          PsiWhiteSpace('    ')
          SIMPLE_COMMAND
            GENERIC_COMMAND_DIRECTIVE
              LITERAL
                PsiElement(word)('return')
            PsiWhiteSpace(' ')
            NUMBER
              PsiElement(int)('0')
          PsiElement(\n)('\n')
        PsiElement(})('}')