|How can I get my act together on the backend of this compiler? email@example.com (luser droog) (2021-10-22)|
|Re: How can I get my act together on the backend of this compiler? DrDiettrich1@netscape.net (Hans-Peter Diettrich) (2021-10-23)|
|Re: How can I get my act together on the backend of this compiler? firstname.lastname@example.org (luser droog) (2021-11-12)|
|From:||luser droog <email@example.com>|
|Date:||Fri, 22 Oct 2021 17:58:16 -0700 (PDT)|
|Injection-Info:||gal.iecc.com; posting-host="news.iecc.com:2001:470:1f07:1126:0:676f:7373:6970"; logging-data="37746"; mail-complaints-to="firstname.lastname@example.org"|
|Posted-Date:||22 Oct 2021 21:43:01 EDT|
I've been working (playing) off and on with code for doing
parser combinators in C. And I filled it out with a K&R C
tokenizer and syntax analyzer so it produces as CST.
Some extra tree trimming and other gyrations to smooth
it out into something more like a usable AST.
And then I don't know what I'm doing anymore. I don't know
where best to study up to figure out how to write a
super amazing code generation backend that's fancy and
cryptic and short like I like.
Since the code itself is kinda stealing from FP literature,
I've been advised to look into "pattern matching" as an
appropriate FP technology to power my "middle end".
(My last question here was asking about how to power
my middle end.) And that has led to this article, which
kinda looks like exactly what I want...
Ondˇrej B ́ılka, Pattern matching in compilers. Prague 2012
And I've also put down the Forth books and picked up
good old Budge, /Recursive Programming Techniques/ 1975,
for my lunch breaks. A sort of proto-SICP AFAICT.
Is there anywhere else I should be looking for inspiration
for a really concise and elegant way to write and organise
the tree-walking code-generation code? Or is this paper
the thing, and I'm just not seeing it yet?
I hope this is technical enough for the forum, despite being
somewhat vague and unconstructive. Hoping the experts
here can give me a kick in the right direction.
Return to the
Search the comp.compilers archives again.