fbpx
Wikipedia

Roslyn (compiler)

.NET Compiler Platform, also known by its codename Roslyn,[2] is a set of open-source compilers and code analysis APIs for C# and Visual Basic (VB.NET) languages from Microsoft.[3]

.NET Compiler Platform (Roslyn)
Original author(s)Microsoft
Developer(s).NET Foundation and the open source community
Stable release
.NET 7.0.0 / November 8, 2022; 17 months ago (2022-11-08)[1]
Repositorygithub.com/dotnet/roslyn
Written inC#, Visual Basic
Operating systemWindows, Linux and macOS
PlatformIA-32, x86-64
TypeCompiler
LicenseMIT License
Websitelearn.microsoft.com/en-us/dotnet/csharp/roslyn-sdk/

The project notably includes self-hosting versions of the C# and VB.NET compilers – compilers written in the languages themselves. The compilers are available via the traditional command-line programs but also as APIs available natively from within .NET code. Roslyn exposes modules for syntactic (lexical) analysis of code, semantic analysis, dynamic compilation to CIL, and code emission.[4]

Features edit

Features of Roslyn include:

History edit

The code name "Roslyn" was first written by Eric Lippert (a former Microsoft engineer[5]) in a post[6] that he published in 2010 to hire developers for a new project. He first said that the origin of the name was because of Roslyn, Washington, but later in the post he speaks ironically about the "northern exposure" of its office; the city of Roslyn was one of the places where the television series Northern Exposure was filmed.[7]

Microsoft made a community technology preview (CTP) available for public download in October 2011. It installed as an extension to Visual Studio 2010 SP1.[8]

The CTP was updated in September 2012[9] to include many updates to the Roslyn APIs introduced in the June 2012 and October 2011 CTPs, including breaking changes.[10] While the June 2012 CTP API is complete for the compilers, not all features were implemented for the C# and VB.NET languages.[11]

At the Build 2014 conference in San Francisco April 2014, Microsoft made the "Roslyn" project open-source and released a preview of the language integration for Visual Studio 2013. As of April 3, 2014, Roslyn is under the Apache License 2.0.[3] The project was effectively transferred under the stewardship of the newly founded .NET Foundation.[12] At the same conference, Xamarin announced that they are working on integrating the new compilers and tools in Xamarin Studio.[13]

