Answer from cs61c-es (Meng Chang Bruce Lin 16075852) for Question 2 I think recursive calls has caler and callee of the functions. In a nonrecursive program, the return of callee to a caller is removed since recursive call is prohibited. The reason is that each procedure has a set of frame that is statically allocated since one function or procedure is invocated one at a time. If such nonrecursive program is implemented, we will probably not see endless recursions. Hence, we might not run into infinite recursive calls.