code: func (d *Directive) possibleParserDirective(line string) error {
  	if d.processingComplete {
  		return nil
  	}
  
  	tecMatch := tokenEscapeCommand.FindStringSubmatch(strings.ToLower(line))
  	if len(tecMatch) != 0 {
  		for i, n := range tokenEscapeCommand.SubexpNames() {
  			if n == "escapechar" {
  				if d.escapeSeen == true {
  					return errors.New("only one escape parser directive can be used")
  				}
  				d.escapeSeen = true
  				return d.setEscapeToken(tecMatch[i])
  			}
  		}
  	}
  
  	// TODO @jhowardmsft LCOW Support: Eventually this check can be removed,
  	// but only recognise a platform token if running in LCOW mode.
  	if system.LCOWSupported() {
  		tpcMatch := tokenPlatformCommand.FindStringSubmatch(strings.ToLower(line))
  		if len(tpcMatch) != 0 {
  			for i, n := range tokenPlatformCommand.SubexpNames() {
  				if n == "platform" {
  					if d.platformSeen == true {
  						return errors.New("only one platform parser directive can be used")
  					}
  					d.platformSeen = true
  					return d.setPlatformToken(tpcMatch[i])
  				}
  			}
  		}
  	}
  
  	d.processingComplete = true
  	return nil
  }
docs: // possibleParserDirective looks for one or more parser directives '# escapeToken=<char>' and
  // '# platform=<string>'. Parser directives must precede any builder instruction
  // or other comments, and cannot be repeated.