This directory contains encoder/decoder code for various encoding rules
(PER, DER, BER, XER) that work with the tables constructed by the compiler.
The compiler itself does not generate much code. It creates parsing tables
and then copies (links) over these files which contain generic codecs.
