aboutsummaryrefslogtreecommitdiff
path: root/frontend/hashtable.dcl
diff options
context:
space:
mode:
authorronny1999-10-05 13:09:14 +0000
committerronny1999-10-05 13:09:14 +0000
commitdb9e59813541e06caece64592854862bab9c0138 (patch)
treeae7cef5982a377261188aed09dc0f0cc95c50f8c /frontend/hashtable.dcl
parentStandard project directories initialized by cvs2svn. (diff)
Initial import
git-svn-id: https://svn.cs.ru.nl/repos/clean-compiler/trunk@2 1f8540f1-abd5-4d5b-9d24-4c5ce8603e2d
Diffstat (limited to 'frontend/hashtable.dcl')
-rw-r--r--frontend/hashtable.dcl26
1 files changed, 26 insertions, 0 deletions
diff --git a/frontend/hashtable.dcl b/frontend/hashtable.dcl
new file mode 100644
index 0000000..2d1621f
--- /dev/null
+++ b/frontend/hashtable.dcl
@@ -0,0 +1,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)
+