def nextclean
      while true
	c = self.nextchar()
	if (c == '/')
	  case self.nextchar()
	  when '/'
	    c = self.nextchar()
	    while c != "\n" && c != "\r" && c != "\0"
	      c = self.nextchar()
	    end
	  when '*'
	    while true
	      c = self.nextchar()
	      raise "unclosed comment" if (c == "\0")
	      if (c == '*')
		break if (self.nextchar() == '/')
		self.back()
	      end
	    end
	  else
	    self.back()
	    return '/';
	  end
	elsif c == "\0" || c[0] > " "[0]
	  return(c)
	end
      end
    end
def nextclean
      while true
	c = self.nextchar()
	if (c == '/')
	  case self.nextchar()
	  when '/'
	    c = self.nextchar()
	    while c != "\n" && c != "\r" && c != "\0"
	      c = self.nextchar()
	    end
	  when '*'
	    while true
	      c = self.nextchar()
	      raise "unclosed comment" if (c == "\0")
	      if (c == '*')
		break if (self.nextchar() == '/')
		self.back()
	      end
	    end
	  else
	    self.back()
	    return '/';
	  end
	elsif c == "\0" || c[0] > " "[0]
	  return(c)
	end
      end
    end
Read the next n characters from the string with escape sequence
 processing.