Initial data commit
This commit is contained in:
parent
72d218235f
commit
f23f22d71c
199087 changed files with 3378941 additions and 0 deletions
13
Task/Truth-table/Haskell/truth-table-2.hs
Normal file
13
Task/Truth-table/Haskell/truth-table-2.hs
Normal file
|
|
@ -0,0 +1,13 @@
|
|||
{-# LANGUAGE FlexibleContexts #-}
|
||||
import Text.Parsec
|
||||
|
||||
toRPN = parse impl "expression" . filter (/= ' ')
|
||||
where
|
||||
impl = chainl1 disj (op2 "=>")
|
||||
disj = chainl1 conj (op2 "|" <|> op2 "^")
|
||||
conj = chainl1 term (op2 "&")
|
||||
term = string "(" *> impl <* string ")" <|>
|
||||
op1 "!" <*> term <|>
|
||||
many1 alphaNum
|
||||
op1 s = (\x -> unwords [x, s]) <$ string s
|
||||
op2 s = (\x y -> unwords [x, y, s]) <$ string s
|
||||
Loading…
Add table
Add a link
Reference in a new issue