code: func (p Pos) String() string {
  	s := p.Filename
  	if p.IsValid() {
  		if s != "" {
  			s += ":"
  		}
  		s += fmt.Sprintf("%d:%d", p.Line, p.Column)
  	}
  	if s == "" {
  		s = "-"
  	}
  	return s
  }
docs: // String returns a string in one of several forms:
  //
  //	file:line:column    valid position with file name
  //	line:column         valid position without file name
  //	file                invalid position with file name
  //	-                   invalid position without file name