Working multiple assignments,

Need to fix recursive types
This commit is contained in:
Macocian Adrian Radu
2022-05-16 12:04:03 +02:00
parent b8efc203a4
commit 1cdb56f5ee
7 changed files with 184 additions and 82 deletions

View File

@@ -106,7 +106,9 @@ terminalParser :: Parser Expression
terminalParser =
do
choice
[ prefixParser,
[
try keywordParser,
prefixParser,
parens expressionParser >>= \e -> return (Parens e),
listParser,
try booleanParser,
@@ -119,6 +121,14 @@ terminalParser =
--------------------------------------------
-- Expressions -----------------------------
--------------------------------------------
keywords :: [String]
keywords = ["one-of"]
keywordParser :: Parser Expression
keywordParser =
do
word <- lexeme $ choice $ fmap (try . string . Text.pack) keywords
return $ Keyword $ Text.unpack word
-- |Parses an prefix function statement in Rosetta into an Expression
prefixParser :: Parser Expression