code: func NewErrorformat(efms []string) (*Errorformat, error) {
  	errorformat := &Errorformat{Efms: make([]*Efm, 0, len(efms))}
  	for _, efm := range efms {
  		e, err := NewEfm(efm)
  		if err != nil {
  			return nil, err
  		}
  		errorformat.Efms = append(errorformat.Efms, e)
  	}
  	return errorformat, nil
  }
docs: // NewErrorformat compiles given errorformats string (efms) and returns a new
  // Errorformat. It returns error if the errorformat is invalid.