code: def skip(self):
          
          buflen = len(self.buf)
  
          while True:
              self.buf = self.buf.lstrip()
              if self.buf == '':
                  self.readline()
                  buflen = len(self.buf)
              else:
                  self.offset += (buflen - len(self.buf))
                  break
  
          # do not keep comments in the syntax tree
          if not self.keep_comments:
              # skip line comment
              if self.buf[0] == '/':
                  if self.buf[1] == '/':
                      self.readline()
                      return self.skip()
              # skip block comment
                  elif self.buf[1] == '*':
                      i = self.buf.find('*/')
                      while i == -1:
                          self.readline()
                          i = self.buf.find('*/')
                      self.set_buf(i+2)
                      return self.skip()
docs: Skip whitespace and count position