Lambda Calculus Translation, CSC530, Spring 2021
1 Handin
8.0.0.12

Lambda Calculus Translation, CSC530, Spring 2021

Write a compiler that accepts terms in the lambda calculus and outputs either JavaScript or Python or (massively harder) C.

Here’s the grammar of the input language:

  LC = num
  | id
  | (/ id => LC)
  | (LC LC)
  | (+ LC LC)
  | (* LC LC)
  | (ifleq0 LC LC LC)
  | (println LC)

...where num is a number, and id is an identifier.

1 Handin

Here’s a Github Classroom link: https://classroom.github.com/g/yaqX-5lk

You can work with a partner, if you like.