parse/parser.go
func ParseFile(files ...string) ([]*Group, error) {
	var groups []*Group
	for _, file := range files {
		if err := func(file string) error {
			f, err := os.Open(file)
			if err != nil {
				return err
			}
			defer f.Close()
			gs, err := Parse(file, f)
			if err != nil {
				return err
			}
			groups = append(groups, gs...)
			return nil
		}(file); err != nil {
			return nil, err
		}
	}
	return groups, nil
}
func ParseFile(files ...string) ([]*Group, error) {
	var groups []*Group
	for _, file := range files {
		if err := func(file string) error {
			f, err := os.Open(file)
			if err != nil {
				return err
			}
			defer f.Close()
			gs, err := Parse(file, f)
			if err != nil {
				return err
			}
			groups = append(groups, gs...)
			return nil
		}(file); err != nil {
			return nil, err
		}
	}
	return groups, nil
}
// ParseFile parses the specified files.