Repository logo
Communities & Collections
All of DSpace
  • English
  • العربية
  • বাংলা
  • Català
  • Čeština
  • Deutsch
  • Ελληνικά
  • Español
  • Suomi
  • Français
  • Gàidhlig
  • हिंदी
  • Magyar
  • Italiano
  • Қазақ
  • Latviešu
  • Nederlands
  • Polski
  • Português
  • Português do Brasil
  • Srpski (lat)
  • Српски
  • Svenska
  • Türkçe
  • Yкраї́нська
  • Tiếng Việt
Log In
New user? Click here to register. Have you forgotten your password?
  1. Home
  2. Browse by Author

Browsing by Author "Skystedt, Lukas"

Filter results by typing the first few letters
Now showing 1 - 1 of 1
  • Results Per Page
  • Sort Options
  • No Thumbnail Available
    Item
    Trees that Grow in the Paragon Compiler A Step Towards Modularity
    (2020-10-30) Andersson, John; Berggren Sjöblom, Anders; Bäckelie, Anders; Ljung Ekeroth, Johannes; Skystedt, Lukas; Terner, Lina; Göteborgs universitet/Institutionen för data- och informationsteknik; University of Gothenburg/Department of Computer Science and Engineering
    Paragon 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.

DSpace software copyright © 2002-2025 LYRASIS

  • Privacy policy
  • End User Agreement
  • Send Feedback