This is a basic WML compiler. It takes the WML source and compiles into WML bytecode ready for transmission to a WAP device.
It is quite basic and has a lot of limitations, but things it can compile can be decompiled by wmld and vice versa.
So long as scripts and variables aren't involved, the pages compiled seem to work reasonably well in Nokia's WAP Toolkit and Ericsson's WAP SDK. It isn't most efficient, however, and the bytecode will be larger than other compilers. Optimisation is Coming Soon(tm).
In order to compile bytecode in which simple scripts can work there needs to be a mechanism for building up the string table and also finding out what tag is appropriate (other compilers use WMLG_STR_T, WMLG_EXT_T_2 or WMLG_EXT_I_2 to specify that a variable is coming and I don't know which one to use - or even if it makes a difference)
Usage: ./wmlc file.wml [output.wmlc]