language-c99 0.1.0.0 → 0.1.1
raw patch · 3 files changed
+31/−10 lines, 3 files
Files
- ChangeLog.md +4/−0
- language-c99.cabal +1/−1
- src/Language/C99/Pretty.hs +26/−9
ChangeLog.md view
@@ -1,5 +1,9 @@ # Revision history for language-c99 +## 0.1.1 -- 2019-04-01++* Small update, fixed indentation of some code blocks.+ ## 0.1.0.0 -- 2019-03-30 * First version. Containing full AST, but only a part of the pretty printer.
language-c99.cabal view
@@ -2,7 +2,7 @@ -- documentation, see http://haskell.org/cabal/users-guide/ name: language-c99-version: 0.1.0.0+version: 0.1.1 synopsis: An implementation of the C99 AST that strictly follows the standard. description:
src/Language/C99/Pretty.hs view
@@ -548,8 +548,7 @@ {- 6.8 -} instance Pretty Stmt where pretty (StmtLabeled ls) = pretty ls- pretty (StmtCompound cs) = vcat [ lbrace, nest 2 $ pretty cs, rbrace ]-+ pretty (StmtCompound cs) = nest 2 $ pretty cs pretty (StmtExpr es) = pretty es pretty (StmtSelect ss) = pretty ss pretty (StmtIter is) = pretty is@@ -581,26 +580,44 @@ {- 6.8.4 -} instance Pretty SelectStmt where- pretty (SelectIf c s) = text "if" <+> parens (pretty c) <+> pretty s+ pretty (SelectIf c s) = vcat [ text "if" <+> parens (pretty c) <+> lbrace+ , pretty s+ , rbrace+ ] pretty (SelectIfElse c s1 s2) =- text "if" <+> parens (pretty c) <+> pretty s1 <+> text "else" <+> pretty s2- pretty (SelectSwitch c s) = text "switch" <+> parens (pretty c) <+> pretty s+ vcat [ text "if" <+> parens (pretty c) <+> lbrace+ , pretty s1+ , rbrace <+> text "else" <+> lbrace+ , pretty s2+ , rbrace+ ]+ pretty (SelectSwitch c s) =+ vcat [ text "switch" <+> parens (pretty c) <+> lbrace+ , pretty s+ , rbrace+ ] {- 6.8.5 -} instance Pretty IterStmt where pretty (IterWhile c s) = text "while" <+> parens (pretty c) <+> pretty s pretty (IterDo s c) =- text "do" <+> pretty s <+> text "while" <+> parens (pretty c) <> semi+ vcat [ text "do" <+> lbrace+ , pretty s+ , rbrace <+> text "while" <+> parens (pretty c)+ ] pretty (IterForUpdate me1 me2 me3 s) = vcat [ text "for" <+> parens ( pretty me1 <> semi <+> pretty me2 <> semi <+> pretty me3 ) <+> lbrace- , nest 2 $ pretty s+ , pretty s , rbrace ] pretty (IterFor d me1 me2 s) =- text "for" <+> parens ( pretty d <+> pretty me1 <> semi- <+> pretty me2 ) <+> pretty s+ vcat [ text "for" <+> parens ( pretty d <+> pretty me1 <> semi+ <+> pretty me2 ) <+> lbrace+ , pretty s+ , rbrace+ ] {- 6.8.6 -} instance Pretty JumpStmt where