From 7f32ad51b0f08446d7f66e5403d69299d0d60021 Mon Sep 17 00:00:00 2001 From: Andreas Baumann Date: Fri, 1 Oct 2021 21:10:36 +0200 Subject: c4: added strl* functions cc: started peudo function parsing, currently for void main() only some philosophical thinking and testing around forward function declarations --- miniany/REQUIREMENTS | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) (limited to 'miniany/REQUIREMENTS') 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). -- cgit v1.2.3-54-g00ecf