Does an does arg decl return an iArrayIdentifier/iSimpleIdentifier?
No. An arg declaration returns nothing in the IR, just like a var declaration. Any actual use of an argument in the body of a function would return either an array identifier or simple identifier. Think of it this way. In the symbol table, you will have all the info you need about the argument declration to type check it in the function body. This would be the number of dimensions and the type. In addition, you will have saved it’s level and offset. To create the code for the function start, you really don’t need to know anything about the arguments. That is handled when you generate the IR for specific statements within the function. Declarations will generate IR in only two cases. Function declaration and Array declaration. In each case it is because we actually need to generate code to create those items. For the function it is the code of the individual statements. For the array, it is the code that evaluates the dimensions and then allocates that much space on the stack. Back to t