• English
    • Norsk
  • English 
    • English
    • Norsk
  • Administration
View Item 
  •   Home
  • Det matematisk-naturvitenskapelige fakultet
  • Institutt for informatikk
  • Institutt for informatikk
  • View Item
  •   Home
  • Det matematisk-naturvitenskapelige fakultet
  • Institutt for informatikk
  • Institutt for informatikk
  • View Item
JavaScript is disabled for your browser. Some features of this site may not work without it.

PT# - Package Templates in C#: Extending the Roslyn Full-Scale Production Compiler with New Language Features

Isene, Eirik
Master thesis
View/Open
ThesisEirikIsene.pdf (684.1Kb)
Year
2018
Permanent link
http://urn.nb.no/URN:NBN:no-65391

Metadata
Show metadata
Appears in the following Collection
  • Institutt for informatikk [3649]
Abstract
This master thesis explores the use of the full-scale production compiler platform Roslyn, and its aptitude for extending the C# language with the Package Template mechanism. Roslyn is a platform combining the compilers and language services of the C# and Visual Basic programming languages. The platform exposes the structures produced by each step of the compiler pipeline through various application programming interfaces (API), such as the syntax trees or symbol tables of a compilation. Utilizing these APIs, programmers can develop tools and environments for programming in C# or Visual Basic. However, offering these APIs, makes the Roslyn compiler significantly more complex than a straightforward compiler would be. The Package Template mechanism revolves around the reuse of collections of classes, called templates, that are instantiated at compile-time. The instantiation of a template allows the programmer to tailor the collection of classes to suit specific purposes. This is done through adding members to, renaming, and merging classes, among other things. This thesis details the implementation of the Package Template mechanism in C# through Roslyn, and will also look at how the various aspects of the mechanism fit with the C\# language as it is defined today.
 
Responsible for this website 
University of Oslo Library


Contact Us 
duo-hjelp@ub.uio.no


Privacy policy
 

 

For students / employeesSubmit master thesisAccess to restricted material

Browse

All of DUOCommunities & CollectionsBy Issue DateAuthorsTitlesThis CollectionBy Issue DateAuthorsTitles

For library staff

Login
RSS Feeds
 
Responsible for this website 
University of Oslo Library


Contact Us 
duo-hjelp@ub.uio.no


Privacy policy