I think in the Nation function, you are trying to give values to some of your variables. If this is indeed the case, you are assigning values in the wrong manner.
You need to use variableName = value; to accomplish this
name = lname;
land = 20;
// etc .........
Hope that helps a bit.