1. 1. Building a language in Typescript
    1. 1.1. Prerequisites
    2. 1.2. What's not covered?
  2. 2. Getting Started
    1. 2.1. Lexing
    2. 2.2. Parsing
    3. 2.3. Generation
  3. 3. Lexing
    1. 3.1. Tokens
    2. 3.2. Our types
      1. 3.2.1. TokenType
      2. 3.2.2. TokenNode
      3. 3.2.3. TokenValueNode
      4. 3.2.4. Token
    3. 3.3. A basic lexer
      1. 3.3.1. Lookaheads
    4. 3.4. Processing tokens
    5. 3.5. Matching strings & literals
      1. 3.5.1. strings
      2. 3.5.2. literals
    6. 3.6. Testing
  4. 4. Parsing
    1. 4.1. Our types
    2. 4.2. Structure
    3. 4.3. Basic nodes
    4. 4.4. Log Call
    5. 4.5. Variable Assignment
    6. 4.6. Testing
  5. 5. Generation
    1. 5.1. Transforming our AST
    2. 5.2. Generating Javascript
  6. 6. Expanding our language
    1. 6.1. Functions
    2. 6.2. Control Flow
      1. 6.2.1. if statements
      2. 6.2.2. loops
    3. 6.3. Data Types
      1. 6.3.1. Arrays
      2. 6.3.2. Objects

Building a language in Typescript

if statements