root_mcp.extended.analysis.expression module

Expression evaluation utilities.

class root_mcp.extended.analysis.expression.SafeExprEvaluator(names)[source]

Bases: NodeVisitor

Safe expression evaluator for limited math subset. Uses abstract syntax tree to evaluate expressions without eval().

Parameters:

names (dict[str, Any])

__init__(names)[source]

Initialize evaluator.

Parameters:

names (dict[str, Any]) – Dictionary of allowed variable names and their values

generic_visit(node)[source]

Called if no explicit visitor function exists for a node.

Parameters:

node (AST)

Return type:

Any

visit_BinOp(node)[source]
Parameters:

node (BinOp)

Return type:

Any

visit_Call(node)[source]
Parameters:

node (Call)

Return type:

Any

visit_Compare(node)[source]
Parameters:

node (Compare)

Return type:

Any

visit_Constant(node)[source]
Parameters:

node (Constant)

Return type:

Any

visit_Expression(node)[source]
Parameters:

node (Expression)

Return type:

Any

visit_Name(node)[source]
Parameters:

node (Name)

Return type:

Any

visit_UnaryOp(node)[source]
Parameters:

node (UnaryOp)

Return type:

Any

root_mcp.extended.analysis.expression.strip_outer_parens(expr)[source]

Strip outer parentheses from expression.

Parameters:

expr (str)

Return type:

str

root_mcp.extended.analysis.expression.translate_leaf_expr(expr)[source]

Translate C++ style expression to Python.

Parameters:

expr (str)

Return type:

str