code: func (t *ParseTree) Parse(p *Parser) (Statement, error) {
  	for {
  		tok, pos, lit := p.ScanIgnoreWhitespace()
  		if subtree := t.Tokens[tok]; subtree != nil {
  			t = subtree
  			continue
  		}
  
  		if stmt := t.Handlers[tok]; stmt != nil {
  			return stmt(p)
  		}
  
  		// There were no registered handlers. Return the valid tokens in the order they were added.
  		return nil, newParseError(tokstr(tok, lit), t.Keys, pos)
  	}
  }
docs: // Parse parses a statement using the language defined in the parse tree.