DCD/notes.txt

32 lines
937 B
Plaintext

AST → Scopes
→ SemanticSymbol → ACSymbol
ModuleCache has ACSymbol tree
Completion Context has Scopes and ACSymbol instances
Caching
=======
# Load file
# Lex
# Parse
# BasicSemanticVisitor generates semantic object tree
# Semantic information used to create ACSymbol tree.
# ACSymbol tree stored in ModuleCache
Completion
==========
# Lex source
# Parse
# AST Visitor generates semantic objects and scope information
# Semantic informaton used to create ACSymbol tree. This pass is more involved
because it also looks at variables local to functions and other symbols
that would not be included in the module cache.
# Semantic and scope info used to associate ACSymbol nodes and scopes. ACSymbol
objects store their location information. Given a blank Scope tree, a method
can be wnitten to assign ACSymbol instances to the correct scope.
# Autocompletion will need to only look at this simplified Scope/ACSymbol tree.