FILE
  LSSectionsCommandImpl(SECTIONS_COMMAND)
    PsiElement(SECTIONS)('SECTIONS')
    PsiWhiteSpace(' ')
    PsiElement({)('{')
    PsiWhiteSpace('\n    ')
    LSSectionStmtImpl(SECTION_STMT)
      LSOverlayStmtImpl(OVERLAY_STMT)
        PsiElement(OVERLAY)('OVERLAY')
        PsiWhiteSpace(' ')
        PsiElement(:)(':')
        PsiErrorElement:NOCROSSREFS or '{' expected, got '}'
          <empty list>
    PsiWhiteSpace('\n')
    PsiElement(})('}')
  PsiWhiteSpace('\n\n')
  LSMemoryCommandImpl(MEMORY_COMMAND)
    PsiElement(MEMORY)('MEMORY')
    PsiWhiteSpace(' ')
    PsiElement({)('{')
    PsiWhiteSpace('\n    ')
    LSMemoryDeclarationImpl(MEMORY_DECLARATION)
      LSNamedMemoryDeclImpl(NAMED_MEMORY_DECL)
        PsiElement(IDENTIFIER)('ram')
        PsiWhiteSpace(' ')
        PsiElement(:)(':')
        PsiWhiteSpace(' ')
        LSOriginAssignmentImpl(ORIGIN_ASSIGNMENT)
          PsiElement(ORIGIN)('ORIGIN')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace(' ')
          LSPrimaryExprImpl(PRIMARY_EXPR)
            PsiElement(INT)('0x400')
        PsiElement(,)(',')
        PsiWhiteSpace(' ')
        LSLengthAssignmentImpl(LENGTH_ASSIGNMENT)
          PsiElement(LENGTH)('LENGTH')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace(' ')
          LSPrimaryExprImpl(PRIMARY_EXPR)
            PsiElement(INT)('0x100')
    PsiWhiteSpace('\n')
    PsiElement(})('}')
  PsiWhiteSpace('\n\n')
  LSSectionsCommandImpl(SECTIONS_COMMAND)
    PsiElement(SECTIONS)('SECTIONS')
    PsiWhiteSpace(' ')
    PsiElement({)('{')
    PsiWhiteSpace('\n')
    PsiElement(})('}')
    PsiWhiteSpace(' ')
    LSInsertStmtImpl(INSERT_STMT)
      PsiElement(INSERT)('INSERT')
      PsiErrorElement:AFTER or BEFORE expected, got 'SECTIONS'
        <empty list>
  PsiWhiteSpace('\n\n\n')
  LSSectionsCommandImpl(SECTIONS_COMMAND)
    PsiElement(SECTIONS)('SECTIONS')
    PsiWhiteSpace(' ')
    PsiElement({)('{')
    PsiWhiteSpace('\n    ')
    LSSectionStmtImpl(SECTION_STMT)
      LSOutputSectionDescriptionImpl(OUTPUT_SECTION_DESCRIPTION)
        PsiElement(IDENTIFIER)('.text')
        PsiWhiteSpace(' ')
        PsiElement(:)(':')
        PsiWhiteSpace(' ')
        PsiElement({)('{')
        PsiWhiteSpace('\n\n')
        LSInputSectionDescriptionImpl(INPUT_SECTION_DESCRIPTION)
          PsiErrorElement:<input section rule>, <symbol assignment>, BYTE, CONSTRUCTORS, CREATE_OBJECT_SYMBOLS, FILL, IDENTIFIER, INCLUDE, INPUT_SECTION_FLAGS, KEEP, LONG, PP_DIRECTIVE, QUAD, SHORT, SORT, STRING_LITERAL or WILDCARD expected, got 'SECTIONS'
            <empty list>
  LSSectionsCommandImpl(SECTIONS_COMMAND)
    PsiElement(SECTIONS)('SECTIONS')
    PsiWhiteSpace(' ')
    PsiElement({)('{')
    PsiWhiteSpace('\n    ')
    LSSectionStmtImpl(SECTION_STMT)
      LSOverlayStmtImpl(OVERLAY_STMT)
        PsiElement(OVERLAY)('OVERLAY')
        PsiWhiteSpace(' ')
        PsiElement(:)(':')
        PsiErrorElement:NOCROSSREFS or '{' expected, got 'SECTIONS'
          <empty list>
  PsiWhiteSpace('\n\n')
  LSSectionsCommandImpl(SECTIONS_COMMAND)
    PsiElement(SECTIONS)('SECTIONS')
    PsiWhiteSpace(' ')
    PsiElement({)('{')
    PsiWhiteSpace('\n    ')
    LSSectionStmtImpl(SECTION_STMT)
      LSOutputSectionDescriptionImpl(OUTPUT_SECTION_DESCRIPTION)
        PsiElement(IDENTIFIER)('.text')
        PsiWhiteSpace(' ')
        PsiElement(:)(':')
        PsiWhiteSpace(' ')
        PsiElement({)('{')
        PsiWhiteSpace('\n        ')
        LSInputSectionDescriptionImpl(INPUT_SECTION_DESCRIPTION)
          PsiElement(INPUT_SECTION_FLAGS)('INPUT_SECTION_FLAGS')
          PsiElement(()('(')
          PsiErrorElement:<input section flag values> expected
            <empty list>