(2023-04-26) Making VTL more AWKward ------------------------------------ First of all, I have created a restricted variant of my LVTL-O implementation, called LVTL-R. It limits the amount of generic variables to A-Z, disables input evaluation (only numbers are accepted, as in VTL02sg) and makes the ! and # operators the only possible versions of "or" and "xor". To be honest, it didn't help with any SLOC count reduction compared to the full-featured LVTL-O, so I'm not even sure it's worth publishing. If I do publish it, it will be in the same shar as the updated LVTL-O. Because, obviously, if I find any bug in LVTL-O, it must be fixed in LVTL-R as well. All these C versions are cool and fast but there is a small problem: they require a compiler to work. It's not always possible to cross-compile LVTL from your host PC for some embedded system (especially if it's something more exotic than a regular ARM), not even talking about trying to compile it on that embedded system itself. So you're basically stuck with the Busybox and... Wait. If this particular Busybox has awk command applet compiled in, it's something we can already live with. Because after I figured out all essential VTL-2 implementation details and wrote the reference code in C89, porting it to AWK turned out to be a piece of cake despite I don't know AWK as much. AWK allowed to simplify a lot of things, including the overall program execution flow and memory management, of course. Not without its own quirks (like the fact that all arrays in AWK are associative and string-keyed) but it took several hours to port and test my restricted flavor of VTL-2 to this language **and** make it compatible with both Busybox and GAWK (btw, I'm not sure what other flavors support bitwise operations, but they are absolutely vital here). For instance, I was a bit surprised when I discovered that GAWK doesn't support multiple pre-assignment in for loops while Busybox AWK allows them. I.e. a construct like for(i=0,l=length(s);i