//
define global g='GLOBAL';
proc main;
	option 8 2;
	local y = 'local y';
	print "local y";
	private x=100;
	print f();
	print f.f_g.f_g_h();
	return ERROR;
end proc;

func f;
	func f_g;
		func f_g_h;
			d = 'AA';
			print d c b x;
			print "local x" e;
			return 0;
		end func;
		c='A';
		print b;
		local e = 'local e';
		print e;
		print f_g_h();
		return 0;
	end func;
	b=100;
	print f_g();
	return ERROR;
end func;
