FILE
  LSPhdrsCommandImpl(PHDRS_COMMAND)
    PsiElement(PHDRS)('PHDRS')
    PsiWhiteSpace(' ')
    PsiElement({)('{')
    PsiWhiteSpace('\n  ')
    LSPhdrStmtImpl(PHDR_STMT)
      PsiElement(IDENTIFIER)('text')
      PsiWhiteSpace(' ')
      LSPhdrTypeImpl(PHDR_TYPE)
        PsiElement(PT_LOAD)('PT_LOAD')
      PsiWhiteSpace(' ')
      LSPhdrAttributesImpl(PHDR_ATTRIBUTES)
        PsiElement(FLAGS)('FLAGS')
        LSParenExprImpl(PAREN_EXPR)
          PsiElement(()('(')
          LSPrimaryExprImpl(PRIMARY_EXPR)
            PsiElement(INT)('0x5')
          PsiElement())(')')
      PsiElement(;)(';')
    PsiWhiteSpace('\n  ')
    LSPhdrStmtImpl(PHDR_STMT)
      PsiElement(IDENTIFIER)('data')
      PsiWhiteSpace(' ')
      LSPhdrTypeImpl(PHDR_TYPE)
        PsiElement(PT_LOAD)('PT_LOAD')
      PsiWhiteSpace(' ')
      LSPhdrAttributesImpl(PHDR_ATTRIBUTES)
        PsiElement(FLAGS)('FLAGS')
        LSParenExprImpl(PAREN_EXPR)
          PsiElement(()('(')
          LSPrimaryExprImpl(PRIMARY_EXPR)
            PsiElement(INT)('0x6')
          PsiElement())(')')
      PsiElement(;)(';')
    PsiWhiteSpace('\n')
    PsiElement(})('}')
  PsiWhiteSpace('\n\n')
  LSSectionsCommandImpl(SECTIONS_COMMAND)
    PsiElement(SECTIONS)('SECTIONS')
    PsiWhiteSpace(' ')
    PsiElement({)('{')
    PsiWhiteSpace('\n  ')
    LSSectionStmtImpl(SECTION_STMT)
      LSAssignmentExprImpl(ASSIGNMENT_EXPR)
        LSSymbolAssignmentImpl(SYMBOL_ASSIGNMENT)
          PsiElement(IDENTIFIER)('.')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace(' ')
          LSPrimaryExprImpl(PRIMARY_EXPR)
            PsiElement(SIZEOF_HEADERS)('SIZEOF_HEADERS')
    PsiElement(;)(';')
    PsiWhiteSpace('\n  ')
    LSSectionStmtImpl(SECTION_STMT)
      LSOutputSectionDescriptionImpl(OUTPUT_SECTION_DESCRIPTION)
        PsiElement(IDENTIFIER)('.text')
        PsiWhiteSpace(' ')
        PsiElement(:)(':')
        PsiWhiteSpace(' ')
        PsiElement({)('{')
        PsiWhiteSpace(' ')
        LSInputSectionDescriptionImpl(INPUT_SECTION_DESCRIPTION)
          LSInputSectionRuleImpl(INPUT_SECTION_RULE)
            PsiElement(*)('*')
            PsiElement(()('(')
            LSInputSectionsListImpl(INPUT_SECTIONS_LIST)
              PsiElement(IDENTIFIER)('.text')
            PsiElement())(')')
        PsiWhiteSpace(' ')
        PsiElement(})('}')
        PsiWhiteSpace(' ')
        LSOutputSectionPhdrsImpl(OUTPUT_SECTION_PHDRS)
          PsiElement(:)(':')
          PsiWhiteSpace(' ')
          PsiElement(IDENTIFIER)('text')
    PsiWhiteSpace('\n  ')
    LSSectionStmtImpl(SECTION_STMT)
      LSAssignmentExprImpl(ASSIGNMENT_EXPR)
        LSSymbolAssignmentImpl(SYMBOL_ASSIGNMENT)
          PsiElement(IDENTIFIER)('.')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace(' ')
          LSAlignExprImpl(ALIGN_EXPR)
            PsiElement(ALIGN)('ALIGN')
            PsiElement(()('(')
            LSConstantExprImpl(CONSTANT_EXPR)
              PsiElement(CONSTANT)('CONSTANT')
              PsiElement(()('(')
              PsiElement(MAXPAGESIZE)('MAXPAGESIZE')
              PsiElement())(')')
            PsiElement())(')')
    PsiElement(;)(';')
    PsiWhiteSpace('\n  ')
    LSSectionStmtImpl(SECTION_STMT)
      LSOutputSectionDescriptionImpl(OUTPUT_SECTION_DESCRIPTION)
        PsiElement(IDENTIFIER)('foo')
        PsiWhiteSpace(' ')
        PsiElement(:)(':')
        PsiWhiteSpace(' ')
        PsiElement({)('{')
        PsiWhiteSpace(' ')
        LSAssignmentExprImpl(ASSIGNMENT_EXPR)
          LSSymbolAssignmentImpl(SYMBOL_ASSIGNMENT)
            PsiElement(IDENTIFIER)('__start_foo')
            PsiWhiteSpace(' ')
            PsiElement(=)('=')
            PsiWhiteSpace(' ')
            LSPrimaryExprImpl(PRIMARY_EXPR)
              PsiElement(IDENTIFIER)('.')
        PsiElement(;)(';')
        PsiWhiteSpace(' ')
        LSInputSectionDescriptionImpl(INPUT_SECTION_DESCRIPTION)
          LSInputSectionRuleImpl(INPUT_SECTION_RULE)
            PsiElement(*)('*')
            PsiElement(()('(')
            LSInputSectionsListImpl(INPUT_SECTIONS_LIST)
              PsiElement(IDENTIFIER)('foo')
            PsiElement())(')')
        PsiElement(;)(';')
        PsiWhiteSpace(' ')
        LSAssignmentExprImpl(ASSIGNMENT_EXPR)
          LSSymbolAssignmentImpl(SYMBOL_ASSIGNMENT)
            PsiElement(IDENTIFIER)('__end_foo')
            PsiWhiteSpace(' ')
            PsiElement(=)('=')
            PsiWhiteSpace(' ')
            LSPrimaryExprImpl(PRIMARY_EXPR)
              PsiElement(IDENTIFIER)('.')
        PsiElement(;)(';')
        PsiWhiteSpace(' ')
        PsiElement(})('}')
        PsiWhiteSpace(' ')
        LSOutputSectionPhdrsImpl(OUTPUT_SECTION_PHDRS)
          PsiElement(:)(':')
          PsiWhiteSpace(' ')
          PsiElement(IDENTIFIER)('data')
    PsiWhiteSpace('\n  ')
    LSSectionStmtImpl(SECTION_STMT)
      LSOutputSectionDescriptionImpl(OUTPUT_SECTION_DESCRIPTION)
        PsiElement(IDENTIFIER)('.data')
        PsiWhiteSpace(' ')
        PsiElement(:)(':')
        PsiWhiteSpace(' ')
        PsiElement({)('{')
        PsiWhiteSpace(' ')
        LSInputSectionDescriptionImpl(INPUT_SECTION_DESCRIPTION)
          LSInputSectionRuleImpl(INPUT_SECTION_RULE)
            PsiElement(*)('*')
            PsiElement(()('(')
            LSInputSectionsListImpl(INPUT_SECTIONS_LIST)
              PsiElement(IDENTIFIER)('.data')
            PsiElement())(')')
        PsiWhiteSpace(' ')
        PsiElement(})('}')
    PsiWhiteSpace('\n  ')
    LSSectionStmtImpl(SECTION_STMT)
      LSOutputSectionDescriptionImpl(OUTPUT_SECTION_DESCRIPTION)
        PsiElement(IDENTIFIER)('.dynamic')
        PsiWhiteSpace(' ')
        PsiElement(:)(':')
        PsiWhiteSpace(' ')
        PsiElement({)('{')
        PsiWhiteSpace(' ')
        LSInputSectionDescriptionImpl(INPUT_SECTION_DESCRIPTION)
          LSInputSectionRuleImpl(INPUT_SECTION_RULE)
            PsiElement(*)('*')
            PsiElement(()('(')
            LSInputSectionsListImpl(INPUT_SECTIONS_LIST)
              PsiElement(IDENTIFIER)('.dynamic')
            PsiElement())(')')
        PsiWhiteSpace(' ')
        PsiElement(})('}')
    PsiWhiteSpace('\n')
    PsiElement(})('}')