diff options
author | Tom Smeding <tom.smeding@gmail.com> | 2020-07-23 20:15:15 +0200 |
---|---|---|
committer | Tom Smeding <tom.smeding@gmail.com> | 2020-07-23 20:15:15 +0200 |
commit | 39ea4ac3a4b7663882a83f2ada43c8238f087d9b (patch) | |
tree | 70b28d7f0bd301f8eb912837b126956ecdaa1ca3 /ast/CC/Source.hs | |
parent | bc52411ae2ed26cab1d5086ae6df68f23ebbd052 (diff) |
Use Pretty for errors and expressions
Diffstat (limited to 'ast/CC/Source.hs')
-rw-r--r-- | ast/CC/Source.hs | 18 |
1 files changed, 3 insertions, 15 deletions
diff --git a/ast/CC/Source.hs b/ast/CC/Source.hs index 80d8f01..81e691b 100644 --- a/ast/CC/Source.hs +++ b/ast/CC/Source.hs @@ -26,21 +26,9 @@ data Expr = Call SourceRange Expr Expr deriving (Show, Read) instance Pretty Type where - pretty = unparse - -class Unparse a where - -- Parentheses are required if precedence of unparsed element is - -- greater than the argument. - unparsePrec :: Int -> a -> String - - unparse :: a -> String - unparse = unparsePrec 0 - -instance Unparse Type where - unparsePrec _ TInt = "Int" - unparsePrec p (TFun a b) = - let s = unparsePrec 3 a ++ " -> " ++ unparsePrec 2 b - in if p > 2 then "(" ++ s ++ ")" else s + prettyPrec _ TInt = "Int" + prettyPrec p (TFun a b) = + precParens p 2 (prettyPrec 3 a ++ " -> " ++ prettyPrec 2 b) instance HasRange Expr where range (Call sr _ _) = sr |