University of Pisa · Linguaggi di Programmazione

Programming Languages Lab

Why anyone would build a language instead of a program, and how: syntax, semantics and interpreters, in Python.

Vincenzo Ciancia, CNR-ISTI · vincenzo.ciancia@isti.cnr.it

Slides

  1. Lecture 0Why build a language?open →
  2. Lecture 1 · AWhat a language is made ofopen →
  3. Lecture 1 · BPython, with VS Codeopen →
  4. Lecture 2Types and pattern matching in Pythonopen →

New lectures appear here as they are taught. In the slides: arrow keys to move, F for full screen.

The course

You build a domain-specific language for a domain of your choice — images, music, geometry, graphs, text — with a parser, an interpreter, and examples that show it is good for something.

Code and slides are on GitHub.