needed to support most
cryptographic algorithms.  Several ``pseudo-functions'' were also
added to the language to make available the values of the
hardware key registers. 
The output of the front-end is an
Intermediate Representation Tree (IR tree).
It is possible to rewrite the front-end to generate IR trees from
another source language (say, a C subset) with minimal changes to the
back-end implemented in this project.