abstract_code_dependencies function

(Shortest import: from brian2.parsing.dependencies import abstract_code_dependencies)

brian2.parsing.dependencies.abstract_code_dependencies(code, known_vars=None, known_funcs=None)[source]

Analyses identifiers used in abstract code blocks

Parameters

code : str

The abstract code block.

known_vars : set

The set of known variable names.

known_funcs : set

The set of known function names.

Returns

results : namedtuple with the following fields

all

The set of all identifiers that appear in this code block, including functions.

read

The set of values that are read, excluding functions.

write

The set of all values that are written to.

funcs

The set of all function names.

known_all

The set of all identifiers that appear in this code block and are known.

known_read

The set of known values that are read, excluding functions.

known_write

The set of known values that are written to.

known_funcs

The set of known functions that are used.

unknown_read

The set of all unknown variables whose values are read. Equal to read-known_vars.

unknown_write

The set of all unknown variables written to. Equal to write-known_vars.

unknown_funcs

The set of all unknown function names, equal to funcs-known_funcs.

undefined_read

The set of all unknown variables whose values are read before they are written to. If this set is nonempty it usually indicates an error, since a variable that is read should either have been defined in the code block (in which case it will appear in newly_defined) or already be known.

newly_defined

The set of all variable names which are newly defined in this abstract code block.