Slide 1

Slide 1 text

The .NET Compiler Platform SDK MS Farsi Community

Slide 2

Slide 2 text

> whoami Shahab Ganji Software Architecture Software Transformation .NET and C# enthusiast Embracing Change Telling dad jokes (Proudly) Code Artisan Lead Software Engineer MA I N F O C U S O N

Slide 3

Slide 3 text

Live Coding! P RE REQ U I S IT ES https://github.com/shahab-the-guy/code-joy-ride

Slide 4

Slide 4 text

Agenda I N TRO DU C T I ON What is Roslyn? Code! Talk is cheap, let’s write code Q & A You ask me questions; I’ll answer if I know the answer

Slide 5

Slide 5 text

01 What is Roslyn? Code! Q&A

Slide 6

Slide 6 text

Compilers W H AT I S RO S LYN ? Compiler Source Code Assembly (.exe, .dll)

Slide 7

Slide 7 text

Compilers W H AT I S RO S LYN ? Compiler Symbols Binder IL Emitter Metadata Import Parser Source Code Assembly (.exe, .dll)

Slide 8

Slide 8 text

Compilers W H AT I S RO S LYN ? Compiler Symbols Binder IL Emitter Metadata Import Parser Source Code Assembly (.exe, .dll) Symbol API Binding and Flow Analysis APIs Emit API Syntax Tree API Compiler API

Slide 9

Slide 9 text

Compilers W H AT I S RO S LYN ? Compiler Symbols Binder IL Emitter Metadata Import Parser Source Code Assembly (.exe, .dll) Symbol API Binding and Flow Analysis APIs Emit API Syntax Tree API Navigate To Extract Method Edit & Continue Colorizer Formatter Compiler API Language Services Diagnostic API

Slide 10

Slide 10 text

Compilers W H AT I S RO S LYN ? Compiler API Diagnostic API Scripting API Workspaces API REPL (Repeat-Evaluate-Print-Loop)

Slide 11

Slide 11 text

02 What is Roslyn? Code! Q&A

Slide 12

Slide 12 text

Exploring the APIs in Action C OD E! Side Tools Creating Semantic Analyzer Creating Code Fixer! The Problem

Slide 13

Slide 13 text

Compilers I N TRO DU C T I ON Compiler Symbols Binder IL Emitter Metadata Import Parser Symbol API Binding and Flow Analysis APIs Emit API Syntax Tree API Diagnostic API Navigate To Extract Method Edit & Continue Colorizer Formatter Source Code Assembly (.exe, .dll) Compiler API Language Services

Slide 14

Slide 14 text

Compilers I N TRO DU C T I ON Compiler Symbols Binder IL Emitter Metadata Import Parser Symbol API Binding and Flow Analysis APIs Emit API Syntax Tree API Diagnostic API Semantic Analyzer Code Fixer

Slide 15

Slide 15 text

03 What is Roslyn? Code! Q&A

Slide 16

Slide 16 text

Q&A

Slide 17

Slide 17 text

Get in touch Shahab aka. Saeed Ganji Code Artisan!

Slide 18

Slide 18 text

Enabling teams. Transforming IT landscapes. Digitalizing enterprises. Marxergasse 17/1/33-34 1030 Vienna (+43) 676 849963 200 Mühldorfstraße 8 81671 Munich (+49) 175 7284 701 office@squer.io www.squer.io www.code-crafts.com