The compilers were not feature-complete in this release. Each of the compilers contains features that are planned for the coming language versions (C# 6 and Visual Basic.NET 14). The APIs are also available through the NuGet package manager.[citation needed]

As of 2013, Roslyn supports VB and C#, and the compilers are written in their respective languages.[14] Roslyn's first release to manufacturing (RTM) was with Visual Studio 2015.[15]

In January 2015, Microsoft moved the Roslyn source code from CodePlex to GitHub.[16]

Architecture edit

Traditionally .NET compilers have been a black box for application developers.[17] With increasing complexity and demands for source code analysis in modern integrated development environments, however, compilers need to expose application programming interfaces (APIs) that will help developers to directly perform phases of compilation such as lexical and syntactic structure analysis of source code. Roslyn was designed with that intent from the beginning. This reduces the barrier in developing tools specifically designed for source code analysis. APIs of Roslyn are of three types: feature APIs, work-space APIs and compiler APIs. Feature APIs allow source code tool developers to do code refactoring and fixes. Work-space APIs allow plugin developers to perform actions specifically required in integrated development environments (IDEs) like Visual Studio such as finding references of a variable or code formatting. Compiler APIs allow even more sophisticated analysis of source code, by exposing direct calls to perform syntax tree and binding flow analysis.[18] Using an open-source implementation of Common Language Infrastructure (CLI) such as .NET Core, Roslyn will be able to compile in a platform-agnostic manner capable of running CLI code in Linux, OS X, and Windows.[citation needed]

See also edit

References edit

  1. ^ "Release .NET 7.0.0". GitHub. December 14, 2021. Retrieved May 5, 2022.
  2. ^ "C# and Visual Basic - Use Roslyn to Write a Live Code Analyzer for Your API". msdn.microsoft.com. Retrieved January 7, 2019.
  3. ^ a b .NET Compiler Platform ("Roslyn") on GitHub
  4. ^ Neil McAllister, Microsoft's Roslyn: Reinventing the compiler as we know it, DEVELOPER_WORLD, 2011-10-20
  5. ^ "Fabulous adventures in coding". About Eric Lippert. Eric Lippert. November 29, 2012.
  6. ^ "Hiring for Roslyn". Eric Lippert's MSDN blog. Eric Lippert. December 16, 2010.
  7. ^ Muir, Pat (October 5, 2014). "Roslyn hopes new TV show brings 15 more minutes of fame". Yakima Herald. Archived from the original on November 2, 2014. Retrieved November 1, 2014.
  8. ^ Microsoft "Roslyn" CTP April 18, 2012, at the Wayback Machine, Microsoft Download Center
  9. ^ Microsoft "Roslyn" CTP, Microsoft Download Center
  10. ^ What's New in the Microsoft "Roslyn" September 2012 CTP, Visual Studio vNext Forums
  11. ^ Known Limitations and Unimplemented Language Features, Visual Studio vNext Forums
  12. ^ .NET Foundation – Open Source Foundation for the .NET Community
  13. ^ "Highlights from Build 2014's Second Keynote". InfoQ. Retrieved December 26, 2021.
  14. ^ Microsoft Roslyn vs. CodeDom
  15. ^ Visual Studio 2015 RTM, 2015-07-20
  16. ^ We're moving to GitHub! December 1, 2015, at the Wayback Machine, MSDN VBTeam Blog, 2015-01-10
  17. ^ "Whitepaper: Roslyn Project Overview". Microsoft.
  18. ^ Overview of Roslyn from GitHub documentation

Further reading edit

  • Vasani, Manish (2017). Roslyn Cookbook: Compiler as a Service, Code Analysis, Code Quality and more. Packt Publishing. ISBN 978-1787286832.
  • Harrison, Nick (2017). Code Generation with Roslyn. Apress. ISBN 978-1484222102.
  • Mukherjee, Sudipta (2017). Source Code Analytics With Roslyn and JavaScript Data Visualization. Apress. ISBN 978-1484219249.

External links edit

  • Official website  
  • Introducing the Microsoft “Roslyn” CTP on the C# Frequently Asked Questions MSDN blog
  • Throwing the Big Switch on Roslyn on the C# Frequently Asked Questions MSDN blog

roslyn, compiler, this, article, needs, additional, citations, verification, please, help, improve, this, article, adding, citations, reliable, sources, unsourced, material, challenged, removed, find, sources, roslyn, compiler, news, newspapers, books, scholar. This article needs additional citations for verification Please help improve this article by adding citations to reliable sources Unsourced material may be challenged and removed Find sources Roslyn compiler news newspapers books scholar JSTOR June 2016 Learn how and when to remove this template message NET Compiler Platform also known by its codename Roslyn 2 is a set of open source compilers and code analysis APIs for C and Visual Basic VB NET languages from Microsoft 3 NET Compiler Platform Roslyn Original author s MicrosoftDeveloper s NET Foundation and the open source communityStable release NET 7 0 0 November 8 2022 17 months ago 2022 11 08 1 Repositorygithub wbr com wbr dotnet wbr roslynWritten inC Visual BasicOperating systemWindows Linux and macOSPlatformIA 32 x86 64TypeCompilerLicenseMIT LicenseWebsitelearn wbr microsoft wbr com wbr en us wbr dotnet wbr csharp wbr roslyn sdk wbr The project notably includes self hosting versions of the C and VB NET compilers compilers written in the languages themselves The compilers are available via the traditional command line programs but also as APIs available natively from within NET code Roslyn exposes modules for syntactic lexical analysis of code semantic analysis dynamic compilation to CIL and code emission 4 Contents 1 Features 2 History 3 Architecture 4 See also 5 References 6 Further reading 7 External linksFeatures editFeatures of Roslyn include Compilers for the C and Visual Basic languages exposed as services via APIs APIs for code analysis and refactoring citation needed History editThe code name Roslyn was first written by Eric Lippert a former Microsoft engineer 5 in a post 6 that he published in 2010 to hire developers for a new project He first said that the origin of the name was because of Roslyn Washington but later in the post he speaks ironically about the northern exposure of its office the city of Roslyn was one of the places where the television series Northern Exposure was filmed 7 Microsoft made a community technology preview CTP available for public download in October 2011 It installed as an extension to Visual Studio 2010 SP1 8 The CTP was updated in September 2012 9 to include many updates to the Roslyn APIs introduced in the June 2012 and October 2011 CTPs including breaking changes 10 While the June 2012 CTP API is complete for the compilers not all features were implemented for the C and VB NET languages 11 At the Build 2014 conference in San Francisco April 2014 Microsoft made the Roslyn project open source and released a preview of the language integration for Visual Studio 2013 As of April 3 2014 update Roslyn is under the Apache License 2 0 3 The project was effectively transferred under the stewardship of the newly founded NET Foundation 12 At the same conference Xamarin announced that they are working on integrating the new compilers and tools in Xamarin Studio 13 The compilers were not feature complete in this release Each of the compilers contains features that are planned for the coming language versions C 6 and Visual Basic NET 14 The APIs are also available through the NuGet package manager citation needed As of 2013 update Roslyn supports VB and C and the compilers are written in their respective languages 14 Roslyn s first release to manufacturing RTM was with Visual Studio 2015 15 In January 2015 Microsoft moved the Roslyn source code from CodePlex to GitHub 16 Architecture editTraditionally NET compilers have been a black box for application developers 17 With increasing complexity and demands for source code analysis in modern integrated development environments however compilers need to expose application programming interfaces APIs that will help developers to directly perform phases of compilation such as lexical and syntactic structure analysis of source code Roslyn was designed with that intent from the beginning This reduces the barrier in developing tools specifically designed for source code analysis APIs of Roslyn are of three types feature APIs work space APIs and compiler APIs Feature APIs allow source code tool developers to do code refactoring and fixes Work space APIs allow plugin developers to perform actions specifically required in integrated development environments IDEs like Visual Studio such as finding references of a variable or code formatting Compiler APIs allow even more sophisticated analysis of source code by exposing direct calls to perform syntax tree and binding flow analysis 18 Using an open source implementation of Common Language Infrastructure CLI such as NET Core Roslyn will be able to compile in a platform agnostic manner capable of running CLI code in Linux OS X and Windows citation needed See also edit nbsp Free and open source software portalList of compilers Microsoft PhoenixReferences edit Release NET 7 0 0 GitHub December 14 2021 Retrieved May 5 2022 C and Visual Basic Use Roslyn to Write a Live Code Analyzer for Your API msdn microsoft com Retrieved January 7 2019 a b NET Compiler Platform Roslyn on GitHub Neil McAllister Microsoft s Roslyn Reinventing the compiler as we know it DEVELOPER WORLD 2011 10 20 Fabulous adventures in coding About Eric Lippert Eric Lippert November 29 2012 Hiring for Roslyn Eric Lippert s MSDN blog Eric Lippert December 16 2010 Muir Pat October 5 2014 Roslyn hopes new TV show brings 15 more minutes of fame Yakima Herald Archived from the original on November 2 2014 Retrieved November 1 2014 Microsoft Roslyn CTP Archived April 18 2012 at the Wayback Machine Microsoft Download Center Microsoft Roslyn CTP Microsoft Download Center What s New in the Microsoft Roslyn September 2012 CTP Visual Studio vNext Forums Known Limitations and Unimplemented Language Features Visual Studio vNext Forums NET Foundation Open Source Foundation for the NET Community Highlights from Build 2014 s Second Keynote InfoQ Retrieved December 26 2021 Microsoft Roslyn vs CodeDom Visual Studio 2015 RTM 2015 07 20 We re moving to GitHub Archived December 1 2015 at the Wayback Machine MSDN VBTeam Blog 2015 01 10 Whitepaper Roslyn Project Overview Microsoft Overview of Roslyn from GitHub documentationFurther reading editVasani Manish 2017 Roslyn Cookbook Compiler as a Service Code Analysis Code Quality and more Packt Publishing ISBN 978 1787286832 Harrison Nick 2017 Code Generation with Roslyn Apress ISBN 978 1484222102 Mukherjee Sudipta 2017 Source Code Analytics With Roslyn and JavaScript Data Visualization Apress ISBN 978 1484219249 External links edit nbsp Wikibooks has a book on the topic of NET Development Foundation Official website nbsp Introducing the Microsoft Roslyn CTP on the C Frequently Asked Questions MSDN blog Throwing the Big Switch on Roslyn on the C Frequently Asked Questions MSDN blog Retrieved from https en wikipedia org w index php title Roslyn compiler amp oldid 1204657486, wikipedia, wiki, book, books, library,

article

, read, download, free, free download, mp3, video, mp4, 3gp, jpg, jpeg, gif, png, picture, music, song, movie, book, game, games.