diff --git a/golden/function.qbe b/golden/function.qbe index dc5f78d..8dcd156 100644 --- a/golden/function.qbe +++ b/golden/function.qbe @@ -1,5 +1,5 @@ export -function :t $f -(env %env, w %a, d %b, ...) -{@l - ret } \ No newline at end of file +function :t $f (env %env, w %a, d %b, ...) { +@l + ret +} \ No newline at end of file diff --git a/golden/hello_world.qbe b/golden/hello_world.qbe index b6f1ddb..966a189 100644 --- a/golden/hello_world.qbe +++ b/golden/hello_world.qbe @@ -2,8 +2,8 @@ data $str = {b "hello world", b 0} export -function w $main -() -{@start - %r =w call $puts (l $str) - ret 0} \ No newline at end of file +function w $main () { +@start + %r =w call $puts (l $str) + ret 0 +} \ No newline at end of file diff --git a/src/Language/QBE.hs b/src/Language/QBE.hs index 87146fd..2273fa3 100644 --- a/src/Language/QBE.hs +++ b/src/Language/QBE.hs @@ -15,7 +15,7 @@ import Data.List.NonEmpty (NonEmpty, toList) import Data.Maybe (maybeToList) import Prettyprinter ( Pretty(pretty), Doc, (<+>), vsep, hsep, hang, punctuate, group, flatAlt - , space, encloseSep, tupled, comma, equals, braces ) + , space, encloseSep, tupled, comma, equals, braces, lbrace, rbrace ) -- Instances import Data.Hashable (Hashable) import Control.DeepSeq (NFData) @@ -194,12 +194,13 @@ data FuncDef = FuncDef [Linkage] (Maybe AbiTy) (Ident 'Global) (Maybe (Ident 'Te instance Pretty FuncDef where pretty (FuncDef linkage abiTy ident env params variadic blocks) = vsep [ vsep $ pretty <$> linkage - , "function" <+> pretty abiTy <+> pretty ident - , tupled $ + , "function" <+> pretty abiTy <+> pretty ident <+> tupled ( maybeToList (("env" <+>) . pretty <$> env) ++ fmap pretty params ++ maybeToList (prettyVariadic variadic) - , braces $ vsep $ toList $ pretty <$> blocks + ) <+> lbrace + , vsep $ toList $ pretty <$> blocks + , rbrace ] data AbiTy = AbiBaseTy BaseTy | AbiAggregateTy (Ident 'AggregateTy)