Explore more courses in [ dmitrysoshnikov.education] school.
Programming Languages: Ultimate – 3rd Edition
The bundle includes all courses related to building a programming language, going deep into Compilers, Virtual Machines, LLVM, Parsers, Typecheckers, and other aspects. Read more →
Available coupons:
|
High-level Compilers, Tools, and Techniques
The bundle includes 4 courses related to building a programming language at high-level, implementing an Interpreter, Parser, Typechecker, and Transpiler. Read more →
Available coupons:
|
On courses
- Compiler Engineer Path ⭐️– in which order to take courses
JavaScript. The Core
Memory management
Building a High-level Compiler from scratch
Practical online course on implementing a high-level compiler for a concurrent programming language similar to Erlang, with message-passing communicating processes, translating down to JavaScript.Read more →
Available coupons:
|
Programming Language with LLVM
Practical online course on implementing a production-level programming language similar to JavaScript, from scratch, and using LLVM compiler infrastructure.Read more →
Available coupons:
|
Building a Typechecker from scratch
Practical online course on implementing a static type checker for a full programming language similar to TypeScript, from scratch.Read more →
Available coupons:
|
Building a Virtual Machine for Programming Language
Practical online course on implementing a virtual machine for a full programming language similar to JavaScript, from scratch.Read more →
Available coupons:
|
Building a Parser from scratch
Practical online course in which we build a Recursive-descent parser for a full programming language similar to JavaScript, from scratch.Read more →
Available coupons:
|
Parsing Algorithms
Online course devoted to the theory and techniques of syntactic analysis, where we build an parser for a programming language from scratch.Read more →
Available coupons:
|
Building an Interpreter from scratch
Practical online course devoted to the semantics of programming languages, where we build an interpreter for a language similar to Python or JavaScript from scratch.Read more →
Available coupons:
|
Garbage Collection Algorithms
Online course devoted to the Automatic memory management used in computer programs, know as the Garbage Collection. Read more →
Available coupons:
|
Automata Theory: inside a RegExp machine
Online course devoted to state machines, formal grammars, and regular expressions implementation, where we build a RegExp processor based on NFA and DFA. Read more →
Available coupons:
|
Parsing
- Syntax: language agnostic parser generator
- RegExp Tree: a regular expressions processor
- MIPS Assembly parser
- Rust LALR(1) parser generator
- hdl-js: HDL parser and Hardware simulator (online tool)
ECMA-262-3 in detail
- Chapter 1. Execution Contexts
- Chapter 2. Variable object
- Chapter 3. This
- Chapter 4. Scope chain
- Chapter 5. Functions
- Chapter 6. Closures
- Chapter 7.1. OOP: The general theory
- Chapter 7.2. OOP: ECMAScript implementation
- Chapter 8. Evaluation strategy
ECMA-262-5 in detail
- Chapter 1. Properties and Property Descriptors
- Chapter 2. Strict Mode
- Chapter 3.1. Lexical environments: Common Theory
- Chapter 3.2. Lexical environments: ECMAScript implementation
Notes
- Note 1. ECMAScript. Bound functions
- Note 2. ECMAScript. Equality operators
- Note 3. CoffeeScript. Scheme on Coffee
- Note 4. Two words about “hoisting”
- Note 5. ECMAScript: Unresolved references
- Note 6. ES6: Default values of parameters