docs: function goBasicParser(optstring, argv, optind)
  {
  	var ii;
  
  	ASSERT(optstring || optstring === '', 'optstring is required');
  	ASSERT(optstring.constructor === String, 'optstring must be a string');
  	ASSERT(argv, 'argv is required');
  	ASSERT(argv.constructor === Array, 'argv must be an array');
  
  	this.gop_argv = new Array(argv.length);
  	this.gop_options = {};
  	this.gop_aliases = {};
  	this.gop_optind = optind !== undefined ? optind : 2;
  	this.gop_subind = 0;
  
  	for (ii = 0; ii < argv.length; ii++) {
  		ASSERT(argv[ii].constructor === String,
  		    'argv must be string array');
  		this.gop_argv[ii] = argv[ii];
  	}
  
  	this.parseOptstr(optstring);
  }