parameters: (self)
docstring: Constructor.
docstring_summary: Constructor.
docstring_tokens: Constructor .
function: def __init__(self):
      """Constructor."""
      Scanner.__init__(self)
  
      # TODO: This breaks for strings ending in more than 2 backslashes.  Need
      # a pattern which counts only an odd number of backslashes, so the last
      # one thus escapes the quote.
      self.re_token = re.compile(r'(^\s*#|//|/\*|\*/|(?<!(?<!\\)\\)["\'])')
  
      # TODO: Treat '\' at EOL as a token, and handle it as continuing the
      # previous line.  That is, if in a comment-to-eol, this line is a comment
      # too.
  
      # Note that we treat # at beginning of line as a comment, so that we ignore
      # preprocessor definitions
      self.comment_to_eol = ['//', '#']
  
      self.comment_start = '/*'
      self.comment_end = '*/'
function_tokens: def __init__ ( self ) : Scanner . __init__ ( self ) # TODO: This breaks for strings ending in more than 2 backslashes.  Need # a pattern which counts only an odd number of backslashes, so the last # one thus escapes the quote. self . re_token = re . compile ( r'(^\s*#|//|/\*|\*/|(?<!(?<!\\)\\)["\'])' ) # TODO: Treat '\' at EOL as a token, and handle it as continuing the # previous line.  That is, if in a comment-to-eol, this line is a comment # too. # Note that we treat # at beginning of line as a comment, so that we ignore # preprocessor definitions self . comment_to_eol = [ '//' , '#' ] self . comment_start = '/*' self . comment_end = '*/'