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);
        }
Esempio n. 2
0
 public Declaration Lookup(ANamedExp exp)
 {
     return(Lookup(exp.GetId().Text));
 }