libmawk is a fork of mawk 1.3.3 restructured for embedding. It allows you to embed awk interpreters in any application written in C or in a language that can interface C libraries. This allows the application to have plugins, configuration, run control, and AI written in awk. It extends the original feature set of mawk with modularity (C-style include), save/load of compiled bytecode, function calling by name-in-string (substitute for pointers/references), and accounting and limiting of memory and CPU use. While awk as a language does not offer OOP and complex data structures, it is still reasonably powerful. A major advantage is the short learning curve for new users.
|Operating Systems||Unix Linux macosx Windows|
Release Notes: Binary export of bytecode was implemented. It does not save disk space - the bytecode is bigger than the script. Instead it is the first step of a plan for supporting embedded/critical systems: splitting the library (compiler, execute), account and limit resource usage (memory, CPU), and I/O hooks (control files/processes access). The binary save/load function currently works only on 32-bit systems. Portability was improved, and memory handling was revised and limits were added.