🚂 Equality and power
This commit is contained in:
@@ -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
|
||||
]
|
||||
|
||||
|
||||
Reference in New Issue
Block a user