paul@353 | 1 | AST Node Annotations
|
paul@353 | 2 | ====================
|
paul@353 | 3 |
|
paul@498 | 4 | These annotations should be defined in the revised compiler.ast classes.
|
paul@498 | 5 |
|
paul@388 | 6 | Attribute Users
|
paul@388 | 7 | ---------------
|
paul@388 | 8 |
|
paul@488 | 9 | _attrnames defines a dictionary mapping local names to sets of
|
paul@488 | 10 | attribute names found to be used with those names in a
|
paul@488 | 11 | branch
|
paul@488 | 12 | _attrcontributors defines nodes contributing to combined attribute usage known
|
paul@488 | 13 | to a node
|
paul@488 | 14 | _attrcombined defines a dictionary mapping local names to sets of
|
paul@488 | 15 | attribute names found to be used with those names for the
|
paul@488 | 16 | entire lifetime of a particular attribute user
|
paul@489 | 17 | _attrmerged defines a dictionary mapping local names to sets of
|
paul@489 | 18 | attribute names merging combined observations with locally
|
paul@489 | 19 | applicable observations, indicating usage specific to a
|
paul@489 | 20 | region of the code
|
paul@489 | 21 | _attrtypes defines types deduced either from combined attribute usage
|
paul@490 | 22 | details (for users)
|
paul@490 | 23 | _attrspecifictypes defines specific types from merged attribute usage details
|
paul@490 | 24 | (for non-user nodes)
|
paul@488 | 25 | _attrdefs defines definition-related users which consume usage details
|
paul@488 | 26 | from the node
|
paul@388 | 27 |
|
paul@388 | 28 | Attribute Accessors
|
paul@388 | 29 | -------------------
|
paul@388 | 30 |
|
paul@488 | 31 | _attrusers defines a dictionary mapping local names to sets of nodes
|
paul@488 | 32 | defining those names
|
paul@388 | 33 |
|
paul@388 | 34 | Name Accessors
|
paul@388 | 35 | --------------
|
paul@388 | 36 |
|
paul@488 | 37 | _scope set as "constant", "local", "global" or "builtins"
|
paul@388 | 38 |
|
paul@388 | 39 | Program Units
|
paul@388 | 40 | -------------
|
paul@388 | 41 |
|
paul@488 | 42 | unit refers to a micropython Class, Function or Module instance
|