Skip to content

Commit

Permalink
Homework: add paper on pretty printing (B03)
Browse files Browse the repository at this point in the history
  • Loading branch information
cagix committed Nov 11, 2024
1 parent bbf5039 commit 51f3280
Show file tree
Hide file tree
Showing 2 changed files with 30 additions and 0 deletions.
23 changes: 23 additions & 0 deletions cb.bib
Original file line number Diff line number Diff line change
Expand Up @@ -211,6 +211,15 @@ @Book{Mogensen2017
langid = {en}
}

@Electronic{Nystrom2015,
author = {R. Nystrom},
title = {{T}he {H}ardest {P}rogram {I}'ve {E}ver {W}ritten},
url = {https://journal.stuffwithstuff.com/2015/09/08/the-hardest-program-ive-ever-written/},
urldate = {2024-11-11},
year = {2015},
langid = {en}
}

@Book{Nystrom2021,
author = {R. Nystrom},
title = {{C}rafting {I}nterpreters},
Expand Down Expand Up @@ -384,6 +393,20 @@ @Book{Wirth2011
langid = {de}
}

@article{wadler2003prettier,
title = {{A} prettier printer},
author = {P. {W}adler},
journal = {{T}he {F}un of {P}rogramming, {C}ornerstones of {C}omputing},
pages = {223--243},
year = {2003},
publisher = {Citeseer},
url = {https://homepages.inf.ed.ac.uk/wadler/papers/prettier/prettier.pdf},
urldate = {2024-11-11},
langid = {en}
}



@Book{kirchner2005,
author = {Regenbogen, A. and Kirchner, F.},
title = {{W}örterbuch der philosophischen {B}egriffe},
Expand Down
7 changes: 7 additions & 0 deletions homework/sheet03.md
Original file line number Diff line number Diff line change
Expand Up @@ -269,6 +269,11 @@ noch keine Gedanken machen! Achten Sie auf die korrekten Einrücktiefen. Die Zei
hier keine Rolle, es wird einfach direkt nach jedem Statement umgebrochen (bzw. wie bei den
Kontrollstrukturen gezeigt).

**Hinweis**: Das Thema Pretty Printing ist interessant und kann recht schnell ziemlich
aufwändig werden. Sie finden im Paper ["A prettier printer"] von Philip Wadler
[@wadler2003prettier] und im Blog ["The Hardest Program I've Ever Written"] von Bob Nystrom
[@Nystrom2015] gut geschriebene Beiträge, um tiefer in die Materie einzusteigen.

### A3.3: AST (3P)

Beim Parsen bekommen Sie von ANTLR einen Parse-Tree zurück, der direkt die Struktur Ihrer
Expand All @@ -291,3 +296,5 @@ auch einen zweiten Pretty-Printer für den AST implementieren.)

[Starter-Projekt]: https://github.com/Compiler-CampusMinden/CB-Vorlesung-Bachelor/tree/master/homework/src/sample_project
[ANTLR-Plugin für IntelliJ]: https://plugins.jetbrains.com/plugin/7358-antlr-v4
["A prettier printer"]: https://homepages.inf.ed.ac.uk/wadler/papers/prettier/prettier.pdf
["The Hardest Program I've Ever Written"]: https://journal.stuffwithstuff.com/2015/09/08/the-hardest-program-ive-ever-written/

0 comments on commit 51f3280

Please sign in to comment.