program is now a list of fdecl, math_func is now a stmt 

for math_func declaration, it should be in the format like f($x,$y)=2*x+y, out a $ in front of variable is to resolve the reduce/reduce error, unless anyone can think of a better way to deal with that