summaryrefslogtreecommitdiff
path: root/src/Parser/Expr.hs
diff options
context:
space:
mode:
authorRoman Smrž <roman.smrz@seznam.cz>2025-02-02 11:51:17 +0100
committerRoman Smrž <roman.smrz@seznam.cz>2025-02-08 23:00:20 +0100
commitd5c8930e9b14c1d1953c3a25c6be503b95d67d50 (patch)
tree8db63e839e22e091a44912768f41021f0a8501ab /src/Parser/Expr.hs
parent9251a72e7876b61ede972136570e2b81c6a8d767 (diff)
Module import parsing and type check
Diffstat (limited to 'src/Parser/Expr.hs')
-rw-r--r--src/Parser/Expr.hs6
1 files changed, 6 insertions, 0 deletions
diff --git a/src/Parser/Expr.hs b/src/Parser/Expr.hs
index d8d96eb..41790bb 100644
--- a/src/Parser/Expr.hs
+++ b/src/Parser/Expr.hs
@@ -1,5 +1,6 @@
module Parser.Expr (
identifier,
+ parseModuleName,
varName,
newVarName,
@@ -58,6 +59,11 @@ identifier = label "identifier" $ do
]
return ident
+parseModuleName :: TestParser ModuleName
+parseModuleName = do
+ x <- identifier
+ ModuleName . (x :) <$> many (symbol "." >> identifier)
+
varName :: TestParser VarName
varName = label "variable name" $ VarName <$> identifier