🚂 Equality and power

This commit is contained in:
2024-09-26 16:12:59 +02:00
parent 007b33f87d
commit dd66ba3d7b
2 changed files with 33 additions and 3 deletions

View File

@@ -96,12 +96,26 @@ pLExp =
pFExp
]
pExp1 :: Parser Exp
pExp1 = pLExp >>= chain
pPExp :: Parser Exp
pPExp = pLExp >>= chain
where
chain x =
choice
[ do
[
do
lString "**"
y <- pPExp
chain $ Pow x y,
pure x
]
pExp1 :: Parser Exp
pExp1 = pPExp >>= chain
where
chain x =
choice
[
do
lString "*"
y <- pLExp
chain $ Mul x y,
@@ -125,6 +139,10 @@ pExp0 = pExp1 >>= chain
lString "-"
y <- pExp1
chain $ Sub x y,
do
lString "=="
y <- pExp1
chain $ Eql x y,
pure x
]