Roslyn
TALENTSOFT R&D Academy 27/03/2014
Compilateur as A Service
► [Introduction]Compilateur et méta programmation
► Roslyn
► [Coding]Syntaxe et Sémantique
► [Demo] Scripting et Compilati...
► [Introduction]Compilateur et méta programmation
► Roslyn
► [Coding]Syntaxe et Sémantique
► [Demo] Scripting et Compilati...
Compilateur et meta-programmation
Définition
La métaprogrammation désigne l'écriture de
programmes qui manipulent des donn...
Compilateur et meta-programmation
Compilateurs
Compilateur et meta-programmation
Compilateurs
var x = 10;
var y = 20;
if(x == y)
{
}
IL_0001: ldc.i4.s 0A
IL_0003: stloc....
► [Introduction]Compilateur et méta programmation
► Roslyn
► [Coding]Syntaxe et Sémantique
► [Demo] Scripting et Compilati...
Roslyn
Octobre
2011
Community
Technology Preview
Evangélisation
(MVP Matthieu Mezil)
2012
Février
Major Updates
& Breaking...
Roslyn
Octobre
2011
Community
Technology Preview
Evangélisation
(MVP Matthieu Mezil)
2012
Février
Major Updates
& Breaking...
Eric Lippert « Principal
Developer » quitte
Microsoft pour Coverity
Novembre 2012
Novembre 2012
Eric Lippert « Principal
Developer » quitte
Microsoft pour Coverity
Dogfooding de
Roslyn
Décembre 2013
Dogfooding de
Roslyn
Décembre 2013
Roslyn
Ressources
 Api & templates téléchargeables
pour VS 2012.
 Exemple format Word
 Packages NuGet
Disponible pour l...
Roslyn
Compilateur As A Service
Compiler APIs
Scripting APIs
Services APIs
Editor Services
APIs
4APIs
Roslyn
Compiler APIs
Scripting APIs
Services APIs
Editor Services
APIs
4APIs
Roslyn
Compiler APIs
Scripting APIs
Services APIs
Editor Services
APIs
4APIs
Roslyn
Compiler APIs
Scripting APIs
Services APIs
Editor Services
APIs
4APIs
Roslyn
Compiler APIs
Scripting APIs
Services APIs
Editor Services
APIs
4APIs
Roslyn
Roslyn
Templates VS 2012
► [Introduction] Compilateur et méta programmation
► Roslyn
► [Coding] Syntaxe et Sémantique
► [Demo] Scripting et Compila...
[Coding] Syntaxe et Sémantique
Workspace
[Coding] Syntaxe et Sémantique
Prérequis
[Coding] Syntaxe et Sémantique
Grammaire & langage
Grammaire (Arbre syntaxique)
 ArgumentListSyntax  paramètre de méthod...
[Coding] Syntaxe et Sémantique
Syntax
SyntaxNode: Blue
SyntaxToken: Green
SyntaxTrivia: Red
using System;
using System.Col...
<Live Coding>
[Coding] Syntaxe et Sémantique
[Coding] Syntaxe et Sémantique
[Coding] Syntaxe et Sémantique
ExpressionStatementSyntax
BinaryExpressionSyntax
IdentifierNameSyntax InvocationExpressionS...
[Coding] Syntaxe et Sémantique
InvocationExpressionSyntax
MemberAccessExpressionSyntax
ArgumentListSyntax
IdentifierNameSy...
</Live Coding>
► [Introduction] Compilateur et méta programmation
► Roslyn
► [Coding] Syntaxe et Sémantique
► [Demo] Scripting et Compila...
[Demo] Scripting et Compilation
Script CS
scriptcs makes it easy to write and execute C# with a simple text editor.
C:> sc...
[Demo] Scripting et Compilation
Demo
► [Introduction] Compilateur et méta programmation
► Roslyn
► [Coding] Syntaxe et Sémantique
► [Demo] Scripting et Compila...
Le projet et son avenir
Actuellement
 Dogfooding
 Build 2014
 Balbutiement dans la communauté
Le projet et son avenir
Wish-list
 Meilleur documentation (à jour!)
 Full-Compatible avec VS 2013
 Le retour de l’analy...
