diff options
author | Andreas Baumann <mail@andreasbaumann.cc> | 2021-10-01 21:10:36 +0200 |
---|---|---|
committer | Andreas Baumann <mail@andreasbaumann.cc> | 2021-10-01 21:10:36 +0200 |
commit | 7f32ad51b0f08446d7f66e5403d69299d0d60021 (patch) | |
tree | 647f786b8f31bdc46b296f9b4b9d40c0375b583d /miniany/REQUIREMENTS | |
parent | b0c6943121f186c79d2152694d209f82904ff1e1 (diff) | |
download | compilertests-7f32ad51b0f08446d7f66e5403d69299d0d60021.tar.gz compilertests-7f32ad51b0f08446d7f66e5403d69299d0d60021.tar.bz2 |
c4: added strl* functions
cc: started peudo function parsing, currently for void main() only
some philosophical thinking and testing around forward function declarations
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). |