🖨️ Half a printing function part 2 (does not work)
This commit is contained in:
@ -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
|
||||
|
Reference in New Issue
Block a user