World Congress 2023 Sep 27, 2023

Making Sense of Programming Languages

Aleksandra Sikora

Understanding compilation pipelines isn't just academic theory. Master abstract syntax trees to ditch regex hacks and build your own custom linters, parsers, and dynamic domain-specific languages.

Pause
Mute Enter Fullscreen
#1 about 2 min

Introduction to programming language internal workings

The fundamental concepts of programming language construction and why developers benefit from understanding them.

#2 about 3 min

Practical applications of language parsing knowledge

How understanding language structures enables custom linting rules, advanced editor automations, and domain-specific languages.

#3 about 4 min

Defining programming languages using context-free grammars

The role of regular and context-free grammars in defining valid syntax and language rules.

#4 about 4 min

Clarifying compiled versus interpreted language implementations

Why tools are categorized by their implementation rather than strictly labeled as interpreted or compiled languages.

#5 about 3 min

Tracing the execution pipeline from tokens to code

The complete pipeline transforming source code into evaluated results via scanning, parsing, and execution.

#6 about 4 min

Tokenizing input source code with a custom lexer

Implementing a custom lexer using TypeScript utilities to convert code strings into categorized tokens.

#7 about 3 min

Defining parser rules for an abstract syntax tree

Constructing an abstract syntax tree by mapping token sequences to structured grammar rules.

#8 about 4 min

Structuring a tree-walk interpreter for code evaluation

Building a minimal tree-walk interpreter that recursively evaluates parsed abstract syntax tree nodes.

#9 about 7 min

Extending language syntax in the lexer and parser

Modifying the custom language's lexer and parser to recognize and type a new print expression operator.

#10 about 3 min

Executing new syntax within an updated language interpreter

Updating the interpreter logic to evaluate and successfully run the newly added print statement syntax.

Matching moments

3:55 min

Demonstrating a custom language grammar with mini logo

Irina Artemeva · WWC 2023

4:22 min

Managing compilation performance and implementation specifics of advanced typing

Peter Kröner Peter Kröner · WWC 2022

2:31 min

Abstractions and the push towards compiling natural language

Chris Heilmann +1 · LIVE

1:11 min

Understanding how natural and programming languages evolve

Daniel Gaszewski · WWC 2023

6:39 min

Transforming abstract syntax trees using Babel parsers and generators

Nicolas Carlo · JS Congress

6:31 min

Leveraging abstract syntax trees for reliable code transformation

Nicolas Carlo · JS Congress

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

Beyond Vibe Coding: Using CLI Tools as Your AI Counterpart in Pair Programming

Ron Veen

Java enthusiast and Special agent for Team Rockstars IT

Ron Veen
Open session

World Congress 2026 North America

The spectrum of agentic coding: From vibe coding to high-quality software engineering

YK Sugi

Developer Experience Manager at Eventual

YK Sugi
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

There's no dark factory without better software verifiers

Dexter Horthy

Co-Founder, HumanLayer

Dexter Horthy
Open session

World Congress 2026 North America

Beyond SQL Generation: How to Teach Agents What Your Database Actually Means

Kris Jenkins

Lead Developer Advocate at Snowflake

Kris Jenkins