FILE
  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)('.foo')
        PsiWhiteSpace(' ')
        PsiElement(:)(':')
        PsiWhiteSpace(' ')
        PsiElement({)('{')
        PsiWhiteSpace('\n    ')
        LSAssignmentExprImpl(ASSIGNMENT_EXPR)
          LSSymbolAssignmentImpl(SYMBOL_ASSIGNMENT)
            PsiElement(IDENTIFIER)('begin_foo')
            PsiWhiteSpace(' ')
            PsiElement(=)('=')
            PsiWhiteSpace(' ')
            LSPrimaryExprImpl(PRIMARY_EXPR)
              PsiElement(IDENTIFIER)('.')
        PsiElement(;)(';')
        PsiWhiteSpace('\n    ')
        LSProvideExprImpl(PROVIDE_EXPR)
          PsiElement(PROVIDE)('PROVIDE')
          PsiElement(()('(')
          LSSymbolAssignmentImpl(SYMBOL_ASSIGNMENT)
            PsiElement(IDENTIFIER)('_begin_sec')
            PsiWhiteSpace(' ')
            PsiElement(=)('=')
            PsiWhiteSpace(' ')
            LSPrimaryExprImpl(PRIMARY_EXPR)
              PsiElement(IDENTIFIER)('.')
          PsiElement())(')')
        PsiElement(;)(';')
        PsiWhiteSpace('\n    ')
        LSInputSectionDescriptionImpl(INPUT_SECTION_DESCRIPTION)
          LSInputSectionRuleImpl(INPUT_SECTION_RULE)
            PsiElement(*)('*')
            PsiElement(()('(')
            LSInputSectionsListImpl(INPUT_SECTIONS_LIST)
              PsiElement(IDENTIFIER)('.foo')
            PsiElement())(')')
        PsiWhiteSpace('\n    ')
        LSAssignmentExprImpl(ASSIGNMENT_EXPR)
          LSSymbolAssignmentImpl(SYMBOL_ASSIGNMENT)
            PsiElement(IDENTIFIER)('end_foo')
            PsiWhiteSpace(' ')
            PsiElement(=)('=')
            PsiWhiteSpace(' ')
            LSPrimaryExprImpl(PRIMARY_EXPR)
              PsiElement(IDENTIFIER)('.')
        PsiElement(;)(';')
        PsiWhiteSpace('\n    ')
        LSProvideHiddenExprImpl(PROVIDE_HIDDEN_EXPR)
          PsiElement(PROVIDE_HIDDEN)('PROVIDE_HIDDEN')
          PsiElement(()('(')
          LSSymbolAssignmentImpl(SYMBOL_ASSIGNMENT)
            PsiElement(IDENTIFIER)('_end_sec')
            PsiWhiteSpace(' ')
            PsiElement(=)('=')
            PsiWhiteSpace(' ')
            LSPrimaryExprImpl(PRIMARY_EXPR)
              PsiElement(IDENTIFIER)('.')
          PsiElement())(')')
        PsiElement(;)(';')
        PsiWhiteSpace('\n    ')
        LSProvideExprImpl(PROVIDE_EXPR)
          PsiElement(PROVIDE)('PROVIDE')
          PsiElement(()('(')
          LSSymbolAssignmentImpl(SYMBOL_ASSIGNMENT)
            PsiElement(IDENTIFIER)('_end_sec_abs')
            PsiWhiteSpace(' ')
            PsiElement(=)('=')
            PsiWhiteSpace(' ')
            LSAbsoluteExprImpl(ABSOLUTE_EXPR)
              PsiElement(ABSOLUTE)('ABSOLUTE')
              PsiElement(()('(')
              LSPrimaryExprImpl(PRIMARY_EXPR)
                PsiElement(IDENTIFIER)('.')
              PsiElement())(')')
          PsiElement())(')')
        PsiElement(;)(';')
        PsiWhiteSpace('\n    ')
        LSAssignmentExprImpl(ASSIGNMENT_EXPR)
          LSSymbolAssignmentImpl(SYMBOL_ASSIGNMENT)
            PsiElement(IDENTIFIER)('size_foo_1')
            PsiWhiteSpace(' ')
            PsiElement(=)('=')
            PsiWhiteSpace(' ')
            LSSizeofExprImpl(SIZEOF_EXPR)
              PsiElement(SIZEOF)('SIZEOF')
              PsiElement(()('(')
              PsiElement(IDENTIFIER)('.foo')
              PsiElement())(')')
        PsiElement(;)(';')
        PsiWhiteSpace('\n    ')
        LSAssignmentExprImpl(ASSIGNMENT_EXPR)
          LSSymbolAssignmentImpl(SYMBOL_ASSIGNMENT)
            PsiElement(IDENTIFIER)('size_foo_1_abs')
            PsiWhiteSpace(' ')
            PsiElement(=)('=')
            PsiWhiteSpace(' ')
            LSAbsoluteExprImpl(ABSOLUTE_EXPR)
              PsiElement(ABSOLUTE)('ABSOLUTE')
              PsiElement(()('(')
              LSSizeofExprImpl(SIZEOF_EXPR)
                PsiElement(SIZEOF)('SIZEOF')
                PsiElement(()('(')
                PsiElement(IDENTIFIER)('.foo')
                PsiElement())(')')
              PsiElement())(')')
        PsiElement(;)(';')
        PsiWhiteSpace('\n    ')
        LSAssignmentExprImpl(ASSIGNMENT_EXPR)
          LSSymbolAssignmentImpl(SYMBOL_ASSIGNMENT)
            PsiElement(IDENTIFIER)('.')
            PsiWhiteSpace(' ')
            PsiElement(=)('=')
            PsiWhiteSpace(' ')
            LSAlignExprImpl(ALIGN_EXPR)
              PsiElement(ALIGN)('ALIGN')
              PsiElement(()('(')
              LSPrimaryExprImpl(PRIMARY_EXPR)
                PsiElement(INT)('0x1000')
              PsiElement())(')')
        PsiElement(;)(';')
        PsiWhiteSpace('\n    ')
        LSAssignmentExprImpl(ASSIGNMENT_EXPR)
          LSSymbolAssignmentImpl(SYMBOL_ASSIGNMENT)
            PsiElement(IDENTIFIER)('begin_bar')
            PsiWhiteSpace(' ')
            PsiElement(=)('=')
            PsiWhiteSpace(' ')
            LSPrimaryExprImpl(PRIMARY_EXPR)
              PsiElement(IDENTIFIER)('.')
        PsiElement(;)(';')
        PsiWhiteSpace('\n    ')
        LSInputSectionDescriptionImpl(INPUT_SECTION_DESCRIPTION)
          LSInputSectionRuleImpl(INPUT_SECTION_RULE)
            PsiElement(*)('*')
            PsiElement(()('(')
            LSInputSectionsListImpl(INPUT_SECTIONS_LIST)
              PsiElement(IDENTIFIER)('.bar')
            PsiElement())(')')
        PsiWhiteSpace('\n    ')
        LSAssignmentExprImpl(ASSIGNMENT_EXPR)
          LSSymbolAssignmentImpl(SYMBOL_ASSIGNMENT)
            PsiElement(IDENTIFIER)('end_bar')
            PsiWhiteSpace(' ')
            PsiElement(=)('=')
            PsiWhiteSpace(' ')
            LSPrimaryExprImpl(PRIMARY_EXPR)
              PsiElement(IDENTIFIER)('.')
        PsiElement(;)(';')
        PsiWhiteSpace('\n    ')
        LSAssignmentExprImpl(ASSIGNMENT_EXPR)
          LSSymbolAssignmentImpl(SYMBOL_ASSIGNMENT)
            PsiElement(IDENTIFIER)('size_foo_2')
            PsiWhiteSpace(' ')
            PsiElement(=)('=')
            PsiWhiteSpace(' ')
            LSSizeofExprImpl(SIZEOF_EXPR)
              PsiElement(SIZEOF)('SIZEOF')
              PsiElement(()('(')
              PsiElement(IDENTIFIER)('.foo')
              PsiElement())(')')
        PsiElement(;)(';')
        PsiWhiteSpace('\n  ')
        PsiElement(})('}')
    PsiWhiteSpace('\n\n  ')
    LSSectionStmtImpl(SECTION_STMT)
      LSAssignmentExprImpl(ASSIGNMENT_EXPR)
        LSSymbolAssignmentImpl(SYMBOL_ASSIGNMENT)
          PsiElement(IDENTIFIER)('size_foo_3')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace(' ')
          LSSizeofExprImpl(SIZEOF_EXPR)
            PsiElement(SIZEOF)('SIZEOF')
            PsiElement(()('(')
            PsiElement(IDENTIFIER)('.foo')
            PsiElement())(')')
    PsiElement(;)(';')
    PsiWhiteSpace('\n\n  ')
    LSSectionStmtImpl(SECTION_STMT)
      LSOutputSectionDescriptionImpl(OUTPUT_SECTION_DESCRIPTION)
        PsiElement(IDENTIFIER)('.eh_frame_hdr')
        PsiWhiteSpace(' ')
        PsiElement(:)(':')
        PsiWhiteSpace(' ')
        PsiElement({)('{')
        PsiWhiteSpace('\n     ')
        LSAssignmentExprImpl(ASSIGNMENT_EXPR)
          LSSymbolAssignmentImpl(SYMBOL_ASSIGNMENT)
            PsiElement(IDENTIFIER)('__eh_frame_hdr_start')
            PsiWhiteSpace(' ')
            PsiElement(=)('=')
            PsiWhiteSpace(' ')
            LSPrimaryExprImpl(PRIMARY_EXPR)
              PsiElement(IDENTIFIER)('.')
        PsiElement(;)(';')
        PsiWhiteSpace('\n     ')
        LSAssignmentExprImpl(ASSIGNMENT_EXPR)
          LSSymbolAssignmentImpl(SYMBOL_ASSIGNMENT)
            PsiElement(IDENTIFIER)('__eh_frame_hdr_start2')
            PsiWhiteSpace(' ')
            PsiElement(=)('=')
            PsiWhiteSpace(' ')
            LSAbsoluteExprImpl(ABSOLUTE_EXPR)
              PsiElement(ABSOLUTE)('ABSOLUTE')
              PsiElement(()('(')
              LSAlignExprImpl(ALIGN_EXPR)
                PsiElement(ALIGN)('ALIGN')
                PsiElement(()('(')
                LSPrimaryExprImpl(PRIMARY_EXPR)
                  PsiElement(INT)('0x10')
                PsiElement())(')')
              PsiElement())(')')
        PsiElement(;)(';')
        PsiWhiteSpace('\n     ')
        LSInputSectionDescriptionImpl(INPUT_SECTION_DESCRIPTION)
          LSInputSectionRuleImpl(INPUT_SECTION_RULE)
            PsiElement(*)('*')
            PsiElement(()('(')
            LSInputSectionsListImpl(INPUT_SECTIONS_LIST)
              PsiElement(IDENTIFIER)('.eh_frame_hdr')
            PsiElement())(')')
        PsiWhiteSpace('\n     ')
        LSAssignmentExprImpl(ASSIGNMENT_EXPR)
          LSSymbolAssignmentImpl(SYMBOL_ASSIGNMENT)
            PsiElement(IDENTIFIER)('__eh_frame_hdr_end')
            PsiWhiteSpace(' ')
            PsiElement(=)('=')
            PsiWhiteSpace(' ')
            LSPrimaryExprImpl(PRIMARY_EXPR)
              PsiElement(IDENTIFIER)('.')
        PsiElement(;)(';')
        PsiWhiteSpace('\n     ')
        LSAssignmentExprImpl(ASSIGNMENT_EXPR)
          LSSymbolAssignmentImpl(SYMBOL_ASSIGNMENT)
            PsiElement(IDENTIFIER)('__eh_frame_hdr_end2')
            PsiWhiteSpace(' ')
            PsiElement(=)('=')
            PsiWhiteSpace(' ')
            LSAbsoluteExprImpl(ABSOLUTE_EXPR)
              PsiElement(ABSOLUTE)('ABSOLUTE')
              PsiElement(()('(')
              LSAlignExprImpl(ALIGN_EXPR)
                PsiElement(ALIGN)('ALIGN')
                PsiElement(()('(')
                LSPrimaryExprImpl(PRIMARY_EXPR)
                  PsiElement(INT)('0x10')
                PsiElement())(')')
              PsiElement())(')')
        PsiElement(;)(';')
        PsiWhiteSpace('\n  ')
        PsiElement(})('}')
    PsiWhiteSpace('\n\n  ')
    LSSectionStmtImpl(SECTION_STMT)
      LSOutputSectionDescriptionImpl(OUTPUT_SECTION_DESCRIPTION)
        PsiElement(IDENTIFIER)('.eh_frame')
        PsiWhiteSpace(' ')
        PsiElement(:)(':')
        PsiWhiteSpace(' ')
        PsiElement({)('{')
        PsiElement(})('}')
    PsiWhiteSpace('\n')
    PsiElement(})('}')