WeAreDevelopers LIVE Mar 3, 2021

Building a Compiler with C#

Florian Rappl

When mathematically driven games hit processing limits, standard engines failed. Discover how building a custom C# expression compiler unlocked execution speeds two magnitudes faster.

Pause
Mute Enter Fullscreen
#1 about 2 min

Evolution of custom compilers and virtual machines

Iterative architectural development allows compiler and virtual machine bases to achieve high code readability.

#2 about 5 min

Exposing compiler APIs with the Roslyn platform

Providing language services directly from the compiler engine enables deep syntax integration inside advanced IDEs.

#3 about 2 min

Transpiling target code into intermediate language sequences

Directly converting source expressions into intermediate language visualizes the structural translation logic applied by core runtime environments.

#4 about 5 min

Accelerating dynamic mathematical expression parsing inside games

Evaluating complex formulas within restricted game loop states requires dedicated expression parsers optimized for extreme execution speeds.

#5 about 3 min

Formalizing grammar rules for new programming languages

Defining strict syntax boundaries identifies exactly how incoming text inputs should map into valid language implementations.

#6 about 5 min

Navigating the traditional source code compilation pipeline

Transforming high-level code into executable binaries involves staged analysis formats that separate frontend concepts from target machine instructions.

#7 about 5 min

Decoding character streams into parseable syntax blocks

Normalizing continuous byte inputs into tokenized keyword definitions produces the minimal distinct fragments necessary for semantic evaluation.

#8 about 6 min

Structuring interpreted execution order with syntax trees

Transforming isolated tokens into hierarchical trees organizes nested expressions and discrete statements correctly according to mathematical precedence.

#9 about 3 min

Traversing syntax trees safely with visitor patterns

Applying standardized tree walking behaviors simplifies extending node investigations without breaking unhandled structural expression variations.

#10 about 3 min

Inspecting live node hierarchies via customized terminal REPLs

Typing uncompiled commands directly into iterative console interfaces provides immediate feedback regarding function assignments and parsed runtime blocks.

#11 about 3 min

Managing complex operation sequence weights using recursive parsing

Wrapping grouped operators inside separate nested functions allows the unrolling call stack to naturally process and sequence precedence logic.

#12 about 4 min

Generating linear evaluation outputs for process virtual machines

Converting deeply nested syntax structures back into flattened instruction streams readies logic blocks for isolated and stable interpreter execution.

Matching moments

2:39 min

Understanding the basics of .NET source generators

Glenn F. Henriksen Glenn F. Henriksen · World Congress 2026 Europe

4:22 min

Managing compilation performance and implementation specifics of advanced typing

Peter Kröner Peter Kröner · World Congress 2022

1:52 min

Overview of C# source generators and compilation pipeline

Jiří Činčura · World Congress 2021

1:53 min

Improving performance with advanced compiled language tooling

Rainer Hahnekamp · World Congress 2022

2:31 min

Abstractions and the push towards compiling natural language

Chris Heilmann +1 · LIVE

3:18 min

Understanding the purpose of compiler lowering in C#

Steven Giesel Steven Giesel · World Congress 2025

Upcoming sessions on this topic

Open session

World Congress 2026 North America

September 24, 2026 · 16:10–16:40

Outdoor Stage

When Humans Stop Writing Code: Rethinking Languages, Compilers, and Responsibility

Simon Auer

Organizer of flutter vienna meetup and CEO of marqably

Simon Auer
Open session

World Congress 2026 North America

September 25, 2026 · 14:50–15:20

Stage 1

There's no dark factory without better software verifiers

Dexter Horthy

Co-Founder, HumanLayer

Dexter Horthy
Open session

World Congress 2026 North America

September 24, 2026 · 13:30–14:00

Stage 9

Understanding LLM Architectures: Inside the Design of Modern Models

Jofia Jose Prakash

Director - AI & Governance at Humanity + AI, Inc

Jofia Jose Prakash
Open session

World Congress 2026 North America

September 25, 2026 · 11:00–11:30

Stage 7

Beyond Vibe Coding: An AI Builder’s Guide to Migrating 10k+ React Components

Shubham Chaurasia

Senior Software Engineer @ Meta

Shubham Chaurasia
Open session

World Congress 2026 North America

September 25, 2026 · 16:50–17:20

Stage 1

Honey, look! I vibe-coded an OS!

Ian Smith

CTO, LYOS

Ian Smith
Open session

World Congress 2026 North America

September 24, 2026 · 16:10–16:40

Stage 2

The Death of the Code Review

Laurie Voss

Head of Developer Relations

Laurie Voss