diff --git a/src/Parser/PNET.hs b/src/Parser/PNET.hs index cac51e11416e58428c3c0196938b17afa57b75b2..d60a87302f3f5e2ba0f328d62f5f29615cf4157b 100644 --- a/src/Parser/PNET.hs +++ b/src/Parser/PNET.hs @@ -137,9 +137,10 @@ termOperatorTable = ] termAtom :: Parser Term -termAtom = parens term +termAtom = (Var <$> ident) <|> (Const <$> integer) - <|> (Var <$> ident) + <|> parens term + "basic term" term :: Parser Term term = buildExpressionParser termOperatorTable termAtom "term" @@ -167,10 +168,11 @@ formOperatorTable = ] formAtom :: Parser Formula -formAtom = parens formula +formAtom = try linIneq <|> (reserved "true" *> return FTrue) <|> (reserved "false" *> return FFalse) - <|> linIneq + <|> parens formula + "basic formula" formula :: Parser Formula formula = buildExpressionParser formOperatorTable formAtom "formula" diff --git a/src/Property.hs b/src/Property.hs index b63eba029b8100e59e7433cb6478713e0a40dac0..36557eea458fa7d6fda3e3ef8752983ee9f48d0c 100644 --- a/src/Property.hs +++ b/src/Property.hs @@ -20,10 +20,10 @@ data Term = Var String instance Show Term where show (Var x) = x show (Const c) = show c - show (Minus t) = "-(" ++ show t ++ ")" - show (t :+: u) = show t ++ " + " ++ show u - show (t :-: u) = show t ++ " - " ++ show u - show (t :*: u) = "(" ++ show t ++ ") * (" ++ show u ++ ")" + show (Minus t) = "-" ++ show t + show (t :+: u) = "(" ++ show t ++ " + " ++ show u ++ ")" + show (t :-: u) = "(" ++ show t ++ " - " ++ show u ++ ")" + show (t :*: u) = show t ++ " * " ++ show u data Op = Gt | Ge | Eq | Ne | Le | Lt