Trees that Grow in the Paragon Compiler - A Step Towards Modularity

dc.contributor.authorBerggren Sjöblom, Anders
dc.contributor.authorAndersson, John
dc.contributor.authorBäckelie, Anders
dc.contributor.authorLjung Ekeroth, Johannes
dc.contributor.authorSkystedt, Lukas
dc.contributor.authorTerner, Lina
dc.contributor.departmentChalmers tekniska högskola / Institutionen för data och informationstekniksv
dc.contributor.examinerSands, David
dc.contributor.supervisorBroberg, Niklas
dc.date.accessioned2020-10-27T11:18:20Z
dc.date.available2020-10-27T11:18:20Z
dc.date.issued2020sv
dc.date.submitted2020
dc.description.abstractParagon is a programming language that extends Java with statically checked information flow control policies. Paragon’s compiler, which is written in Haskell, has a large type checker. Its current implementation is monolithic, making the compiler challenging to develop. Paragon’s authors, Broberg et al., have proposed to partition the type checker into five phases, and this project is a step towards such an implementation. We identify the representation of Paragon’s abstract syntax tree as an essential design aspect and emphasize extensibility to conform to the phases’ varying requirements. Based on a programming idiom, Trees that Grow, by Najd and Jones, we implement an extensible abstract syntax tree in Paragon’s compiler. We observe that our implementation introduces a substantial amount of boilerplate code. To alleviate the issue, we employ several methods for generic programming. We conclude that our AST implementation is extensible but complex.sv
dc.identifier.coursecodeDATX02sv
dc.identifier.urihttps://hdl.handle.net/20.500.12380/301967
dc.language.isoengsv
dc.setspec.uppsokTechnology
dc.titleTrees that Grow in the Paragon Compiler - A Step Towards Modularitysv
dc.type.degreeExamensarbete på kandidatnivåsv
dc.type.uppsokM2

Ladda ner

Original bundle

Visar 1 - 1 av 1
Hämtar...
Bild (thumbnail)
Namn:
2030 amodularcompilerforparagon_122370000000029150_610764_Trees that Grow in the Paragon Compiler.pdf
Storlek:
840.5 KB
Format:
Adobe Portable Document Format
Beskrivning:

License bundle

Visar 1 - 1 av 1
Hämtar...
Bild (thumbnail)
Namn:
license.txt
Storlek:
1.14 KB
Format:
Item-specific license agreed upon to submission
Beskrivning: