001package gudusoft.gsqlparser.ir.builder; 002 003import gudusoft.gsqlparser.TStatementList; 004import gudusoft.gsqlparser.analyzer.v2.AnalyzerV2Config; 005import gudusoft.gsqlparser.ir.bound.BoundProgram; 006 007/** 008 * Phase 1 Builder: Scope/Symbol/Object binding. 009 * <p> 010 * Input: AST statement list (from TGSqlParser.parse()) 011 * Output: BoundProgram (all binding results) 012 * <p> 013 * Implementations traverse the AST via Visitor pattern, resolving names to 014 * semantic objects. The builder MUST NOT modify any AST node fields. 015 */ 016public interface IBoundIRBuilder { 017 018 /** 019 * Builds the Bound IR from the given AST statements. 020 * 021 * @param stmts parsed SQL statements 022 * @param config analyzer configuration 023 * @return bound program with all scopes, symbols, and references 024 */ 025 BoundProgram build(TStatementList stmts, AnalyzerV2Config config); 026}