🖨️ Half a printing function part 2 (does not work)

This commit is contained in:
2024-09-26 17:01:06 +02:00
parent b399cbec6e
commit a32fcdf9da

View File

@ -101,26 +101,33 @@ pLExp =
<$> (lKeyword "if" *> pExp)
<*> (lKeyword "then" *> pExp)
<*> (lKeyword "else" *> pExp),
Print
<$> (lKeyword "print" *> pStringLit)
<*> pExp,
pFExp
]
pPExp :: Parser Exp
pPExp = pLExp >>= chain
pExp3 :: Parser Exp
pExp3 =
choice
[
Print
<$> (lKeyword "print" *> pStringLit)
<*> pExp,
pLExp
]
pExp2 :: Parser Exp
pExp2 = pExp3 >>= chain
where
chain x =
choice
[ do
lString "**"
y <- pPExp
y <- pExp2
chain $ Pow x y,
pure x
]
pExp1 :: Parser Exp
pExp1 = pPExp >>= chain
pExp1 = pExp2 >>= chain
where
chain x =
choice