Trees that Grow in the Paragon Compiler A Step Towards Modularity

Detta är en Kandidat-uppsats från Göteborgs universitet/Institutionen för data- och informationsteknik

Sammanfattning: Paragon is a programming language that extends Java with statically checkedinformation flow control policies. Paragon’s compiler, which is written in Haskell,has a large type checker. Its current implementation is monolithic, making thecompiler challenging to develop. Paragon’s authors, Broberg et al., have proposedto partition the type checker into five phases, and this project is a step towardssuch an implementation.We identify the representation of Paragon’s abstract syntax tree as an essentialdesign 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 observethat our implementation introduces a substantial amount of boilerplate code.To alleviate the issue, we employ several methods for generic programming. Weconclude that our AST implementation is extensible but complex.

  HÄR KAN DU HÄMTA UPPSATSEN I FULLTEXT. (följ länken till nästa sida)