aboutsummaryrefslogtreecommitdiff
path: root/frontend/hashtable.dcl
blob: 2d1621f08465a1a92ee70730cd93560beeb8bc87 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
definition module hashtable

import syntax

::	HashTableEntry 

::	HashTable =
	{	hte_symbol_heap	:: !.SymbolTable
	,	hte_entries		:: !.{! .HashTableEntry}
	}

newHashTable :: *HashTable

::	IdentClass	= IC_Expression
				| IC_Type
				| IC_TypeAttr
				| IC_Class
				| IC_Module
				| IC_Field !Ident
				| IC_Selector
				| IC_Instance ![Type]
				| IC_Unknown


putIdentInHashTable :: !String !IdentClass !*HashTable -> (!Ident, !*HashTable)