// NewLiteral returns a literal expression.
NewLiteral returns a literal expression.
// NewLiteral returns a literal expression .
func NewLiteral(typ int, val string) (*Expr, error) {
	if typ == 0 {
		return nil, fmt.Errorf("typ 0 is hold as special and cannot be used")
	}
	return &Expr{
		typ: typ,
		val: val,
	}, nil
}
func NewLiteral ( typ int , val string ) ( * Expr , error ) { if typ == 0 { return nil , fmt . Errorf ( " " ) } return & Expr { typ : typ , val : val , } , nil }
NewLiteral returns a literal expression.
NewLiteral returns a literal expression .