code: func (p *parser) build(t *Token) (Pattern, Error) {
  	// attempt to create a valid pattern
  	switch t.Type {
  	// we have a negated pattern
  	case NEGATION:
  		return p.negation(t)
  
  	// attempt to build a path specification
  	default:
  		return p.path(t)
  	}
  }
docs: //
  // private methods
  //
  // build attempts to build a well-formed .gitignore Pattern starting from the
  // given Token t. An Error will be returned if the sequence of tokens returned
  // by the Lexer does not represent a valid Pattern.