code: func yaml_parser_scan(parser *yaml_parser_t, token *yaml_token_t) bool {
  	// Erase the token object.
  	*token = yaml_token_t{} // [Go] Is this necessary?
  
  	// No tokens after STREAM-END or error.
  	if parser.stream_end_produced || parser.error != yaml_NO_ERROR {
  		return true
  	}
  
  	// Ensure that the tokens queue contains enough tokens.
  	if !parser.token_available {
  		if !yaml_parser_fetch_more_tokens(parser) {
  			return false
  		}
  	}
  
  	// Fetch the next token from the queue.
  	*token = parser.tokens[parser.tokens_head]
  	parser.tokens_head++
  	parser.tokens_parsed++
  	parser.token_available = false
  
  	if token.typ == yaml_STREAM_END_TOKEN {
  		parser.stream_end_produced = true
  	}
  	return true
  }
docs: // Get the next token.