llmcompressor.pipelines.sequential.ast_utils.name_analyzer
类
-
NameAnalyzer–确定与一段代码关联的未绑定、已分配和有条件分配的名称。
NameAnalyzer
基类:NodeVisitor
确定与一段代码关联的未绑定、已分配和有条件分配的名称。此信息用于确定包装函数(wrapper function)的参数和返回值。
例如,对于以下代码段:
a 是未绑定的,意味着它必须是包装函数的输入。 b 是已分配的,意味着它必须是包装函数的输出。 c 是有条件分配的,意味着它必须是包装函数的输出,并且 *可能* 是输入,如果 c 已经存在于命名空间中。
请注意,在读取之前被赋值的名称不被视为未绑定。
方法
-
analyze–分析给定代码段中名称的使用情况。
源代码位于 llmcompressor/pipelines/sequential/ast_utils/name_analyzer.py
analyze
分析给定代码段中名称的使用情况。
参数
-
(节点AST) –要分析的代码。 返回:未绑定名称、已分配名称和有条件分配名称的元组。