code: func (v *evalVisitor) VisitProgram(node *ast.Program) interface{} {
  	v.at(node)
  
  	buf := new(bytes.Buffer)
  
  	for _, n := range node.Body {
  		if str := Str(n.Accept(v)); str != "" {
  			if _, err := buf.Write([]byte(str)); err != nil {
  				v.errPanic(err)
  			}
  		}
  	}
  
  	return buf.String()
  }
docs: //
  // Visitor interface
  //
  // Statements
  // VisitProgram implements corresponding Visitor interface method