Beispiel #1
0
 public void Compile(CEnv env, Generator gen)
 {
     env.PushEnv();
     foreach (VarDecl parameter in parameters)
     {
         env.DeclareLocal(parameter);
     }
     gen.Label(env.GetFun(name));
     body.Compile(env, gen);
     gen.Emit(new RET(parameters.Length - 1));
     env.PopEnv();
 }
Beispiel #2
0
 public override void Compile(CEnv env, Generator gen)
 {
     type.CompileAllocation(gen); // Generate code
     env.DeclareLocal(this);      // Add to compilation environment
 }