tame/tamer/src/asg
Mike Gerwitz ba38a3c1ba tamer: src::asg::air: Pool identifiers into global environment
This, finally, introduces identifier pooling in the global environment,
represented by `Root`.  All package-level identifiers will be scoped as
such, which at the moment means anything that's not within a template.

As mentioned in recent commits, this does require additional cleanup to
finalize, and some more test will make additional rationale more clear.

It's also worth noting the intent of storing the `ObjectIndex<Root>`---not
only does it mean that the active root can be derived solely from the
current parsing state, but it also means that in the future we can
contribute to any, potentially multiple, roots.  I had previously used Neo4J
to effectively diff two dependency graphs between versions in the current
XSLT-based TAMER; I'd like to be able to do that with TAMER in the future,
which is an important concept when considering automated data migration, as
well as querying for the effects of changes.

More to come.  I'm hoping this is finally nearing a conclusion and I can
finally tie everything together with package imports.  `AirIdent` will be
introduced into the mix soon now too, now that this commit is able to root
them.

DEV-13162
2023-05-16 23:28:47 -04:00
..
air tamer: src::asg::air: Pool identifiers into global environment 2023-05-16 23:28:47 -04:00
graph tamer: src::asg::air: Pool identifiers into global environment 2023-05-16 23:28:47 -04:00
.gitignore tamer: Embed ASG ontology visualization in rustdoc-generated docs 2023-03-10 14:28:00 -05:00
air.rs tamer: src::asg::air: Pool identifiers into global environment 2023-05-16 23:28:47 -04:00
error.rs tamer: asg::air::ir::AirPkg::PkgStart: Require name 2023-05-10 13:57:45 -04:00
graph.rs tamer: asg: Initial identifier scoping 2023-05-16 14:58:21 -04:00
mod.rs tamer: asg::graph::visit::topo: Cycle detection 2023-04-27 16:28:57 -04:00