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
Picnic Technologies B.V.
Amsterdam, Netherlands
Intermediate
Senior
TypeScript
Angular
+1
Matching moments
03:28 MIN
Shifting from talent acquisition to talent architecture
The Future of HR Lies in AND – Not in OR
06:10 MIN
Understanding global differences in work culture and motivation
The Future of HR Lies in AND – Not in OR
06:59 MIN
Moving from 'or' to 'and' thinking in HR strategy
The Future of HR Lies in AND – Not in OR
06:51 MIN
Balancing business, technology, and people for holistic success
The Future of HR Lies in AND – Not in OR
06:04 MIN
The importance of a fighting spirit to avoid complacency
The Future of HR Lies in AND – Not in OR
04:22 MIN
Navigating ambiguity as a core HR competency
The Future of HR Lies in AND – Not in OR
05:10 MIN
How the HR function has evolved over three decades
The Future of HR Lies in AND – Not in OR
03:13 MIN
How AI can create more human moments in HR
The Future of HR Lies in AND – Not in OR
Featured Partners
Related Videos
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
Create DSL (Domain Specific Language) on top of Swift
Milan Todorović
Building a Compiler with C#
Florian Rappl
How to become an AI toolsmith
Clemens Helm
ChatGPT: Create a Presentation!
Markus Walker
Python: Behind the Scenes
Diana Gastrin
Where we're going we don't need JavaScript - Programming with Type Annotations
Peter Kröner
Related Articles
View all articles



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



envelio
Köln, Germany
Remote
Senior
Python
JavaScript
Structured Query Language (SQL)

Ledger SAS
Paris, France
€9-18K
API
React
Node.js
Bitcoin
+3

Simplias GmbH
Leipzig, Germany
€50-84K
Intermediate
API
GIT
.NET
React
+4

Barcelona Supercomputing Center
Barcelona, Spain
Intermediate
Python
PyTorch
Machine Learning

Paradox En
Barcelona, Spain
Remote
API
JSON
REST
Python
+6

OfferZen
Amsterdam, Netherlands
Junior
CSS
REST
TypeScript
Unit Testing
Microservices
+1

OfferZen
The Hague, Netherlands
Intermediate
CSS
REST
TypeScript
Unit Testing
Microservices
+1