'bugaga' ==~ /abc ${doo "def ${a+b}"} fgh$st ${frg./sdf/(5)} /
-----
Groovy script
  Logical expression
    Literal
      PsiElement(string)(''bugaga'')
    PsiWhiteSpace(' ')
    PsiElement(==~)('==~')
    PsiWhiteSpace(' ')
    Compound regular expression
      PsiElement(regex begin)('/')
      GrStringContentImpl(GString content element)
        PsiElement(regex content)('abc ')
      GString injection
        PsiElement($)('$')
        Closable block
          PsiElement({)('{')
          Parameter list
            <empty list>
          Call expression
            Reference expression
              PsiElement(identifier)('doo')
            PsiWhiteSpace(' ')
            Command arguments
              Compound Gstring
                PsiElement(Gstring begin)('"')
                GrStringContentImpl(GString content element)
                  PsiElement(Gstring content)('def ')
                GString injection
                  PsiElement($)('$')
                  Closable block
                    PsiElement({)('{')
                    Parameter list
                      <empty list>
                    Additive expression
                      Reference expression
                        PsiElement(identifier)('a')
                      PsiElement(+)('+')
                      Reference expression
                        PsiElement(identifier)('b')
                    PsiElement(})('}')
                GrStringContentImpl(GString content element)
                  ASTWrapperPsiElement(Gstring content)
                    <empty list>
                PsiElement(Gstring end)('"')
          PsiElement(})('}')
      GrStringContentImpl(GString content element)
        PsiElement(regex content)(' fgh')
      GString injection
        PsiElement($)('$')
        Reference expression
          PsiElement(identifier)('st')
      GrStringContentImpl(GString content element)
        PsiElement(regex content)(' ')
      GString injection
        PsiElement($)('$')
        Closable block
          PsiElement({)('{')
          Parameter list
            <empty list>
          Method call
            Reference expression
              Reference expression
                PsiElement(identifier)('frg')
              PsiElement(.)('.')
              GroovyASTPsiElementImpl(regex literal)
                PsiElement(regex begin)('/')
                PsiElement(regex content)('sdf')
                PsiElement(regex end)('/')
            Arguments
              PsiElement(()('(')
              Literal
                PsiElement(Integer)('5')
              PsiElement())(')')
          PsiElement(})('}')
      GrStringContentImpl(GString content element)
        PsiElement(regex content)(' ')
      PsiElement(regex end)('/')