aboutsummaryrefslogtreecommitdiff
path: root/Sil/Util/Printer.dcl
diff options
context:
space:
mode:
authorCamil Staps2017-07-19 11:46:32 +0000
committerCamil Staps2017-07-19 11:46:32 +0000
commitd722a77077e89504191728cf42f7d15ddfa209a7 (patch)
treef3f70e055e9a76dba7eecde01146c697b452f064 /Sil/Util/Printer.dcl
parentWorking fibonacci (diff)
Reorganise
Diffstat (limited to 'Sil/Util/Printer.dcl')
-rw-r--r--Sil/Util/Printer.dcl23
1 files changed, 23 insertions, 0 deletions
diff --git a/Sil/Util/Printer.dcl b/Sil/Util/Printer.dcl
new file mode 100644
index 0000000..1d8fc5c
--- /dev/null
+++ b/Sil/Util/Printer.dcl
@@ -0,0 +1,23 @@
+definition module Sil.Util.Printer
+
+from StdOverloaded import class toString, class zero
+
+from Sil.Parse import :: Token
+from Sil.Syntax import :: Program, :: Function, :: CodeBlock,
+ :: Initialisation, :: Statement, :: Type, :: Application, :: Literal
+
+:: PrintState
+
+instance zero PrintState
+
+class PrettyPrinter t where
+ print :: PrintState t -> String
+
+instance PrettyPrinter [Token]
+instance PrettyPrinter Program
+instance PrettyPrinter Function
+instance PrettyPrinter CodeBlock
+instance PrettyPrinter Initialisation
+instance PrettyPrinter Statement
+
+printersperse :: a [b] -> String | toString a & toString b