code: func (p *parser) parseExpr() (expr Expr, err error) {
  	defer p.recover(&err)
  
  	for p.peek().typ != ItemEOF {
  		if p.peek().typ == ItemComment {
  			continue
  		}
  		if expr != nil {
  			p.errorf("could not parse remaining input %.15q...", p.lex.input[p.lex.lastPos:])
  		}
  		expr = p.expr()
  	}
  
  	if expr == nil {
  		p.errorf("no expression found in input")
  	}
  	return
  }
docs: // parseExpr parses a single expression from the input.