mirror of
https://github.com/macocianradu/RosettaHaskellCompiler.git
synced 2026-03-18 21:10:07 +00:00
added type checker
This commit is contained in:
@@ -5,18 +5,14 @@ module PrettyPrinter.Type where
|
||||
import Prettyprinter
|
||||
import PrettyPrinter.General
|
||||
import Model.Type
|
||||
import Model.Enum
|
||||
|
||||
printType :: Type -> String
|
||||
printType (MakeType name description attributes) =
|
||||
show $ printDescription description (vcat [nest 4 $ vcat("data" <+> pretty name <+> "=" <+> "Make" <> pretty name <+> "{": map printAttribute attributes), "}", ""])
|
||||
printType x = show x
|
||||
|
||||
printTypeName :: Type -> String
|
||||
printTypeName (MakeType name _ _) = name
|
||||
printTypeName (TypeFromBasicType name) = show name
|
||||
printTypeName (TypeFromEnum (MakeEnum name _ _)) = name
|
||||
|
||||
|
||||
printAttribute :: TypeAttribute -> Doc a
|
||||
printAttribute (MakeTypeAttribute name typ crd description) =
|
||||
printDescription description
|
||||
|
||||
Reference in New Issue
Block a user