anchor.diff:  _insideString = False
   
   def nextToken(self):
  -    token = super(PhpLexer_Python, self).nextToken()
  +    token = super(PhpLexer, self).nextToken()
   
       if token.type == self.PHPEnd or token.type == self.PHPEndSingleLineComment:
           if self._mode == self.SingleLineCommentMode:
  
positive.code:         if token.type == self.HereDocText:
              if self.CheckHeredocEnd(token.text):
                  self.popMode()
                  if token.text.strip().endswith(';'):
                      token = CommonToken(type=self.SemiColon)
                      token.text = ';'
                  else:
                      token = super(PhpLexer_Python, self).nextToken()
      elif self._mode == self.PHP:
          if self._channel == self.HIDDEN:
              self._prevTokenType = token.type
  
      return token
  
  def CheckHeredocEnd(self, text):
      identifier = text.strip().rstrip(';')
      return identifier == self._heredocIdentifier
  
  }
  
  
negative.code:                 self._prevTokenType == self.Colon or \
                  self._prevTokenType == self.OpenCurlyBracket or \
                  self._prevTokenType == self.CloseCurlyBracket:
                  token = super(PhpLexer, self).nextToken()
              else:
                  token = CommonToken(type=self.SemiColon)
                  token.text = ';'
  