REGEXP_FILE
  RegExpPatternImpl: <^a(bc+|b[eh])g|.h$>
    RegExpBranchImpl: <^a(bc+|b[eh])g>
      RegExpBoundaryImpl: <^>
        PsiElement(CARET)('^')
      RegExpCharImpl: <a>
        PsiElement(CHARACTER)('a')
      RegExpGroupImpl: <(bc+|b[eh])>
        PsiElement(GROUP_BEGIN)('(')
        RegExpPatternImpl: <bc+|b[eh]>
          RegExpBranchImpl: <bc+>
            RegExpCharImpl: <b>
              PsiElement(CHARACTER)('b')
            RegExpClosureImpl: <c+>
              RegExpCharImpl: <c>
                PsiElement(CHARACTER)('c')
              RegExpQuantifierImpl: <+>
                PsiElement(PLUS)('+')
          PsiElement(UNION)('|')
          RegExpBranchImpl: <b[eh]>
            RegExpCharImpl: <b>
              PsiElement(CHARACTER)('b')
            RegExpClassImpl: <[eh]>
              PsiElement(CLASS_BEGIN)('[')
              RegExpCharImpl: <e>
                PsiElement(CHARACTER)('e')
              RegExpCharImpl: <h>
                PsiElement(CHARACTER)('h')
              PsiElement(CLASS_END)(']')
        PsiElement(GROUP_END)(')')
      RegExpCharImpl: <g>
        PsiElement(CHARACTER)('g')
    PsiElement(UNION)('|')
    RegExpBranchImpl: <.h$>
      RegExpSimpleClassImpl: <.>
        PsiElement(DOT)('.')
      RegExpCharImpl: <h>
        PsiElement(CHARACTER)('h')
      RegExpBoundaryImpl: <$>
        PsiElement(DOLLAR)('$')