Terminologia
Binding
Valor atribuído ou ligado dentro de um escopo.
Tipo de binding
Tipo da ligação: import, let/const/var, export, declaração de função/classe, parâmetros de função/método etc.
Escopo
Bloco onde bindings podem existir (qualquer trecho entre {}: classes, funções, métodos, callbacks, if/else…). Escopos formam hierarquia pai/filho; nomes repetidos em filhos sombreiam os do pai.
Flags de escopo
Metadados do escopo atual (sem herdar hierarquia): função, construtor, nível superior (programa) etc.
Símbolo
Envólucro do binding com referências a cada uso no texto-fonte. Símbolos recebem ID na ordem de varredura; referências apontam por esse ID.
Flags do símbolo
Metadados sobre o símbolo/binding.
Referência
Uso de um símbolo (e portanto do binding), com ID na ordem escaneada. Marcações: leitura, escrita ou ambas.
Span
Deslocamentos início/fim do nó no texto-fonte.