summaryrefslogtreecommitdiff
path: root/lib/Language/Elna/Frontend/SymbolTable.hs
diff options
context:
space:
mode:
authorEugen Wissner <belka@caraus.de>2024-12-04 16:11:06 +0100
committerEugen Wissner <belka@caraus.de>2024-12-06 15:37:36 +0100
commit1c996b3c8bb290d17e4d0dcdf809c8458866bb12 (patch)
treeef2df0ad302755e5bf30b8d0237685e7eb46d164 /lib/Language/Elna/Frontend/SymbolTable.hs
parent0c40bca60b343bb289f0a567ec9ec9e9382bad2a (diff)
downloadelna-1c996b3c8bb290d17e4d0dcdf809c8458866bb12.tar.gz
Make IR for array access
Diffstat (limited to 'lib/Language/Elna/Frontend/SymbolTable.hs')
-rw-r--r--lib/Language/Elna/Frontend/SymbolTable.hs4
1 files changed, 4 insertions, 0 deletions
diff --git a/lib/Language/Elna/Frontend/SymbolTable.hs b/lib/Language/Elna/Frontend/SymbolTable.hs
index e90a942..4333acc 100644
--- a/lib/Language/Elna/Frontend/SymbolTable.hs
+++ b/lib/Language/Elna/Frontend/SymbolTable.hs
@@ -9,6 +9,7 @@ module Language.Elna.Frontend.SymbolTable
, lookup
, member
, scope
+ , size
, toMap
, update
) where
@@ -76,6 +77,9 @@ member :: Identifier -> SymbolTable -> Bool
member identifier table =
isJust $ lookup identifier table
+size :: SymbolTable -> Int
+size (SymbolTable _ map') = HashMap.size map'
+
fromList :: [(Identifier, Info)] -> Either (NonEmpty Identifier) SymbolTable
fromList elements
| Just identifierDuplicates' <- identifierDuplicates =