func syntaxError(pos *ast.Position, format string, a ...interface{}) *SyntaxError {
	return &SyntaxError{"", *pos, fmt.Sprintf(format, a...)}
}
syntaxError returns a SyntaxError error with position pos and message
formatted according the given format.
package compiler
import (
	"errors"
	"fmt"
	"strings"
	"unicode/utf8"
	"github.com/open2b/scriggo/ast"
	"github.com/open2b/scriggo/ast/astutil"
)
type SyntaxError struct {
	path string
	pos  ast.Position
	msg  string
}
func (e *SyntaxError) Error() string {
	return fmt.Sprintf("%s:%s: syntax error: %s", e.path, e.pos, e.msg)
}
func (e *SyntaxError) Message() string {
	return e.msg
}
func (e *SyntaxError) Path() string {
	return e.path
}
func (e *SyntaxError) Position() ast.Position {
	return e.pos
}