equal
deleted
inserted
replaced
118 Long_Name.append (the (AList.lookup (op =) import_tab name)) |
118 Long_Name.append (the (AList.lookup (op =) import_tab name)) |
119 (base_deresolver name))) imported_names |
119 (base_deresolver name))) imported_names |
120 end; |
120 end; |
121 val name_tabs = AList.make (uncurry classify_names o Graph.get_node flat_program) |
121 val name_tabs = AList.make (uncurry classify_names o Graph.get_node flat_program) |
122 (Graph.keys flat_program); |
122 (Graph.keys flat_program); |
123 val deresolver_tab = Symtab.empty |
123 val deresolver_tab = fold Symtab.update name_tabs Symtab.empty; |
124 |> fold (fn (module_name, name_tab) => Symtab.update (module_name, name_tab)) name_tabs; |
|
125 fun deresolver module_name name = |
124 fun deresolver module_name name = |
126 the (Symtab.lookup (the (Symtab.lookup deresolver_tab module_name)) name) |
125 the (Symtab.lookup (the (Symtab.lookup deresolver_tab module_name)) name) |
127 handle Option => error ("Unknown statement name: " ^ labelled_name name); |
126 handle Option => error ("Unknown statement name: " ^ labelled_name name); |
128 |
127 |
129 in { deresolver = deresolver, flat_program = flat_program } end; |
128 in { deresolver = deresolver, flat_program = flat_program } end; |