topics name, scope, binding control flow 1) name scope This language has static scope. What this program prints? def fun1() x = 10 def fun2(y) x = 5 print(x+y) print(x) fun2(3) fun1() 2) Convert the following program into pseudo assembly language. a = 0 do a += 1 while a < 10 3) stack frame and static link draw stack frame and static link of the execution of this program. def p1(): x = 10 def p2(a): print(x) def p3(b): p2(b) p3(2) p1() 4) assume the following language is "dynamic" scoping. When run this program, what does it print? ( of course, this program looks like C, and C has static scope. However, assume this program is "dynamic scope"). int x = 10; int f() { return x; } int g() { int x = 20; return f(); } main() { printf(g()); }