Sunday, June 24, 2007

Frown: c2hs parser

Copperbox revision 57.

Updates to the pretty printer and pretty-print combinators. The combinators now have combinators for prefixing and suffixing. Also the symbols have been changed on the infix combinators, which makes them more pleasant I'd say.

Sunday, June 17, 2007

Frown: c2hs parser

Copperbox revision 56

Minor updates to the pretty printer to remove the `optEmpty` function - this was a relic from the old PPrint based pretty printer. Correct a mistake where space char wasn't being printed properly in declarations.

Sunday, June 10, 2007

Frown: c2hs parser

Copperbox revision 55.

The pretty printer has been substantially revised, it should now better handle 'empty' documents.

To do this I've introduced a new pretty printing library based on Daan Leijen's PPrint but which is 'empty biased':

Paraphrasing Haskell into something I can type into Blogger:

empty `space` doc results in (doc), whereas with the usual pretty printers it would result in (space, doc).

At the moment the output is less pretty than the previous revision and the new infix combinators have symbols that may be changed, but overall I think it is a good bit simpler for printing C where there are many AST elements that have optional properties.

Sunday, June 3, 2007

Frown: c2hs parser

Copperbox revision 54.

Missed update to Demo.hs - should have gone in with the last commit.

Copperbox revision 53.

Added Pretty instances to the AG pretty printer - this means that syntax tree elements can be individually printed.

Frown: c2hs parser

Copperbox revision 52.

Updated the AG pretty printer to use Norman Ramsey's technique for avoiding Lisp-like parens overload.

Blog Archive

About Me

My photo
Disambiguating biog as there are a few Stephen Tetley's in the world. I'm neither a cage fighter or yachtsman. I studied Fine Art in the nineties (foundation Bradford 1992, degree Cheltenham 1992 - 95) then Computing part-time at Leeds Met graduating in 2003. I'm the Stephen Tetley on Haskell Cafe and Stackoverflow.