Skip to content

Latest commit

 

History

History
45 lines (30 loc) · 1.47 KB

README.md

File metadata and controls

45 lines (30 loc) · 1.47 KB

LiP lab

LiP students are expected to fork the repository and push solutions to the exercises on their fork.

Invitation to the Discord server: https://discord.gg/JKPWbpXBf4

⚠️⚙️ 2024 Project

Examples and (very soon) unit tests for this year's project Tiny Rust are available in the lip24 directory.

Course outline

Warm-up exercises

  1. Adder
  2. Tug of war (optional)

Lexing and parsing

  1. Regexp recognizer
  2. Context-free grammars
  3. A toy lexer
  4. A toy parser
  5. Game of life (optional)

Expressions

  1. A minimal language of boolean expressions
  2. Boolean expressions with not, and, or
  3. Typed arithmetic expressions with dynamic type checking
  4. Typed arithmetic expressions with static type checking

Imperative languages

  1. A simple imperative language
  2. Declaration blocks
  3. Functions

References