Roslyn
Upcoming SlideShare
Loading in...5
×
 

Like this? Share it with your network

Share

Roslyn

on

  • 170 views

 

Statistics

Views

Total Views
170
Views on SlideShare
170
Embed Views
0

Actions

Likes
0
Downloads
0
Comments
0

0 Embeds 0

No embeds

Accessibility

Categories

Upload Details

Uploaded via as Microsoft PowerPoint

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

Roslyn Presentation Transcript

  • 1. Roslyn TALENTSOFT R&D Academy 27/03/2014 Compilateur as A Service
  • 2. ► [Introduction]Compilateur et méta programmation ► Roslyn ► [Coding]Syntaxe et Sémantique ► [Demo] Scripting et Compilation ► Le projet et son avenir Agenda
  • 3. ► [Introduction]Compilateur et méta programmation ► Roslyn ► [Coding]Syntaxe et Sémantique ► [Demo] Scripting et Compilation ► Le projet et son avenir Agenda
  • 4. Compilateur et meta-programmation Définition La métaprogrammation désigne l'écriture de programmes qui manipulent des données décrivant elles-mêmes des programmes. Wikipédia
  • 5. Compilateur et meta-programmation Compilateurs
  • 6. Compilateur et meta-programmation Compilateurs var x = 10; var y = 20; if(x == y) { } IL_0001: ldc.i4.s 0A IL_0003: stloc.0 IL_0004: ldc.i4.s 14 IL_0006: stloc.1 IL_0007: ldloc.0 IL_0008: ldloc.1 IL_0009: ceq IL_000B: ldc.i4.0 IL_000C: ceq IL_000E: stloc.2 IL_000F: ldloc.2 IL_0010: brtrue.s IL_0014 IL_0012: nop
  • 7. ► [Introduction]Compilateur et méta programmation ► Roslyn ► [Coding]Syntaxe et Sémantique ► [Demo] Scripting et Compilation ► Le projet et son avenir Agenda
  • 8. Roslyn Octobre 2011 Community Technology Preview Evangélisation (MVP Matthieu Mezil) 2012 Février Major Updates & Breaking changes Septembre 2012
  • 9. Roslyn Octobre 2011 Community Technology Preview Evangélisation (MVP Matthieu Mezil) 2012 Février Major Updates & Breaking changes Septembre 2012
  • 10. Eric Lippert « Principal Developer » quitte Microsoft pour Coverity Novembre 2012
  • 11. Novembre 2012 Eric Lippert « Principal Developer » quitte Microsoft pour Coverity
  • 12. Dogfooding de Roslyn Décembre 2013
  • 13. Dogfooding de Roslyn Décembre 2013
  • 14. Roslyn Ressources  Api & templates téléchargeables pour VS 2012.  Exemple format Word  Packages NuGet Disponible pour les autres versions de Visual Studio.
  • 15. Roslyn Compilateur As A Service
  • 16. Compiler APIs Scripting APIs Services APIs Editor Services APIs 4APIs Roslyn
  • 17. Compiler APIs Scripting APIs Services APIs Editor Services APIs 4APIs Roslyn
  • 18. Compiler APIs Scripting APIs Services APIs Editor Services APIs 4APIs Roslyn
  • 19. Compiler APIs Scripting APIs Services APIs Editor Services APIs 4APIs Roslyn
  • 20. Compiler APIs Scripting APIs Services APIs Editor Services APIs 4APIs Roslyn
  • 21. Roslyn Templates VS 2012
  • 22. ► [Introduction] Compilateur et méta programmation ► Roslyn ► [Coding] Syntaxe et Sémantique ► [Demo] Scripting et Compilation ► Le projet et son avenir Agenda
  • 23. [Coding] Syntaxe et Sémantique Workspace
  • 24. [Coding] Syntaxe et Sémantique Prérequis
  • 25. [Coding] Syntaxe et Sémantique Grammaire & langage Grammaire (Arbre syntaxique)  ArgumentListSyntax  paramètre de méthode  ClassDeclarationSyntax  déclaration d’une classe  ExpressionStatementSyntax  ligne de code  UsingDirectiveSyntax  using d’un namespace  ... Sémantique (Symbol)  SemanticModel  GetTypeInfo()  résultat de l’expression  (struct) CommonSymbolKind.Event  .Field  .Property
  • 26. [Coding] Syntaxe et Sémantique Syntax SyntaxNode: Blue SyntaxToken: Green SyntaxTrivia: Red using System; using System.Collections.Generic; using System.Linq; class Program { static void Main(string[] args) { Console.WriteLine("Hello, World"); } }
  • 27. <Live Coding>
  • 28. [Coding] Syntaxe et Sémantique
  • 29. [Coding] Syntaxe et Sémantique
  • 30. [Coding] Syntaxe et Sémantique ExpressionStatementSyntax BinaryExpressionSyntax IdentifierNameSyntax InvocationExpressionSyntax
  • 31. [Coding] Syntaxe et Sémantique InvocationExpressionSyntax MemberAccessExpressionSyntax ArgumentListSyntax IdentifierNameSyntax IdentifierNameSyntax
  • 32. </Live Coding>
  • 33. ► [Introduction] Compilateur et méta programmation ► Roslyn ► [Coding] Syntaxe et Sémantique ► [Demo] Scripting et Compilation ► Le projet et son avenir Agenda
  • 34. [Demo] Scripting et Compilation Script CS scriptcs makes it easy to write and execute C# with a simple text editor. C:> scriptcs scriptcs (ctrl-c or blank to exit) > var message = "Hello, world!"; > Console.WriteLine(message); Hello, world! >
  • 35. [Demo] Scripting et Compilation Demo
  • 36. ► [Introduction] Compilateur et méta programmation ► Roslyn ► [Coding] Syntaxe et Sémantique ► [Demo] Scripting et Compilation ► Le projet et son avenir Agenda
  • 37. Le projet et son avenir Actuellement  Dogfooding  Build 2014  Balbutiement dans la communauté
  • 38. Le projet et son avenir Wish-list  Meilleur documentation (à jour!)  Full-Compatible avec VS 2013  Le retour de l’analyseur syntaxique  AOP