Aleksandra Sikora

Making Sense of Programming Languages

What if you could treat code as data? Learn how to build custom linters, IDE extensions, or even your own programming language from scratch.

Making Sense of Programming Languages
#1about 4 minutes

The value of understanding language internals

Learning how programming languages work is valuable for all developers, enabling the creation of custom linting rules, IDE extensions, and domain-specific languages (DSLs).

#2about 3 minutes

Understanding language grammars and structure

Programming languages are defined by grammars, which are sets of rules that distinguish between regular grammars (predictable, sequential) and context-free grammars (recursive, complex).

#3about 3 minutes

Distinguishing between interpreters and compilers

Languages are not inherently interpreted or compiled; their implementations are, with some systems like V8 using both a compiler and an interpreter.

#4about 3 minutes

Exploring the code processing pipeline

Code is processed through a pipeline that includes scanning (lexing), parsing into an abstract syntax tree (AST), analysis, and finally evaluation by an interpreter or compiler.

#5about 6 minutes

Building a lexer and parser with typescript-parsec

A live demonstration shows how to use typescript-parsec to build a lexer that creates a stream of tokens and a parser that organizes them into an abstract syntax tree (AST).

#6about 3 minutes

Implementing a simple tree-walk interpreter

The interpreter is built as a recursive function that walks the abstract syntax tree (AST), evaluating each node to produce a final result while managing variable scope.

#7about 8 minutes

Extending the language with a custom print syntax

A new print feature using a question mark suffix is added by updating the lexer to recognize the token, the parser to create a new AST node, and the interpreter to handle the new logic.

#8about 1 minute

Conclusion and resources for language development

The talk concludes by sharing the open-source project and providing resources for anyone interested in exploring programming language creation further.

Related jobs
Jobs that call for the skills explored in this talk.
SabIna compys

SabIna compys
Vienna, Austria

Remote
20-100K
Intermediate
JavaScript
.NET
+1

Featured Partners

Related Articles

View all articles
BB
Benedikt Bischof
How we Build The Software of Tomorrow
Welcome to this issue of the WeAreDevelopers Live Talk series. This article recaps an interesting talk by Thomas Dohmke who introduced us to the future of AI – coding.This is how Thomas describes himself:I am the CEO of GitHub and drive the company’s...
How we Build The Software of Tomorrow
AP
Anto Pranjić
11 Tips to Make The Most Out of Your First World Congress 
The world’s most awesome event for developers is taking place in less than a month! It’s been far too long since the last time we met in person, but that’s only going to make this year’s WeAreDevelopers World Congress a truly special experience. Conf...
11 Tips to Make The Most Out of Your First World Congress 

From learning to earning

Jobs that call for the skills explored in this talk.