X-Git-Url: https://git.martlubbers.net/?a=blobdiff_plain;f=gen.icl;h=0fc8bc04d522ea29e1d4e9ba349beaef295ca2bd;hb=552f09db0d73eca583d297abd7114462fd87646d;hp=9145ee56d8659d0f7db56cc823db54db93aab99c;hpb=2dfaf554d3b448567e41a140d46a27f6dfb5d901;p=cc1516.git diff --git a/gen.icl b/gen.icl index 9145ee5..0fc8bc0 100644 --- a/gen.icl +++ b/gen.icl @@ -64,8 +64,14 @@ gen (AST fds) = case evalRWST prog "" ('Map'.newMap, labelStream) of // ,Instr "ldc" [Lit 1] "Eerste instructie" // ,Instr "ldc" [Lit 2] "Tweede instructie"] -//TODO: -//For now in the generation we assume all vars fit on the stack... +//Current issues: +//All VarDecls are added as function, how to deal with assignments? +// (And when we deal with assignments, how to deal with assignments to higher order functions?) +//Dealing with arguments +//Dealing with types that do not fit on the Stack +// Probably completely change LoadPlace to a Type and a position relative to *something* +// And where the type determines if this position is a pointer to the heap or an +// unboxed value //helper functions for the gen monad genMap :: Gen GenMap