code: public static function className($content, $caller)
      {
          return array(
              '#
              (
                  (?:^|\S\s*)
                  \n[\t ]*
              )
              (
                  (?:
                      (?:'.constant($caller.'::ABSTRACT_SHORTCUTS').')
                      \s+
                  )?
                  \\\\?
                  (?:'.constant($caller.'::VALIDNAME').'\\\\)*
                  '.constant($caller.'::VALIDNAME').'
              )
              (?:
                  (?::|\s+:\s+|\s+extends\s+)
                  (
                      \\\\?
                      '.constant($caller.'::VALIDNAME').'
                      (?:\\\\'.constant($caller.'::VALIDNAME').')*
                  )
              )?
              (?:
                  (?:<<<|\s+<<<\s+|\s+implements\s+)
                  (
                      \\\\?
                      '.constant($caller.'::VALIDNAME').'
                      (?:\\\\'.constant($caller.'::VALIDNAME').')*
                      (?:
                          \s*,\s*
                          \\\\?
                          '.constant($caller.'::VALIDNAME').'
                          (?:\\\\'.constant($caller.'::VALIDNAME').')*
                      )*
                  )
              )?
              (
                  \s*
                  (?:{(?:.*})?)?
                  \s*\n
              )
              #xi',
              array(get_class(), '__parseClass'),
          );
      }
docs: ***********************