let MakeSymbolTable[tree] ← < name, pgm, version, res >
where res ← typegraph
where tossB ← AssertValueGraphAcyclic[typegraph]
where tossA ← AssertTypeGraphAcyclic[typegraph]
where typegraph ← BuildTypeGraph[DeclarationList, context]
where context ← CreateContext[rib, scope, name, pgm, version]
where scope ← BuildItemTable[DeclarationList]
where rib ← BuildRIB[ImportList]
where name ← TextFromID[id.export]
where pgm ← CardFromDecimal[decimal.pgm]
where version ← CardFromDecimal[decimal.version]