[HN Gopher] awkcc: awk-to-C transcompiler (1988, 2011) ___________________________________________________________________ awkcc: awk-to-C transcompiler (1988, 2011) Author : rdpintqogeogsaa Score : 36 points Date : 2022-01-09 19:52 UTC (3 hours ago) (HTM) web link (github.com) (TXT) w3m dump (github.com) | benhoyt wrote: | Interesting! I recently did something similar based on my GoAWK | interpreter (an AWK interpreter written in Go): I wrote a | compiler that tries to statically infer types and compile a | subset of AWK to Go source: https://benhoyt.com/writings/awkgo/ | My conclusion: | | > Is it useful? Not really. If you want performance, just use | Mawk! And if you want your text processing script in a more | maintainable language than AWK, you'd probably just write it in | something like Go from the start. You're pretty certain to end up | with more idiomatic Go that way, and it'll probably be more | efficient as well. | | > Still, if you have some AWK scripts lying around that you want | to convert to "real programs", AWKGo might not be a bad place to | start: you could compile a script to Go to get the structure, | then clean it up and maintain the cleaned-up version. | cogburnd02 wrote: | Interested parties should also check out awka | (https://github.com/noyesno/awka) and ELVM (which can compile C | into awk or sed, among various other things) | (https://github.com/shinh/elvm) | sanxiyn wrote: | > which can compile C into awk or sed, among various other | things | | What did I just read? | | Thanks a lot for letting us know about ELVM. Much appreciated. | gompertz wrote: | I actually have this code compiling and running from a few months | back with some minor compiler corrections; but was hesitant to | release to github because of the copyright. It was very difficult | to come across. | | I asked several people at Bell/Nokia if it would be okay to | release and they weren't sure if anyone cared (but couldn't | guarantee anything legally) ... Looks like they took the liberty | themselves... | | I'll try to find time to do a PR or fork of this copy with my | corrections and writeup for instructions. Imagine it's best I | just fork as can't fathom Nokia is going to approve PRs. | mustache_kimono wrote: | Curious: What kind of performance is gained by this over just | using awk? | gompertz wrote: | Probably extremely minimal if any; especially with all the | advances in Mawk/Gawk since 1988. | | The only immediate advantage being you can essentially turn | your Awk into a compiled exe with Awkcc. However it's | important to note that this is so old it only works with the | original Bell Labs Awk. | | Previously compiling directly from Awk to an executable was | only possible with Tawk (commercial version of Awk by | Thompson Automation... And long defunct). | tyingq wrote: | _linux build: Lex needs to be run on Solaris machine. awk.lx.c is | built on solaris, then modified by hand to remove the static | initialization of yyin and yyout._ | | That kind of situation is a fun throwback. ___________________________________________________________________ (page generated 2022-01-09 23:00 UTC)