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 · WWC Europe 2026

4:22 min

Managing compilation performance and implementation specifics of advanced typing

Peter Kröner Peter Kröner · WWC 2022

1:52 min

Overview of C# source generators and compilation pipeline

Jiří Činčura · WWC 2021

1:53 min

Improving performance with advanced compiled language tooling

Rainer Hahnekamp · WWC 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 · WWC 2025

Upcoming sessions on this topic

Open session

World Congress 2026 North America

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

There's no dark factory without better software verifiers

Dexter Horthy

Co-Founder, HumanLayer

Dexter Horthy
Open session

World Congress 2026 North America

Understanding LLM Architectures: Inside the Design of Modern Models

Jofia Jose Prakash

Enterprise AI Architect at American Chemical Society

Jofia Jose Prakash
Open session

World Congress 2026 North America

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

Honey, look! I vibe-coded an OS!

Ian Smith

CTO, LYOS

Ian Smith
Open session

World Congress 2026 North America

Fast, Cheap, and Accurate: Optimizing LLM Inference with vLLM and Quantization

Cedric Clyburn, Legare Kerrison

Cedric Clyburn
Legare Kerrison