Source: https://www.ime.usp.br/~alvaroma/ucsp/proglang/book.pdf