diff options
Diffstat (limited to 'miniany/REQUIREMENTS')
-rw-r--r-- | miniany/REQUIREMENTS | 10 |
1 files changed, 9 insertions, 1 deletions
diff --git a/miniany/REQUIREMENTS b/miniany/REQUIREMENTS index 985def7..a6fce03 100644 --- a/miniany/REQUIREMENTS +++ b/miniany/REQUIREMENTS @@ -130,5 +130,13 @@ TODO: semicolon after the last triplet). IMHO a for loop makes sense for SIMD operations only when we can use a stricter grammar to optimize certain iterations. - +- c4: recursive descent parsing requires forward function declarations. Forward + function declarations are not that easy to implement, because you have to + generate a placeholder for the call address before you get the whole + definition of the forwarded function (especially its entry address). + Or we create sort of a temporary jump into a jump table (sort of a GOT) which + we patch when we know the address of the implementation of the function. + Having a global table at one place scales easier, as we don't have to keep + the whole generated code around just for patching (remember, we have tapes + and memory, no seek of files). |