whole_func_string: function parse_arguments( argv ) {
  	var parsed       = {};
  	var current      = false;
  	var name         = false;
  	var unrecognized = false;
  	var have_action  = false;
  	var is_global    = false;
  	var name_format, option;
  
  	var i, j;
  
  	for ( i = 3, len = argv.length; i < len; i++ ) {
  		// Параметр или значение? //
  		if ( argv[ i ][ 0 ] === '-' ) {
  			// Объявление параметра //
  			 
  			// Сброс буфера имени текущего параметра //
  			current     = false;
  
  			// Сброс флага наличия связанного действия //
  			have_action = false;
  			
  			// Полное или краткое название параметра? // 
  			if ( argv[ i ][ 1 ] === '-' ) {
  				// Полное //
  				name        = argv[ i ].substr( 2 );
  				name_format = 'full_name';
  			} else {
  				// Краткое //
  				name        = argv[ i ].substr( 1 );
  				name_format = 'short_name';
  			}
  
  			// Перебор параметров текущей команды //
  			for ( j = 0; j < this.cmd.options.length; j++ ) {
  				if ( this.cmd.options[ j ][ name_format ] === name ) {
  					parsed[ this.cmd.options[ j ].access_name ] = true;
  					current = this.cmd.options[ j ].access_name;
  					option  = this.cmd.options[ j ];
  					break;
  				}
  			}
  
  			// Если параметр не принадлежит выполняемой команде //
  			if ( !current ) {
  				// Перебор глобальных параметров //
  				for ( j = 0; j < this.options.length; j++ ) {
  					if ( this.options[ j ][ name_format ] === name ) {
  						parsed[ this.options[ j ].access_name ] = true;
  						current = this.options[ j ].access_name;
  						option  = this.options[ j ];
  						break;
  					}
  				}	
  			}
  
  			// Если параметр определен в описании программы //
  			if ( current ) {
  				// Если параметр требует выполнения некой функции //
  				if ( option.action ) {
  					have_action = true;
  					actions_quee.push({
  						'action' : option.action,
  						'value'  : parsed[ current ]
  					});
  				}
  			} else {
  				// Если текущий параметр не найден нигде, предупреждаем пользователя //
  				unrecognized = true;
  				console.warn( "  Unrecognized option '%s', see help.", name );
  			}
  		} else {
  			// Объявление значения параметра //
  			
  			// Если значению предшествует название параметра //
  			if ( current ) {
  				// Регистрация параметра и его значения //
  				parsed[ current ] = argv[ i ];
  
  				// Если параметр имеет связанное действие //
  				if ( have_action ) {
  					// Регистрация значения параметра //
  					actions_quee[ actions_quee.length - 1 ].value = argv[ i ];
  				}
  			} else {
  				// WTF? //
  				console.warn( "  Unexpected value '%s' without option, check syntax.", argv[ i ] );
  				unrecognized = true;
  			}
  		}
  	}
  
  	return unrecognized ? false : parsed;
  }
func_code_string: function parse_arguments( argv ) {
  	var parsed       = {};
  	var current      = false;
  	var name         = false;
  	var unrecognized = false;
  	var have_action  = false;
  	var is_global    = false;
  	var name_format, option;
  
  	var i, j;
  
  	for ( i = 3, len = argv.length; i < len; i++ ) {
  		// Параметр или значение? //
  		if ( argv[ i ][ 0 ] === '-' ) {
  			// Объявление параметра //
  			 
  			// Сброс буфера имени текущего параметра //
  			current     = false;
  
  			// Сброс флага наличия связанного действия //
  			have_action = false;
  			
  			// Полное или краткое название параметра? // 
  			if ( argv[ i ][ 1 ] === '-' ) {
  				// Полное //
  				name        = argv[ i ].substr( 2 );
  				name_format = 'full_name';
  			} else {
  				// Краткое //
  				name        = argv[ i ].substr( 1 );
  				name_format = 'short_name';
  			}
  
  			// Перебор параметров текущей команды //
  			for ( j = 0; j < this.cmd.options.length; j++ ) {
  				if ( this.cmd.options[ j ][ name_format ] === name ) {
  					parsed[ this.cmd.options[ j ].access_name ] = true;
  					current = this.cmd.options[ j ].access_name;
  					option  = this.cmd.options[ j ];
  					break;
  				}
  			}
  
  			// Если параметр не принадлежит выполняемой команде //
  			if ( !current ) {
  				// Перебор глобальных параметров //
  				for ( j = 0; j < this.options.length; j++ ) {
  					if ( this.options[ j ][ name_format ] === name ) {
  						parsed[ this.options[ j ].access_name ] = true;
  						current = this.options[ j ].access_name;
  						option  = this.options[ j ];
  						break;
  					}
  				}	
  			}
  
  			// Если параметр определен в описании программы //
  			if ( current ) {
  				// Если параметр требует выполнения некой функции //
  				if ( option.action ) {
  					have_action = true;
  					actions_quee.push({
  						'action' : option.action,
  						'value'  : parsed[ current ]
  					});
  				}
  			} else {
  				// Если текущий параметр не найден нигде, предупреждаем пользователя //
  				unrecognized = true;
  				console.warn( "  Unrecognized option '%s', see help.", name );
  			}
  		} else {
  			// Объявление значения параметра //
  			
  			// Если значению предшествует название параметра //
  			if ( current ) {
  				// Регистрация параметра и его значения //
  				parsed[ current ] = argv[ i ];
  
  				// Если параметр имеет связанное действие //
  				if ( have_action ) {
  					// Регистрация значения параметра //
  					actions_quee[ actions_quee.length - 1 ].value = argv[ i ];
  				}
  			} else {
  				// WTF? //
  				console.warn( "  Unexpected value '%s' without option, check syntax.", argv[ i ] );
  				unrecognized = true;
  			}
  		}
  	}
  
  	return unrecognized ? false : parsed;
  }
func_documentation_string: Выполняет парсинг массива параметров в результирующий
  объект согласно описанию этих параметров.
  @param  {object} argv Массив переданных при запуске параметров
  @return {object} 	 Результат парсинга