Uses of Interface
com.helix.core.parser.ast.ExpressionNode
Packages that use ExpressionNode
Package
Description
-
Uses of ExpressionNode in com.helix.cli.repl
Methods in com.helix.cli.repl that return ExpressionNodeMethods in com.helix.cli.repl with parameters of type ExpressionNodeModifier and TypeMethodDescriptionBytecodeDisassembler.disassembleRule(Rule rule, ExpressionNode ast) Compiles a RuleNode and disassembles the generated class bytecode.AstTreeRenderer.render(ExpressionNode root) Renders the given AST node as a colorized tree representation. -
Uses of ExpressionNode in com.helix.core.bytecode
Methods in com.helix.core.bytecode that return ExpressionNodeModifier and TypeMethodDescriptionDeadCodeEliminator.eliminate(ExpressionNode node) ConstantFolder.fold(ExpressionNode node) static ExpressionNodeBytecodeCompiler.lookupClauseNode(ExpressionNode root, int clauseIndex, boolean isLeft) AdaptiveAstOptimizer.optimize(ExpressionNode astRoot) Optimizes the AST root for an unnamed or ad-hoc rule.AdaptiveAstOptimizer.optimize(String ruleName, ExpressionNode astRoot) Recursively optimizes the AST expression tree by reordering commutativeANDchains in ascending order of their cost-to-failure ratios.BytecodeOptimizer.optimize(ExpressionNode astRoot) Optimizes the given AST root expression tree through iterative constant folding and dead code elimination passes.OptimizationResult.optimizedAst()Returns the value of theoptimizedAstrecord component.OptimizationResult.originalAst()Returns the value of theoriginalAstrecord component.ConstantFolder.visit(BinaryOpNode node) ConstantFolder.visit(FieldAccessNode node) ConstantFolder.visit(FunctionCallNode node) ConstantFolder.visit(LiteralNode node) ConstantFolder.visit(MethodCallNode node) ConstantFolder.visit(OnnxInferenceNode node) ConstantFolder.visit(UnaryOpNode node) ConstantFolder.visit(VariableNode node) DeadCodeEliminator.visit(BinaryOpNode node) DeadCodeEliminator.visit(FieldAccessNode node) DeadCodeEliminator.visit(FunctionCallNode node) DeadCodeEliminator.visit(LiteralNode node) DeadCodeEliminator.visit(MethodCallNode node) DeadCodeEliminator.visit(OnnxInferenceNode node) DeadCodeEliminator.visit(UnaryOpNode node) DeadCodeEliminator.visit(VariableNode node) Methods in com.helix.core.bytecode with parameters of type ExpressionNodeModifier and TypeMethodDescriptionBytecodeCompiler.compile(Rule rule, ExpressionNode ast, boolean debug) doubleAdaptiveAstOptimizer.computeRatio(String ruleName, ExpressionNode node) Computes the cost-to-failure ratio (C_i / F_i) for a given clause node.DeadCodeEliminator.eliminate(ExpressionNode node) AstEvaluator.evaluate(ExpressionNode node) BytecodeCompiler.extractClauses(ExpressionNode root) Extracts inspectable condition clauses from an AST expression tree.static List<ConditionClause> BytecodeCompiler.extractClausesStatic(ExpressionNode root) ConstantFolder.fold(ExpressionNode node) AsmBytecodeGenerator.generate(Rule rule, ExpressionNode astRoot) ByteBuddyGenerator.generate(Rule rule, ExpressionNode astRoot) BytecodeGenerator.generate(Rule rule, ExpressionNode astRoot) Generates an executableCompiledRuleinstance from a rule definition and its parsed AST.byte[]AsmBytecodeGenerator.generateBytecode(Rule rule, ExpressionNode astRoot) Generates raw JVM bytecode for the given rule without loading the class into the JVM.byte[]AsmBytecodeGenerator.generateBytecode(String className, Rule rule, ExpressionNode astRoot) Generates raw JVM bytecode for the specified class name.byte[]BytecodeCompiler.generateBytecode(String className, Rule rule, ExpressionNode ast, boolean debug) booleanAdaptiveAstOptimizer.isReorderBeneficial(ExpressionNode originalAst, ExpressionNode optimizedAst) Determines whether reordering produced a different, structurally beneficial AST tree.static ExpressionNodeBytecodeCompiler.lookupClauseNode(ExpressionNode root, int clauseIndex, boolean isLeft) AdaptiveAstOptimizer.optimize(ExpressionNode astRoot) Optimizes the AST root for an unnamed or ad-hoc rule.AdaptiveAstOptimizer.optimize(String ruleName, ExpressionNode astRoot) Recursively optimizes the AST expression tree by reordering commutativeANDchains in ascending order of their cost-to-failure ratios.BytecodeOptimizer.optimize(ExpressionNode astRoot) Optimizes the given AST root expression tree through iterative constant folding and dead code elimination passes.AdaptiveAstOptimizer.optimizeAndHotSwap(Rule rule, ExpressionNode astRoot, TieredRuleCache cache) Dynamically optimizes an uncompiled AST, recompiles the optimized bytecode, and atomically hot-swaps it into the tiered cache with zero downtime.AdaptiveAstOptimizer.optimizeAndHotSwap(Rule rule, ExpressionNode astRoot, TieredRuleCache cache, AsmBytecodeGenerator generator, boolean force) Dynamically optimizes an uncompiled AST, recompiles the optimized bytecode, and atomically hot-swaps it into the tiered cache with zero downtime.static StringAstNodeIdResolver.resolveNodeId(Rule rule, ExpressionNode node) Resolves a unique, consistent node identifier for profiling and optimization.static StringAstNodeIdResolver.resolveNodeId(String ruleName, ExpressionNode node) Resolves a unique, consistent node identifier for profiling and optimization.Constructors in com.helix.core.bytecode with parameters of type ExpressionNodeModifierConstructorDescriptionOptimizationResult(String ruleName, boolean reordered, ExpressionNode originalAst, ExpressionNode optimizedAst, CompiledRule compiledRule, byte[] bytecode, Map<String, Double> clauseRatios, long timestampNanos) Creates an instance of aOptimizationResultrecord class.RuleInterceptor(String ruleName, String ruleVersion, ExpressionNode astRoot) Constructor parameters in com.helix.core.bytecode with type arguments of type ExpressionNodeModifierConstructorDescriptionAdaptiveAstOptimizer(BiFunction<String, ExpressionNode, Double> customRatioResolver) -
Uses of ExpressionNode in com.helix.core.debug
Methods in com.helix.core.debug that return ExpressionNodeConstructors in com.helix.core.debug with parameters of type ExpressionNodeModifierConstructorDescriptionConditionClause(int index, String description, String operator, ExpressionNode leftNode, ExpressionNode rightNode) -
Uses of ExpressionNode in com.helix.core.parser
Methods in com.helix.core.parser that return ExpressionNodeModifier and TypeMethodDescriptionParses a raw expression string into an ASTExpressionNode.ExpressionRuleParser.parseAndFold(String expression) Parses and optimizes an expression using constant folding and dead code elimination.ExpressionRuleParser.parseAndValidate(String expression, Map<String, Class<?>> schema) Parses an expression, optimizes it, and validates types against the given schema.Methods in com.helix.core.parser with parameters of type ExpressionNodeModifier and TypeMethodDescriptionClass<?> TypeChecker.check(ExpressionNode node) Checks types for the given AST root node and returns the resulting expression type. -
Uses of ExpressionNode in com.helix.core.parser.ast
Classes in com.helix.core.parser.ast that implement ExpressionNodeModifier and TypeClassDescriptionclassAST node representing general binary expressions (arithmetic and logical operations).classAST node representing binary operations (+, -, *, /, >, >=, <, <=, ==, !=, &&, ||).classAST node specifically representing comparison and relational expressions (>, <, >=, <=, ==, !=).classAST node representing context property and field navigation (e.g.classAST node representing built-in or registered function invocations (e.g.classAST node representing literal values (numbers, booleans, strings).classAST node representing method invocations on a target expression (e.g.classAST node representing an in-process machine learning inference invocation via ONNX Runtime.classComposite AST node encapsulating a complete compiled rule definition and its parsed AST root.classAST node representing unary operations (!, -).classAST node representing an input variable reference by name.Methods in com.helix.core.parser.ast that return ExpressionNodeModifier and TypeMethodDescriptionParses an expression string into anExpressionNode.BinaryOpNode.getLeft()UnaryOpNode.getOperand()BinaryOpNode.getRight()RuleNode.getRootNode()FieldAccessNode.getTarget()MethodCallNode.getTarget()Methods in com.helix.core.parser.ast that return types with arguments of type ExpressionNodeConstructors in com.helix.core.parser.ast with parameters of type ExpressionNodeModifierConstructorDescriptionBinaryExpressionNode(BinaryOpNode.Operator operator, ExpressionNode left, ExpressionNode right) BinaryOpNode(BinaryOpNode.Operator operator, ExpressionNode left, ExpressionNode right) ComparisonNode(BinaryOpNode.Operator operator, ExpressionNode left, ExpressionNode right) FieldAccessNode(ExpressionNode target, String fieldName) MethodCallNode(ExpressionNode target, String methodName, List<ExpressionNode> arguments) RuleNode(String name, String expression, ExpressionNode rootNode) RuleNode(String name, String version, String description, String category, String expression, Map<String, Class<?>> inputSchema, ExpressionNode rootNode) UnaryOpNode(UnaryOpNode.Operator operator, ExpressionNode operand) Constructor parameters in com.helix.core.parser.ast with type arguments of type ExpressionNodeModifierConstructorDescriptionFunctionCallNode(String functionName, List<ExpressionNode> arguments) MethodCallNode(ExpressionNode target, String methodName, List<ExpressionNode> arguments)