public static void CollectSymbols(ModuleSymbolTable table, ExpressionEval eval)
        {
            var symbolCollector = new SymbolCollector(table, eval);

            symbolCollector.Walk();
        }
 private SymbolCollector(ModuleSymbolTable table, ExpressionEval eval)
 {
     _table = table;
     _eval  = eval;
 }
        public static Task CollectSymbolsAsync(ModuleSymbolTable table, ExpressionEval eval, CancellationToken cancellationToken = default)
        {
            var symbolCollector = new SymbolCollector(table, eval);

            return(symbolCollector.WalkAsync(cancellationToken));
        }