Now that we know how to compile variable and constant declarations, it is time to move on to procedure and function declarations. As I mentioned before, all procedures and functions have to be compiled into global ones because Java has no nesting. Making the names of local procedures unique goes the same way as I described before with the variable and constant declarations in subsection 9.1.1, by prefixing the name with the string `` $_'', followed by a unique number.
First I will describe how to compile a procedure or function and how to handle forward declarations in the process. After that I will describe how to handle the parameters.