code: func yaml_parser_scan_version_directive_number(parser *yaml_parser_t, start_mark yaml_mark_t, number *int8) bool {
  
  	// Repeat while the next character is digit.
  	if parser.unread < 1 && !yaml_parser_update_buffer(parser, 1) {
  		return false
  	}
  	var value, length int8
  	for is_digit(parser.buffer, parser.buffer_pos) {
  		// Check if the number is too long.
  		length++
  		if length > max_number_length {
  			return yaml_parser_set_scanner_error(parser, "while scanning a %YAML directive",
  				start_mark, "found extremely long version number")
  		}
  		value = value*10 + int8(as_digit(parser.buffer, parser.buffer_pos))
  		skip(parser)
  		if parser.unread < 1 && !yaml_parser_update_buffer(parser, 1) {
  			return false
  		}
  	}
  
  	// Check if the number was present.
  	if length == 0 {
  		return yaml_parser_set_scanner_error(parser, "while scanning a %YAML directive",
  			start_mark, "did not find expected version number")
  	}
  	*number = value
  	return true
  }
docs: // Scan the version number of VERSION-DIRECTIVE.
  //
  // Scope:
  //      %YAML   1.1     # a comment \n
  //              ^
  //      %YAML   1.1     # a comment \n
  //                ^