LACS Programming Language

I learned this in my CS241E class.

Lacs is a simple programming language We write a compiler from Lacs to MIPS machine language, using the code generation code that we have already implemented in Assignments 1-6. The main features of Lacs are:

  • values and variables of type integer and closures
  • arithmetic expressions
  • if-then-else expressions
  • procedures, including recursive procedures, nested procedures with nested scopes, and closures

The premises of the rule first enforce the requirement that the parameters, variables, and nested procedures must all have distinct names.

However, if you nest a procedure inside another procedure with the same name, that is still fine.