From d4471ca2fa765c8c4c4f1e8bec59fc0c441eb824 Mon Sep 17 00:00:00 2001 From: Eugen Wissner Date: Wed, 31 Jul 2024 00:49:16 +0300 Subject: Collect types into the global symbol table --- lib/Language/Elna/SymbolTable.hs | 4 ++++ 1 file changed, 4 insertions(+) (limited to 'lib/Language/Elna/SymbolTable.hs') diff --git a/lib/Language/Elna/SymbolTable.hs b/lib/Language/Elna/SymbolTable.hs index ba2e41f..f1c6534 100644 --- a/lib/Language/Elna/SymbolTable.hs +++ b/lib/Language/Elna/SymbolTable.hs @@ -2,6 +2,7 @@ module Language.Elna.SymbolTable ( Info(..) , ParameterInfo(..) , SymbolTable + , empty , enter , lookup , symbolTable @@ -31,6 +32,9 @@ symbolTable = SymbolTable $ HashMap.fromList , ("int", TypeInfo intType) ] +empty :: SymbolTable +empty = SymbolTable HashMap.empty + enter :: Identifier -> Info -> SymbolTable -> SymbolTable enter identifier info (SymbolTable table) = SymbolTable $ HashMap.insert identifier info table -- cgit v1.2.3