SHELL_SCRIPT
  PsiComment(shebang)('#!/bin/bash')
  PsiElement(\n)('\n')
  PsiElement(\n)('\n')
  COMMANDS_LIST
    SIMPLE_COMMAND
      GENERIC_COMMAND_DIRECTIVE
        LITERAL
          PsiElement(word)('echo')
      PsiWhiteSpace(' ')
      STRING
        PsiElement(OPEN_QUOTE)('"')
        PsiElement(STRING_CONTENT)('This script can make any of the files in this directory private.')
        PsiElement(CLOSE_QUOTE)('"')
  PsiElement(\n)('\n')
  COMMANDS_LIST
    SIMPLE_COMMAND
      GENERIC_COMMAND_DIRECTIVE
        LITERAL
          PsiElement(word)('echo')
      PsiWhiteSpace(' ')
      STRING
        PsiElement(OPEN_QUOTE)('"')
        PsiElement(STRING_CONTENT)('Enter the number of the file you want to protect:')
        PsiElement(CLOSE_QUOTE)('"')
  PsiElement(\n)('\n')
  PsiElement(\n)('\n')
  COMMANDS_LIST
    ASSIGNMENT_COMMAND
      LITERAL
        PsiElement(word)('PS3')
      PsiElement(=)('=')
      STRING
        PsiElement(OPEN_QUOTE)('"')
        PsiElement(STRING_CONTENT)('Your choice: ')
        PsiElement(CLOSE_QUOTE)('"')
  PsiElement(\n)('\n')
  COMMANDS_LIST
    ASSIGNMENT_COMMAND
      LITERAL
        PsiElement(word)('QUIT')
      PsiElement(=)('=')
      STRING
        PsiElement(OPEN_QUOTE)('"')
        PsiElement(STRING_CONTENT)('QUIT THIS PROGRAM - I feel safe now.')
        PsiElement(CLOSE_QUOTE)('"')
  PsiElement(\n)('\n')
  COMMANDS_LIST
    SIMPLE_COMMAND
      GENERIC_COMMAND_DIRECTIVE
        LITERAL
          PsiElement(word)('touch')
      PsiWhiteSpace(' ')
      STRING
        PsiElement(OPEN_QUOTE)('"')
        VARIABLE
          PsiElement(var)('$QUIT')
        PsiElement(CLOSE_QUOTE)('"')
  PsiElement(\n)('\n')
  PsiElement(\n)('\n')
  COMMANDS_LIST
    SIMPLE_COMMAND
      GENERIC_COMMAND_DIRECTIVE
        LITERAL
          PsiElement(word)('chmod')
      PsiWhiteSpace(' ')
      LITERAL
        PsiElement(word)('go-rwx')
      PsiWhiteSpace(' ')
      STRING
        PsiElement(OPEN_QUOTE)('"')
        VARIABLE
          PsiElement(var)('$FILENAME')
        PsiElement(CLOSE_QUOTE)('"')
  PsiElement(\n)('\n')
  PsiElement(\n)('\n')
  COMMANDS_LIST
    SELECT_COMMAND
      PsiElement(select)('select')
      PsiWhiteSpace(' ')
      PsiElement(word)('FILENAME')
      PsiWhiteSpace(' ')
      PsiElement(in)('in')
      PsiWhiteSpace(' ')
      PsiElement(word)('*')
      LIST_TERMINATOR
        PsiElement(;)(';')
      PsiElement(\n)('\n')
      DO_BLOCK
        PsiElement(do)('do')
        COMPOUND_LIST
          PsiElement(\n)('\n')
          PsiWhiteSpace('  ')
          CASE_COMMAND
            PsiElement(case)('case')
            PsiWhiteSpace(' ')
            VARIABLE
              PsiElement(var)('$FILENAME')
            PsiWhiteSpace(' ')
            PsiElement(in)('in')
            CASE_CLAUSE
              PsiElement(\n)('\n')
              PsiWhiteSpace('        ')
              PATTERN
                STRING
                  PsiElement(OPEN_QUOTE)('"')
                  VARIABLE
                    PsiElement(var)('$QUIT')
                  PsiElement(CLOSE_QUOTE)('"')
              PsiElement())(')')
              PsiElement(\n)('\n')
              PsiWhiteSpace('          ')
              COMPOUND_LIST
                SIMPLE_COMMAND
                  GENERIC_COMMAND_DIRECTIVE
                    LITERAL
                      PsiElement(word)('echo')
                  PsiWhiteSpace(' ')
                  STRING
                    PsiElement(OPEN_QUOTE)('"')
                    PsiElement(STRING_CONTENT)('Exiting.')
                    PsiElement(CLOSE_QUOTE)('"')
                PsiElement(\n)('\n')
                PsiWhiteSpace('          ')
                GENERIC_COMMAND_DIRECTIVE
                  LITERAL
                    PsiElement(word)('break')
                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)('echo')
                  PsiWhiteSpace(' ')
                  STRING
                    PsiElement(OPEN_QUOTE)('"')
                    PsiElement(STRING_CONTENT)('You picked ')
                    VARIABLE
                      PsiElement(var)('$FILENAME')
                    PsiElement(STRING_CONTENT)(' (')
                    VARIABLE
                      PsiElement(var)('$REPLY')
                    PsiElement(STRING_CONTENT)(')')
                    PsiElement(CLOSE_QUOTE)('"')
                PsiElement(\n)('\n')
            PsiWhiteSpace('          ')
            PsiElement(;;)(';;')
            PsiElement(\n)('\n')
            PsiWhiteSpace('  ')
            PsiElement(esac)('esac')
          PsiElement(\n)('\n')
        PsiElement(done)('done')
  PsiElement(\n)('\n')
  COMMANDS_LIST
    SIMPLE_COMMAND
      GENERIC_COMMAND_DIRECTIVE
        LITERAL
          PsiElement(word)('rm')
      PsiWhiteSpace(' ')
      STRING
        PsiElement(OPEN_QUOTE)('"')
        VARIABLE
          PsiElement(var)('$QUIT')
        PsiElement(CLOSE_QUOTE)('"')