Syntax and Semantics of Programming Languages

Marcelo Fiore

Computer Laboratory


This mini-course is about the mathematical structure of programming languages regarded as syntactic objects equipped with a computational semantics.

In Part I, I will start by recalling the basics of the algebraic approach to understanding abstract syntax and follow by presenting an extension that incorporates binding operators. With this background, in Part II, I will consider a unified framework for giving structured, compositional semantics to process calculi. Our running examples will be CCS, value-passing CCS, and the pi-calculus.

The aim of the mini-course is to offer tools for thinking about syntactic and semantics aspects of programming languages in a principled manner.


  • Part I.
  • Part II.
  • References

  • Part I.
  • Part II