Aleksandra Sikora
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.
tree-IT GmbH
Bad Neustadt an der Saale, Germany
€54-80K
Intermediate
Senior
Java
TypeScript
+1
MARKT-PILOT GmbH
Stuttgart, Germany
Remote
€75-90K
Senior
Java
TypeScript
+1
Technoly GmbH
Berlin, Germany
Senior
JavaScript
Angular
+1
Matching moments
03:28 MIN
Introducing the Langium framework for language engineering
Langium: Design your own language in Node.js and VS Code
00:57 MIN
Approaching the live pair programming challenge
Coffee with Developers - Jonathan Tang
02:27 MIN
Final thoughts on learning from alien programming languages
Java with a Clojure mindset
03:34 MIN
How Langium processes code into an abstract syntax tree
Langium: Design Your Own Language in Node.js and VS Code
02:45 MIN
An overview of the Langium framework
Langium: Design Your Own Language in Node.js and VS Code
13:13 MIN
Manipulating code reliably with Abstract Syntax Trees
Let's build a VS Code extension for automated refactorings
16:54 MIN
Q&A on type systems and legacy code
Typed Security: Preventing Vulnerabilities By Design
04:13 MIN
The motivation for building a custom language
Building a Compiler with C#
Featured Partners
Related Videos
WebAssembly: Disassembled
Stefan Schöberl
Langium: Design your own language in Node.js and VS Code
Irina Artemeva
Langium: Design Your Own Language in Node.js and VS Code
Miro Spönemann
Python: Behind the Scenes
Diana Gastrin
Building a Compiler with C#
Florian Rappl
Things I learned while writing high-performance JavaScript applications
Michele Riva
How to become an AI toolsmith
Clemens Helm
Lies we Tell Ourselves As Developers
Stefan Baumgartner
Related Articles
View all articles



From learning to earning
Jobs that call for the skills explored in this talk.

Visonum GmbH
Remote
Junior
Intermediate
React
Redux
TypeScript


Code Healers LLC
Hinesville, United States of America
Remote
€20-30K
Junior
Intermediate
React
JavaScript
TypeScript
+1

Code Healers LLC
Hinesville, United States of America
Remote
€30-40K
Intermediate
Senior
.NET
React
JavaScript
+2

Confideck GmbH
Vienna, Austria
Remote
Intermediate
Senior
Node.js
MongoDB
TypeScript

Picnic Technologies B.V.
Amsterdam, Netherlands
Intermediate
Senior
Python
Machine Learning
Structured Query Language (SQL)



Paradox
Paris, France
Remote
Senior
React
TypeScript
Agile Methodologies