public override void OutANamedExp(ANamedExp node) { Declaration val = mEnv.CurrentScope.Lookup(node); if (val.Decl.GetType() == typeof(APortDecl)) { mOutputFile.Add(new Load(val.Address, val.Type)); } if (val.Decl.GetType() == typeof(AVarDecl)) { mOutputFile.Add(new Push(val.Name, val.Type)); } base.OutANamedExp(node); }
public Declaration Lookup(ANamedExp exp) { return(Lookup(exp.GetId().Text)); }