FOR COMMENT ONLY Skel backends
I have a backend code emission system working and ready for comment. I'll need to write a filter to replace M4 in our stack to use it directly the in skeletons, but I have an idea for how to build that from our buffer library.
I need eyes on this for now to help me see where I've gone blind from staring at it too long. What do your linters say?
Issues that came up along the way and I'll split out for the real PR:
- tests/array_nr was actually testing a reentrant case, so I renamed it array_r (important because of how the log_compilers use the suffixes)
- parallel make was breaking above -j16 and I traced it back to the removal of BUILT_SOURCES. I'll explain more fully in a separate PR.
- the Go backend was entirely fake so I turned it off for testing. It was just the C99 skeleton with C++ style comments.
- I don't know Go well enough to write this skeleton myself. What other language do we want to support first?
Yes, structs of function pointers are hideous backdoor OOP. I used them as the least bad option I now. I'm open to learning better patterns.
Thanks all!
I see that go has good standard and third party tooling for generating scanners, so please submit a pr to drop the go stuff as its own pr.
tests/array_nr: Please submit this as its own pr.
BUILT_SOURCES.: That'll teach me to go counter to what the automake manual recommends... I'm looking forward to that pr as well.
replace M4 in our stack
We want that anyway, regardless of the work on this particular pr.
BUILT_SOURCES.: That'll teach me to go counter to what the automake manual recommends... I'm looking forward to that pr as well.
The automake manual isn't very clear on what this variable does anyway. They should add an alias SYNCHRONIZE_ON_SOURCES for it to use in new code.