package formula

import (
	"github.com/expr-lang/expr/ast"
	"github.com/expr-lang/expr/parser"
)

// ParseNormalizedExpressionAST parses an authored formula expression after
// applying the same normalization used by formula evaluation and SQL lowering.
func ParseNormalizedExpressionAST(expr string) (ast.Node, error) {
	tree, err := parser.Parse(normalizeFormulaExpression(expr))
	if err != nil {
		return nil, err
	}
	return tree.Node, nil
}
