src/main/java/ognl/Ognl.java
public static Node compileExpression(OgnlContext context, Object root, String expression)
            throws Exception
    {
        Node expr = (Node)Ognl.parseExpression(expression);

        OgnlRuntime.compileExpression(context, expr, root);

        return expr;
    }
public static Node compileExpression(OgnlContext context, Object root, String expression)
            throws Exception
    {
        Node expr = (Node)Ognl.parseExpression(expression);

        OgnlRuntime.compileExpression(context, expr, root);

        return expr;
    }
Parses and compiles the given expression using the {@link ognl.enhance.OgnlExpressionCompiler} returned
from {@link ognl.OgnlRuntime#getCompiler()}.

@param context
The context to use.
@param root
The root object for the given expression.
@param expression
The expression to compile.

@return The node with a compiled accessor set on {@link ognl.Node#getAccessor()} if compilation
was successfull. In instances where compilation wasn't possible because of a partially null
expression the {@link ExpressionAccessor} instance may be null and the compilation of this expression
still possible at some as yet indertermined point in the future.

@throws Exception If a compilation error occurs.