Roslyn
Roslyn
Roslyn
Roslyn
Roslyn
Upcoming SlideShare
Loading in …5
×

Roslyn

330 views
201 views

Published on

Published in: Software
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
330
On SlideShare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
2
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Roslyn

  1. 1. Roslyn TALENTSOFT R&D Academy 27/03/2014 Compilateur as A Service
  2. 2. ► [Introduction]Compilateur et méta programmation ► Roslyn ► [Coding]Syntaxe et Sémantique ► [Demo] Scripting et Compilation ► Le projet et son avenir Agenda
  3. 3. ► [Introduction]Compilateur et méta programmation ► Roslyn ► [Coding]Syntaxe et Sémantique ► [Demo] Scripting et Compilation ► Le projet et son avenir Agenda
  4. 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. 5. Compilateur et meta-programmation Compilateurs
  6. 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. 7. ► [Introduction]Compilateur et méta programmation ► Roslyn ► [Coding]Syntaxe et Sémantique ► [Demo] Scripting et Compilation ► Le projet et son avenir Agenda
  8. 8. Roslyn Octobre 2011 Community Technology Preview Evangélisation (MVP Matthieu Mezil) 2012 Février Major Updates & Breaking changes Septembre 2012
  9. 9. Roslyn Octobre 2011 Community Technology Preview Evangélisation (MVP Matthieu Mezil) 2012 Février Major Updates & Breaking changes Septembre 2012
  10. 10. Eric Lippert « Principal Developer » quitte Microsoft pour Coverity Novembre 2012
  11. 11. Novembre 2012 Eric Lippert « Principal Developer » quitte Microsoft pour Coverity
  12. 12. Dogfooding de Roslyn Décembre 2013
  13. 13. Dogfooding de Roslyn Décembre 2013
  14. 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. 15. Roslyn Compilateur As A Service
  16. 16. Compiler APIs Scripting APIs Services APIs Editor Services APIs 4APIs Roslyn
  17. 17. Compiler APIs Scripting APIs Services APIs Editor Services APIs 4APIs Roslyn
  18. 18. Compiler APIs Scripting APIs Services APIs Editor Services APIs 4APIs Roslyn
  19. 19. Compiler APIs Scripting APIs Services APIs Editor Services APIs 4APIs Roslyn
  20. 20. Compiler APIs Scripting APIs Services APIs Editor Services APIs 4APIs Roslyn
  21. 21. Roslyn Templates VS 2012
  22. 22. ► [Introduction] Compilateur et méta programmation ► Roslyn ► [Coding] Syntaxe et Sémantique ► [Demo] Scripting et Compilation ► Le projet et son avenir Agenda
  23. 23. [Coding] Syntaxe et Sémantique Workspace
  24. 24. [Coding] Syntaxe et Sémantique Prérequis
  25. 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. 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. 27. <Live Coding>
  28. 28. [Coding] Syntaxe et Sémantique
  29. 29. [Coding] Syntaxe et Sémantique
  30. 30. [Coding] Syntaxe et Sémantique ExpressionStatementSyntax BinaryExpressionSyntax IdentifierNameSyntax InvocationExpressionSyntax
  31. 31. [Coding] Syntaxe et Sémantique InvocationExpressionSyntax MemberAccessExpressionSyntax ArgumentListSyntax IdentifierNameSyntax IdentifierNameSyntax
  32. 32. </Live Coding>
  33. 33. ► [Introduction] Compilateur et méta programmation ► Roslyn ► [Coding] Syntaxe et Sémantique ► [Demo] Scripting et Compilation ► Le projet et son avenir Agenda
  34. 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. 35. [Demo] Scripting et Compilation Demo
  36. 36. ► [Introduction] Compilateur et méta programmation ► Roslyn ► [Coding] Syntaxe et Sémantique ► [Demo] Scripting et Compilation ► Le projet et son avenir Agenda
  37. 37. Le projet et son avenir Actuellement  Dogfooding  Build 2014  Balbutiement dans la communauté
  38. 38. Le projet et son avenir Wish-list  Meilleur documentation (à jour!)  Full-Compatible avec VS 2013  Le retour de l’analyseur syntaxique  AOP

×