diff options
Diffstat (limited to 'frontend/hashtable.dcl')
-rw-r--r-- | frontend/hashtable.dcl | 8 |
1 files changed, 7 insertions, 1 deletions
diff --git a/frontend/hashtable.dcl b/frontend/hashtable.dcl index 2d1621f..72a5544 100644 --- a/frontend/hashtable.dcl +++ b/frontend/hashtable.dcl @@ -7,10 +7,13 @@ import syntax :: HashTable = { hte_symbol_heap :: !.SymbolTable , hte_entries :: !.{! .HashTableEntry} + , hte_mark :: !Int // 1 for .icl modules, otherwise 0 } newHashTable :: *HashTable +set_hte_mark :: !Int !*HashTable -> *HashTable + :: IdentClass = IC_Expression | IC_Type | IC_TypeAttr @@ -21,6 +24,9 @@ newHashTable :: *HashTable | IC_Instance ![Type] | IC_Unknown +:: BoxedIdent = {boxed_ident::!Ident} -putIdentInHashTable :: !String !IdentClass !*HashTable -> (!Ident, !*HashTable) +//putIdentInHashTable :: !String !IdentClass !*HashTable -> (!Ident, !*HashTable) +putIdentInHashTable :: !String !IdentClass !*HashTable -> (!BoxedIdent, !*HashTable) +remove_icl_symbols_from_hash_table :: !*HashTable -> *HashTable |